LMS自適應濾波器在激波報靶系統(tǒng)中的應用
前言
由空氣動力學原理,當超音速運動的物體,由于運動速度大于局部聲速時會產(chǎn)生激波,彈道聲波是超聲速彈丸飛行時沖擊空氣分子所形成的激波( Shock waves)。采用激波原理進行報靶是一項具有挑戰(zhàn)性的技術,它利用激波信號進行超音速飛行體探測,是一種新的目標探測方法。本文研究對象為移動靶車,該遙控自動裝置自帶電源和動力裝置,能在 25Km/h內(nèi)無級調(diào)速,但是,由于其工作環(huán)境比較惡劣,自身振動、風吹、發(fā)電機和電動機的巨大干擾,嚴重影響了自動報靶系統(tǒng)的報靶精度。為了適應現(xiàn)代化部隊訓練的需要,本文采用 FPGA和自適應濾波技術,利用硬件電路來實現(xiàn) LMS自適應濾波器,完成對強背景噪聲環(huán)境下激波信號的濾波,在滿足實時數(shù)據(jù)處理前提下,以提高報靶系統(tǒng)的報靶精度。
1 問題的提出及方案選取
本設計起初設計電路采用的模擬高通濾器,后來又設計成帶通濾波器,然而通過實踐發(fā)現(xiàn),其濾波效果都比較差,難以滿足系統(tǒng)精度的要求;采用通用 DSP數(shù)字信號處理器件用軟件設計數(shù)字濾波器,其數(shù)據(jù)吞吐率、處理速度和實時性遠不如基于 FPGA硬件實現(xiàn)的數(shù)字濾波器,因為,基于 FPGA的數(shù)字濾器代表了未來數(shù)字信號處理的發(fā)展方向,用戶可以很方便
吳學禮:博士生導師?;痦椖浚嚎倕④娪柡捅N部項目
的結合實際需要設計出自己的可編程數(shù)字信號處理芯片,現(xiàn)在已經(jīng)較為廣泛地應用在高端數(shù)字信號處理領域。
自適應濾波器的常用實現(xiàn)形式有 FIR和IIR兩種,而 FIR濾波器是實際應用較為廣泛的一種,F(xiàn)IR濾波器只有可調(diào)的零點,因此它沒有 IIR因兼有可調(diào)的零點和極點而帶來的不穩(wěn)定問題,此外,LMS計算量小,易于硬件實現(xiàn),故本文采用的濾波器是基于FIR基礎之上構建的 LMS自適應濾波器。
2 系統(tǒng)設計結構
本文所涉及的激波信號處理部分的整體結構框圖如圖 1所示,由信號采集傳感器、模數(shù)轉(zhuǎn)換器件、FPGA器件、數(shù)模轉(zhuǎn)換器件構成。高速瞬態(tài)的激波信號被超聲波傳感器捕獲以后,經(jīng)過適當調(diào)理送到 AD轉(zhuǎn)換器件,本設計采用 MAX197AD轉(zhuǎn)換器件,由 FPGA設計的狀態(tài)機對其控制,進行 AD轉(zhuǎn)換,然后再進入基于 FPGA設計的自適應濾波器中濾波,最后再進行 DA轉(zhuǎn)換傳輸?shù)胶罄m(xù)處理電路,由于本設計的主要任務是設計基于 LMS算法的自適應濾波器,其它部分將不作詳述。
500)this.style.width=500;" border="0" />
3 LMS自適應濾波器設計
LMS算法是以期望響應和濾波器輸出信號之間的均方值為準則,依據(jù)輸入信號在迭代過程中估計梯度矢量,并更新權值系數(shù)以達到最有效的一種自適應迭代算法,它在優(yōu)化方法中采用了基于隨機梯度的最速下降法。根據(jù) LMS算法的實現(xiàn)過程,在 FPGA實現(xiàn)時,可以分為主要的幾個模塊:FIR濾波器模塊、誤差計算模塊、權值存儲模塊、權值更新模塊以及控制模塊。其模塊框圖如圖 2所示。設計中采用 VHDL語言設計,根據(jù) MAX197的轉(zhuǎn)換要求,其輸出為 12位寬度的數(shù)字信號,因此,此處采用 12位并行數(shù)據(jù)輸入,12并行數(shù)據(jù)輸出,權值系數(shù)的數(shù)據(jù)寬度為 16位,reset為系統(tǒng)復位,高電平有效,clk為系統(tǒng)時鐘,firen為 FIR濾波器使能,suben為誤差計算模塊使能,cuncuen為權值存儲模塊使能,coffen為權值更新模塊使能,都為高電平有效。 [!--empirenews.page--]
500)this.style.width=500;" border="0" />
4 自適應濾波器的 FPGA實現(xiàn)
4.1 N階 FIR濾波器模塊的設計
500)this.style.width=500;" border="0" />
在設計中,為了節(jié)省 FPGA的內(nèi)部資源,提高利用效率,此處采用串行乘加的方法實現(xiàn)。 FIR濾波器模塊實現(xiàn) 16階的 FIR濾波,輸入量主要包括 AD轉(zhuǎn)換后的激波信號數(shù)據(jù)的輸入和權值系數(shù)的輸入,xin是 AD轉(zhuǎn)換后的輸出信號,為 12位字寬,其中 1位符號位,10位精度位,將此信號存儲在深度為 N的 RAM中作為 16階 FIR濾波器的輸入;FIR的權系數(shù) win存儲在另外一個 RAM中,字寬 16位,其中最高位為符號位。通過控制模塊輸出地址信號控制讀各個存儲模塊的讀寫動作,此處的乘法器為 28位有符號數(shù)的乘法器,加法器完成累加任務,當 16階乘法以及累加運算做完后,由控制模塊輸出 youten信號,對鎖存的數(shù)據(jù)進行有效截取,然后輸出。其實現(xiàn)的框圖如圖 3所示。在該設計中,采用 VHDL語言編程完成,生成對應的頂層原理符號,然后按設計方案把它們連接成頂層原理圖。
500)this.style.width=500;" border="0" />
4.2控制模塊本模塊主要是控制從激波數(shù)據(jù)輸入模塊和權系數(shù)輸入模塊讀取數(shù)據(jù)輸入信號和權系數(shù)到乘法器的輸入端,同時還控制累加器完成累加任務,然后產(chǎn)生一個使能信號,對輸出數(shù)據(jù)進行截取操作,然后輸出到下一級模塊中。本模塊為整個系統(tǒng)的核心部分,它主要完成:初始化各個模塊;根據(jù)系統(tǒng)時鐘產(chǎn)生各個模塊的控制信號,控制每個單元完成特定的工作;采用整體流水線和局部流水線的方式,協(xié)調(diào)各個模塊工作,從而提高整個濾波系統(tǒng)的整體性能。
4.3計算模塊
本模塊包括:誤差計算模塊和權值計算模塊。誤差模塊實際就是一個減法器,主要計算 FIR濾波器輸出和期望值之間的誤差,然后,在控制模塊的作用下,當誤差滿足設計要求時,便使能其輸出,得到最終的輸出結果。在權值計算模塊中,綜合考慮收斂性和設計實現(xiàn),設定 u=1/4092,即 u=10H,這樣只需對誤差計算模塊的誤差輸出進行移位運算即可實現(xiàn),省掉了乘法器的使用,節(jié)省了 FPGA資源,提高了計算速度,另外,在計算 2ue(k)x(k)時,可以在 e(k)與 x(k)相乘后直接右移 12位,即可得出權值變量。
5 自適應濾波器的仿真與校驗
在 Quartus II6.0綜合環(huán)境下,首先對輸入設計文件( .vhd、.bdf)進行編譯(包括建庫、
邏輯綜合、器件適配、仿真數(shù)據(jù)截取等),系統(tǒng)自動編譯完成后自動生成 .pof文件,然后通過 JTAG下載電纜把 .pof文件下載到 FPGA器件中即可。本設計選用 CycloneII系列的 EP2C8Q208C8芯片,系統(tǒng)時鐘為 20MHz,輸入信號、參考輸入和濾波器輸出都是 12位,考慮到 FPGA還要實現(xiàn)其它功能,因此在進行系統(tǒng)的芯片選型時,留有較大的冗余量。實驗時,調(diào)試電路板從計算機中讀取輸入數(shù)據(jù)到 FPGA中,然后經(jīng)過 FPGA處理后,將處理的數(shù)據(jù)送回計算機中。
仿真時,設期望信號為 900,輸入信號為 500,實際輸出為 895,誤差為 5,在 63.2us處收斂到穩(wěn)定狀態(tài)。其時序仿真波形如圖 4所示。
500)this.style.width=500;" border="0" /> [!--empirenews.page--]
用LabVIEW編寫的上層軟件采集激波數(shù)據(jù),以txt文件格式保存。應用MATLAB的load命令,繪制出圖 5上半部分的激波信號,據(jù)圖明顯看出,彈丸穿過靶平面時的激波混雜有大量高低頻干擾。為了驗證上述自適應濾波器的濾波能力,在進行實驗時,將此數(shù)據(jù)送入到FPGA中進行處理,再送回到計算機中,運用繪圖軟件繪制其濾波結果,其濾波結果見圖5。
500)this.style.width=500;" border="0" />
從上圖可以看出,在強噪聲干擾下,很難分辨出真實有效的有用信號,采用 LMS自適應濾波器進行濾波后,能夠真實有效地濾除干擾噪聲。
6 結束語
本文利用 FPGA器件實現(xiàn)了基于 LMS自適應 FIR濾波器,由上述實驗結果可以看出,基于 FPGA實現(xiàn)的自適應濾波器,能夠?qū)崟r有效地濾除摻雜在激波信號中的噪聲,能夠準確捕捉到真實的激波信號,為后續(xù)部分處理奠定了堅實的基礎,從而為提高自動報靶系統(tǒng)的報靶精度奠定了堅實基礎。
本文作者創(chuàng)新點:將先進的 FPGA技術和自適應濾波技術應用于自動報靶中,實現(xiàn)了基于 FPGA的自適應濾波器,對整個激波信號處理系統(tǒng)進行了重大改進,提高了移動報靶系統(tǒng)的報靶精度。