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