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