《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于DSP Builder的子帶分解自適應(yīng)濾波器的FPGA實現(xiàn)
基于DSP Builder的子帶分解自適應(yīng)濾波器的FPGA實現(xiàn)
摘要: 自適應(yīng)濾波器已經(jīng)廣泛應(yīng)用于信道均衡,、回聲取消,、系統(tǒng)識別、頻譜估計等各個方面,?;谧訋Х纸獾淖赃m應(yīng)濾波在提高收斂性能的同時又節(jié)省了一定的計算量,。
Abstract:
Key words :

  自適應(yīng)濾波器已經(jīng)廣泛應(yīng)用于信道均衡、回聲取消,、系統(tǒng)識別,、頻譜估計等各個方面?;?a class="innerlink" href="http://forexkbc.com/tags/子帶分解" title="子帶分解" target="_blank">子帶分解的自適應(yīng)濾波在提高收斂性能的同時又節(jié)省了一定的計算量,。基于子帶分解的自適應(yīng)濾波是先將輸入信號與參考信號經(jīng)過分解濾波器組進行子帶分解、抽取,、子帶自適應(yīng)濾波,、內(nèi)插、通過合成濾波器組得到輸出信號,?;谧訋Х纸獾淖赃m應(yīng)濾波器的優(yōu)點:

  (1)由于對信號的抽取,使完成自適應(yīng)濾波所需的計算量得以減少,;

  (2)在子帶進行自適應(yīng)濾波使收斂性能有所提高,。

  l 基于子帶分解的自適應(yīng)濾波結(jié)構(gòu)

  基于子帶分解的自適應(yīng)濾波,其時域結(jié)構(gòu)如圖1所示,。將輸入信號x(n)和參考信號d(n)分別進行子帶分解,,抽取,在子帶上進行自適應(yīng)濾波,,再將子帶上的估計信號y0(n)和y1(n)經(jīng)內(nèi)插和合成濾波器組得到最后的合成信號,。其中濾波器W00(n)和W11(n)是兩個子帶上的自適應(yīng)濾波器,而W01(n)和W10(n)表示子帶間自適應(yīng)濾波器,。這是由于濾波器組均是FIR濾波器,,不可能有銳截止的理想特性,只能以長度為代價來換取近似的特性,;這時在嚴格采樣下得到的子帶信號必然有混疊,,需加入子帶間濾波以消除其影響。這里的子帶自適應(yīng)濾波器采用基于NLMS算法自適應(yīng)濾波器,。NLMS算法和LMS算法相比,。雖然計算量稍有增加,但可使得自適應(yīng)濾波器收斂速度大大提高,。


  2 雙通道濾波器組的設(shè)計

  本文采用的分析和綜合濾波器之間的關(guān)系如下:

  H1(z)=H0(-z),,G1(z)=-2H0(-z),G0(z)=2H1(-z),。由上述表達式可知設(shè)計的關(guān)鍵是設(shè)計H0(z),,只要H0(z)確定,H1(z),,G0(z),,G1(z)也可確定。本文采用等波紋逼近設(shè)計法進行濾波器設(shè)計,。該方法設(shè)計的濾波器呈現(xiàn)等波紋頻響特性,。等波紋逼近設(shè)計法設(shè)計的濾波器具有如下優(yōu)點:

  (1)由于誤差均勻分布于整個頻帶,對固定的階數(shù)N,,可以得到最優(yōu)良的濾波特性,;

  (2)通帶最平坦,,阻帶最小衰減達到最大。

  Matlab集成了一套強大的濾波器設(shè)計工具FDATOOL,,可以完成多種濾波器的設(shè)計,、分析和性能*估。本文中FPGA硬件實現(xiàn)部分用到的4個FIR濾波器的頻率特性曲線見圖2,。


  3 系統(tǒng)建模與仿真

  DSP Builder是Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)級工具,,它是作為Matlab的一個Simulink工具箱(ToolBox)出現(xiàn)的。DSP Bui-lder作為Simulink中的一個工具箱,,使得在使用FPGA設(shè)計DSP系統(tǒng)時完全可以通過Simulink的圖形化界面進行,,只需簡單地進行DSP Builder工具箱中的模塊調(diào)用即可。

  圖3中的基于子帶分解的自適應(yīng)濾波器模塊框圖系統(tǒng)由分析濾波器子系統(tǒng)h00,,h01,,h10,,h11,,綜合濾波器子系統(tǒng)g00,g01,、抽取,,插值,加法,,減法器,,自適應(yīng)濾波器等模塊組成。h00和h10是完全一模一樣的低通濾波器,,h01和h11是完全一模一樣的高通濾波器,。h00,h01,,g00,,g01的幅頻特性曲線見圖2。h00對應(yīng)圖2中的h0,,h01對應(yīng)圖中的h1,,g00對應(yīng)圖中的g0,g01對應(yīng)圖中的g1,。Subysteml,,Subyst-em2,Subystem3,,Subystem4是自適應(yīng)濾波器,。Subystem2,Subystem3自適應(yīng)濾波器的階數(shù)是Subysteml,,Subystem4階數(shù)的1/20,。期望信號由sine wavel模塊提供,輸入信號由Sine wave2和Random Bitstream疊加在一起的信號組成。系統(tǒng)所需的模塊都是直接調(diào)用DSP builder中的模塊,。Subystem2是7階NLMS算法自適應(yīng)濾波器,,其框圖見圖4。如果調(diào)高提高收斂速度,,則可增加延遲模塊,、自適應(yīng)子系統(tǒng)模塊,加法器模塊即可,,但需消耗更多的硬件資源,。

  自適應(yīng)濾波器模塊主要由延遲單元,權(quán)值更新子系統(tǒng),、加法器模塊,,乘法器模塊組成。它是將抽取過后的信號進行自適應(yīng)濾波,。

  FIR濾波器的單位沖激響應(yīng)是有限長的,,其z變換為。分析和綜合濾波器系統(tǒng)主要由延遲單元,、加法器,、加法器模塊組成。分析和綜合濾波器不可能有銳截止的理想特性,,必須通過增加階數(shù)來逼近,。分析濾波器子系統(tǒng)h00,h01,,h10,,h11,綜合濾波器子系統(tǒng)g00,,g01均采用橫截型結(jié)構(gòu),。

  權(quán)值更新子系統(tǒng)模塊主要由乘法器、除法器,、加法器,、延遲單元、總線類型轉(zhuǎn)換等模塊組成,。該子系統(tǒng)主要完成濾波器的權(quán)值更新,。w(k+1)=w(k)+μ/γ+xT(k)x(k)e(k)x(k)運算和wi(k)xi(k)運算。

  4 仿真

  Matlab的Simulink環(huán)境具有強大的圖形化仿真驗證功能,,用DSP Builder模塊設(shè)計好一個新的模型后,,可以直接在Simulink中進行算法級、系統(tǒng)級仿真驗證,。該設(shè)計的Simulink仿真如圖6所示,,輸出信號含有毛刺,,這說明輸出信號與期望信號還有一定的穩(wěn)態(tài)誤差??梢酝ㄟ^增加濾波器的階數(shù),,或修改步長控制參數(shù)μ,以達到更好的效果,。

  運行Signal complier可將通過Simulink的模塊文件(.mdl)轉(zhuǎn)換成通過的硬件描述語言VHDL文件,;運行Testbench(測試平臺)可將Sine wavel、Sinewavel+noise,、Clock轉(zhuǎn)換成針對HDL仿真器ModelSim的測試文件,。由圖7可知輸出信號Sine out逐漸趨于穩(wěn)定,逼近與期望信號sine wavel,,因此設(shè)計結(jié)果滿足要求,,能夠?qū)崿F(xiàn)自適應(yīng)過程。

  5 結(jié)語

  本文只是從硬件的角度出發(fā)設(shè)計兩個子帶自適應(yīng)濾波器的FPGA實現(xiàn),。由于分解濾波器組的非理想特性,,有必要采取子帶間濾波,子帶間的濾波可大大提高收斂速度,。子帶自適應(yīng)濾波器的設(shè)計和研究過程是比較復(fù)雜的,,這里就主要的設(shè)計研究思想做了一個闡述,鑒于設(shè)計中的自適應(yīng)濾波器的階數(shù)選取相對較小,,因而對自適應(yīng)濾波器的穩(wěn)態(tài)誤差有一定的影響,通過增加自適應(yīng)濾波器的階數(shù),,分析和綜合濾波器的階數(shù),、數(shù)據(jù)的位數(shù)來提高精度。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。