摘 要:基于子帶分解的自適應濾波器在提高收斂性能的同時又可以節(jié)省一定的計算量。采用Altera 公司的仿真軟件Altera DSP Builder 和Quartus Ⅱ7.2進行子帶分解的NLMS算法的自適應濾波器現(xiàn)場可編程門陣列設計, 利用Simulink和ModelSim對設計方案進行了模型仿真和功能仿真,達到較好的效果。
關鍵詞:子帶分解; DSP Builder; 自適應濾波器; FPGA
中圖分類號:TN911.72文獻標識碼:A
文章編號:1004-373X(2010)08-0013-03
FPGA Realization of Self-adaptive Filter Based on Subband Decomposition
ZHANG Yin-hang, YANG Xiao-xue
(School of Information of Science and Technology, Southwest Jiaotong University, Chengdu610031, China)
Abstract:The self-adaptive filter based on subband decomposition can improve convergence speed and save computation. The field programmable gate array (FPGA) design of the self-adaptive filter based on subband decomposition NLMS algorithm is accomplishedwith the simulation softwares Altera DSP Builder and QUARTUS Ⅱ7.2. The design scheme was demonstrated with Simulink for model simulation and the ModelSim for function simulation. A good result was achieved.
Keywords:subband decomposition; DSP Builder; self-adaptive filter; FPGA
0 引 言
自適應濾波器已經(jīng)廣泛應用于信道均衡、回聲取消、系統(tǒng)識別、頻譜估計等各個方面。基于子帶分解的自適應濾波在提高收斂性能的同時又節(jié)省了一定的計算量。基于子帶分解的自適應濾波是先將輸入信號與參考信號經(jīng)過分解濾波器組進行子帶分解、抽取、子帶自適應濾波、內插、通過合成濾波器組得到輸出信號。基于子帶分解的自適應濾波器的優(yōu)點[1-3]:
(1) 由于對信號的抽取,使完成自適應濾波所需的計算量得以減少;
(2) 在子帶進行自適應濾波使收斂性能有所提高。
1 基于子帶分解的自適應濾波結構
基于子帶分解的自適應濾波,其時域結構如圖1所示[3]。將輸入信號x(n)和參考信號d(n)分別進行子帶分解,抽取,在子帶上進行自適應濾波,再將子帶上的估計信號y0(n)和y1(n)經(jīng)內插和合成濾波器組得到最后的合成信號。其中濾波器W00(n)和W11(n)是兩個子帶上的自適應濾波器,而W01(n)和W10(n)表示子帶間自適應濾波器。這是由于濾波器組均是FIR濾波器,不可能有銳截止的理想特性,只能以長度為代價來換取近似的特性;這時在嚴格采樣下得到的子帶信號必然有混疊,需加入子帶間濾波以消除其影響[4-5]。這里的子帶自適應濾波器采用基于NLMS算法自適應濾波器。NLMS算法和LMS算法相比,雖然計算量稍有增加,但可使得自適應濾波器收斂速度大大提高。
圖1 基于子帶分解的自適應濾波器框圖
2 雙通道濾波器組的設計
本文采用的分析和綜合濾波器之間的關系如下:
H1(z)=H0(-z),G1(z)=-2H0(-z),G0(z)=2H1(-z)。由上述表達式可知設計的關鍵是設計H0(z),只要H0(z)確定,H1(z),G0(z),G1(z)也可確定。本文采用等波紋逼近設計法進行濾波器設計。該方法設計的濾波器呈現(xiàn)等波紋頻響特性。等波紋逼近設計法設計的濾波器具有如下優(yōu)點[6]:
(1) 由于誤差均勻分布于整個頻帶,對固定的階數(shù)N,可以得到最優(yōu)良的濾波特性;
(2) 通帶最平坦,阻帶最小衰減達到最大。
Matlab集成了一套強大的濾波器設計工具FDATOOL,可以完成多種濾波器的設計、分析和性能評估[7]。本文中FPGA硬件實現(xiàn)部分用到的4個FIR濾波器的頻率特性曲線見圖2。
圖2 4個FIR濾波器的幅頻特性曲線
3 系統(tǒng)建模與仿真
DSP Builder是Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)級工具,它是作為Matlab的一個Simulink工具箱(ToolBox)出現(xiàn)的。DSP Builder作為Simulink中的一個工具箱,使得在使用FPGA設計DSP系統(tǒng)時完全可以通過Simulink的圖形化界面進行,只需簡單地進行DSP Builder工具箱中的模塊調用即可[8]。
圖3 基于子帶分解的自適應濾波器模塊框圖
圖3中的基于子帶分解的自適應濾波器模塊框圖系統(tǒng)由分析濾波器子系統(tǒng)h00,h01,h10,h11,綜合濾波器子系統(tǒng)g00,g01、抽取,插值,加法,減法器,自適應濾波器等模塊組成。h00和h10是完全一模一樣的低通濾波器,h01和h11是完全一模一樣的高通濾波器。h00,h01,g00,g01的幅頻特性曲線見圖2。h00對應圖2中的h0,h01對應圖中的h1,g00對應圖中的g0,g01對應圖中的g1。Subystem1,Subystem2,Subystem3,Subystem4是自適應濾波器。Subystem2,Subystem3自適應濾波器的階數(shù)是Subystem1,Subystem4階數(shù)的1/20。期望信號由Sine wave1模塊提供,輸入信號由Sine wave2和Random Bitstream疊加在一起的信號組成。系統(tǒng)所需的模塊都是直接調用DSP builder中的模塊。Subystem2是7階NLMS算法自適應濾波器,其框圖見圖4。如果調高提高收斂速度,則可增加延遲模塊、自適應子系統(tǒng)模塊,加法器模塊即可,但需消耗更多的硬件資源。
自適應濾波器模塊主要由延遲單元,權值更新子系統(tǒng)、加法器模塊,乘法器模塊組成。它是將抽取過后的信號進行自適應濾波。
FIR濾波器的單位沖激響應是有限長的,其z變換為H(z)=∑N-1n=0h(n)z-n。分析和綜合濾波器系統(tǒng)主要由延遲單元、加法器、加法器模塊組成[9]。分析和綜合濾波器不可能有銳截止的理想特性,必須通過增加階數(shù)來逼近。分析濾波器子系統(tǒng)h00,h01,h10,h11,綜合濾波器子系統(tǒng)g00,g01均采用橫截型結構。
圖4 自適應濾波器模塊框圖
權值更新子系統(tǒng)模塊主要由乘法器、除法器、加法器、延遲單元、總線類型轉換等模塊組成。該子系統(tǒng)主要完成濾波器的權值更新。w(k+1)=w(k)+μ/γ+xT(k)x(k)e(k)x(k)運算[10]和wi(k)xi(k)運算。
4 仿 真
Matlab的Simulink環(huán)境具有強大的圖形化仿真驗證功能,用DSP Builder模塊設計好一個新的模型后,可以直接在Simulink中進行算法級、系統(tǒng)級仿真驗證。該設計的Simulink仿真如圖6所示,輸出信號含有毛刺,這說明輸出信號與期望信號還有一定的穩(wěn)態(tài)誤差。可以通過增加濾波器的階數(shù),或修改步長控制參數(shù)μ,以達到更好的效果。
運行Signal complier可將通過Simulink的模塊文件(.mdl)轉換成通過的硬件描述語言VHDL文件;運行Testbench(測試平臺)可將Sine wave1、Sine wave1+noise、Clock轉換成針對HDL仿真器ModelSim的測試文件。由圖7可知輸出信號Sine out逐漸趨于穩(wěn)定,逼近與期望信號sine wave1,因此設計結果滿足要求,能夠實現(xiàn)自適應過程。
圖5 權值更新子系統(tǒng)模塊框圖
圖6 Simulink仿真波形圖
圖7 ModelSim仿真波形圖
5 結 語
本文只是從硬件的角度出發(fā)設計兩個子帶自適應濾波器的FPGA實現(xiàn)。由于分解濾波器組的非理想特性,有必要采取子帶間濾波,子帶間的濾波可大大提高收斂速度。子帶自適應濾波器的設計和研究過程是比較復雜的,這里就主要的設計研究思想做了一個闡述,鑒于設計中的自適應濾波器的階數(shù)選取相對較小,因而對自適應濾波器的穩(wěn)態(tài)誤差有一定的影響,通過增加自適應濾波器的階數(shù),分析和綜合濾波器的階數(shù)、數(shù)據(jù)的位數(shù)來提高精度。
參考文獻
[1] \\赫金. 自適應濾波器原理[M]. 4版. 鄭寶玉, 譯. 北京:電子工業(yè)出版社, 2003.
[2]Diniz P S R. 自適應濾波算法與實現(xiàn)[M]. 2版. 劉郁林, 譯. 北京:電子工業(yè)出版社, 2004.
[3]何振亞. 自適應信號處理[M]. 北京:科學出版社, 2002.
[4]GILLOIRE A, VETTERLI M. Adaptive filtering in sub-bands with critical sampling:analysis, experiments,and application to acoustic echo cancellation[J]. IEEE Trans. onSiganl Processing, 1992, 40(8): 1682-1875.
[5]WEISS S, HARTENECK M, STEWART R W. On implementation and design of filterbanks for subband adaptive systems[C]// IEEE. Workshop Signal Processing. \\: IEEE, 1998: 172–181.
[6]何兵, 陳健. 基于NLMS線性相位FIR濾波器的自適應設計[J]. 上海交通大學學報, 2000, 34(2): 266-268.
[7]田耘, 徐紋波, 張延偉. 無線通信FPGA設計[M]. 北京: 電子工業(yè)出版社, 2008.
[8]潘松, 黃繼業(yè), 王國棟. 現(xiàn)代DSP技術[M]. 西安: 西安電子科技大學出版社, 2003.
[9]尹曉琦,殷奎喜. 基于CPLD 的FIR 數(shù)字濾波器的設計與仿真[J]. 微計算機信息, 2008, 24(2): 227-228.
[10]倪錦根, 李鋒. 變步長NLMS自適應濾波算法研究[J]. 計算機應用與軟件, 2009, 26(1): 248-250.