子帶分解的自適應(yīng)濾波器的FPGA實(shí)現(xiàn)
自適應(yīng)濾波器模塊主要由延遲單元,權(quán)值更新子系統(tǒng)、加法器模塊,乘法器模塊組成。它是將抽取過后的信號(hào)進(jìn)行自適應(yīng)濾波。
FIR濾波器的單位沖激響應(yīng)是有限長(zhǎ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)運(yùn)算和wi(k)xi(k)運(yùn)算。
4 仿真
Matlab的Simulink環(huán)境具有強(qiáng)大的圖形化仿真驗(yàn)證功能,用DSP Builder模塊設(shè)計(jì)好一個(gè)新的模型后,可以直接在Simulink中進(jìn)行算法級(jí)、系統(tǒng)級(jí)仿真驗(yàn)證。該設(shè)計(jì)的Simulink仿真如圖6所示,輸出信號(hào)含有毛刺,這說明輸出信號(hào)與期望信號(hào)還有一定的穩(wěn)態(tài)誤差??梢酝ㄟ^增加濾波器的階數(shù),或修改步長(zhǎng)控制參數(shù)μ,以達(dá)到更好的效果。
運(yùn)行Signal complier可將通過Simulink的模塊文件(.mdl)轉(zhuǎn)換成通過的硬件描述語言VHDL文件;運(yùn)行Testbench(測(cè)試平臺(tái))可將Sine wavel、Sinewavel+noise、Clock轉(zhuǎn)換成針對(duì)HDL仿真器ModelSim的測(cè)試文件。由圖7可知輸出信號(hào)Sine out逐漸趨于穩(wěn)定,逼近與期望信號(hào)sine wavel,因此設(shè)計(jì)結(jié)果滿足要求,能夠?qū)崿F(xiàn)自適應(yīng)過程。
5 結(jié)語
本文只是從硬件的角度出發(fā)設(shè)計(jì)兩個(gè)子帶自適應(yīng)濾波器的FPGA實(shí)現(xiàn)。由于分解濾波器組的非理想特性,有必要采取子帶間濾波,子帶間的濾波可大大提高收斂速度。子帶自適應(yīng)濾波器的設(shè)計(jì)和研究過程是比較復(fù)雜的,這里就主要的設(shè)計(jì)研究思想做了一個(gè)闡述,鑒于設(shè)計(jì)中的自適應(yīng)濾波器的階數(shù)選取相對(duì)較小,因而對(duì)自適應(yīng)濾波器的穩(wěn)態(tài)誤差有一定的影響,通過增加自適應(yīng)濾波器的階數(shù),分析和綜合濾波器的階數(shù)、數(shù)據(jù)的位數(shù)來提高精度。
評(píng)論