LMS自適應濾波器在激波報靶系統中的應用
本文引用地址:http://dyxdggzs.com/article/163666.htm
4 自適應濾波器的 FPGA實(shí)現
4.1 N階 FIR濾波器模塊的設計
在設計中,為了節省 FPGA的內部資源,提高利用效率,此處采用串行乘加的方法實(shí)現。 FIR濾波器模塊實(shí)現 16階的 FIR濾波,輸入量主要包括 AD轉換后的激波信號數據的輸入和權值系數的輸入,xin是 AD轉換后的輸出信號,為 12位字寬,其中 1位符號位,10位精度位,將此信號存儲在深度為 N的 RAM中作為 16階 FIR濾波器的輸入;FIR的權系數 win存儲在另外一個(gè) RAM中,字寬 16位,其中最高位為符號位。通過(guò)控制模塊輸出地址信號控制讀各個(gè)存儲模塊的讀寫(xiě)動(dòng)作,此處的乘法器為 28位有符號數的乘法器,加法器完成累加任務(wù),當 16階乘法以及累加運算做完后,由控制模塊輸出 youten信號,對鎖存的數據進(jìn)行有效截取,然后輸出。其實(shí)現的框圖如圖 3所示。在該設計中,采用 VHDL語(yǔ)言編程完成,生成對應的頂層原理符號,然后按設計方案把它們連接成頂層原理圖。
4.2控制模塊本模塊主要是控制從激波數據輸入模塊和權系數輸入模塊讀取數據輸入信號和權系數到乘法器的輸入端,同時(shí)還控制累加器完成累加任務(wù),然后產(chǎn)生一個(gè)使能信號,對輸出數據進(jìn)行截取操作,然后輸出到下一級模塊中。本模塊為整個(gè)系統的核心部分,它主要完成:初始化各個(gè)模塊;根據系統時(shí)鐘產(chǎn)生各個(gè)模塊的控制信號,控制每個(gè)單元完成特定的工作;采用整體流水線(xiàn)和局部流水線(xiàn)的方式,協(xié)調各個(gè)模塊工作,從而提高整個(gè)濾波系統的整體性能。
4.3計算模塊
本模塊包括:誤差計算模塊和權值計算模塊。誤差模塊實(shí)際就是一個(gè)減法器,主要計算 FIR濾波器輸出和期望值之間的誤差,然后,在控制模塊的作用下,當誤差滿(mǎn)足設計要求時(shí),便使能其輸出,得到最終的輸出結果。在權值計算模塊中,綜合考慮收斂性和設計實(shí)現,設定 u=1/4092,即 u=10H,這樣只需對誤差計算模塊的誤差輸出進(jìn)行移位運算即可實(shí)現,省掉了乘法器的使用,節省了 FPGA資源,提高了計算速度,另外,在計算 2ue(k)x(k)時(shí),可以在 e(k)與 x(k)相乘后直接右移 12位,即可得出權值變量。
5 自適應濾波器的仿真與校驗
在 Quartus II6.0綜合環(huán)境下,首先對輸入設計文件( .vhd、.bdf)進(jìn)行編譯(包括建庫、
邏輯綜合、器件適配、仿真數據截取等),系統自動(dòng)編譯完成后自動(dòng)生成 .pof文件,然后通過(guò) JTAG下載電纜把 .pof文件下載到 FPGA器件中即可。本設計選用 CycloneII系列的 EP2C8Q208C8芯片,系統時(shí)鐘為 20MHz,輸入信號、參考輸入和濾波器輸出都是 12位,考慮到 FPGA還要實(shí)現其它功能,因此在進(jìn)行系統的芯片選型時(shí),留有較大的冗余量。實(shí)驗時(shí),調試電路板從計算機中讀取輸入數據到 FPGA中,然后經(jīng)過(guò) FPGA處理后,將處理的數據送回計算機中。
仿真時(shí),設期望信號為 900,輸入信號為 500,實(shí)際輸出為 895,誤差為 5,在 63.2us處收斂到穩定狀態(tài)。其時(shí)序仿真波形如圖 4所示。
評論