陳若冰
數字信號處理與現代生活息息相關,而數字濾波器是數字信號處理的重要基本元件。利用Matlab仿真設計出FIR數字濾波器,方便直觀,便于根據其特性和設計要求變化參數,調試整合達到所需濾波器。本文從以下三點講述:(1)FIR濾波器設計原理;(2)常用的三種設計FIR濾波器的方法的優劣比較;(3)最優化設計的實現。
【關鍵詞】FIR Matlab 最優化設計 等波紋切比雪夫逼近法
FIR濾波器即有限長單位沖激響應濾波器,因其能保證任意幅頻特性的同時具有嚴格線性的相頻特性,以及其單位響應無限長特性導致其必為穩定系統,在圖像處理、通信、語音、自動控制等多領域有廣泛利用。
1 FIR濾波器設計原理
如圖1:FIR濾波器基本結構可看為一個分節的延時線,把每一節輸出加權累加以得到濾波器的輸出。FIR設計核心是求出有限的脈沖響應來無限逼近給定的頻率響應。濾波器階數越高,運算時間越多,故在滿足設計要求下應盡量減少濾波器階數。
2 常用的三種設計FIR濾波器的方法的優劣比較
我們常用的是窗函數法,頻率采樣法,最優化設計法(采用最優化準則進行設計,雖有兩種準則,但是只有窗函數中的矩形窗滿足均方誤差最小化準則,卻因吉布斯效應使該法不能滿足設計要求,所以我們采用的是切比雪夫逼近準則)。
窗函數法的方法,先根據設計要求,選取合適的階數N和窗函數的類型w(n),使其幅頻特性逼近理想濾波器幅頻特性。然后加窗,其目的是截斷,將無限長的理想濾波器的頻率響應Hd(ejw)(由于窗函數法是在時域中進行,先將Hd(ejw)化為hd(n)),乘以窗函數w(n)產生一個被截斷的脈沖響應:h(n)=hd(n)w(n)。
頻率采樣法是從頻域出發,根據頻域采樣定理,對給定的理想濾波器的頻率響應Hd(ejw)加以等間隔的抽樣,得到:Hd(k)=Hd(ejw)\w2πk/N(k=0,1,…,N-1).再利用Hd(k)可求得FIR濾波器的系統函數H(Z)及頻率響應H(ejw)。該法必然有一定的逼近誤差,誤差的大小取決于理想頻響曲線的形狀,其變換越平緩,內插函數值越接近理想值,誤差越小。
最優設計法,它克服了以上兩法缺點,使最大誤差(即波紋的峰值)最小化,誤差在整個逼近頻段上均勻分布。通過對通帶和阻帶使用不同的加權函數,實現在不同頻段(通常指通帶和阻帶)的加權誤差最大值相同 ,從而實現其最大誤差在滿足性能指標的條件下達到最小值。
從表1的對比中,我們發現,基于Matlab設計FIR濾波器比較適合用最優化設計的方法,誤差小,性能好,經濟效益高,也方便調試參數。
3 最優化設計的實現
Matlab中利用最優化設計設計FIR數字濾波器的函數是remezord和remez函數。
(1)remezord函數(作用是估算濾波器近似階數N,歸一化頻率帶邊界Fo ,頻帶內幅值Ao ,各個頻帶內的加權系數W),F為頻帶邊緣頻率 ,A為各個頻帶期望的幅度值 ,dev是通帶和阻帶的偏差。函數格式為:[N,Fo,Ao,W]=remezord(F,A,DEV,Fs)
(2)remez函數利用多重交換迭代算法求解等波紋最佳逼近問題,求的滿足該準則的FIR數字濾波器的單位脈沖響應h(n):h=remez(N,Fo,Ao,W,ftype)
若事先不能確定要設計濾波器的階次,調用remezord后,利用b=remez(N,Fo,Ao,W),從而設計出所需要濾波器。remezord會高或低估濾波器的階數,得到濾波器的系數后,要檢查阻帶最小衰減是否滿足要求。若不能,則增加階數。最優化設計FIR數字濾波器的步驟是:
(1)給出所需的頻響,加權函數和濾波器的單位樣值響應h(n)的長度。
(2)由上面給定的參數來形成所需的頻率響應(頻域)等表達式。
(3)利用Remez多重交換迭代算法解決逼近問題。
(4)利用傅立葉逆變換計算出單位樣值響應。
4 結論
Matlab的使用為設計DIR濾波器提供了極大便利,方便多次修改參數,調整設計方法,仿真檢驗濾波器性能等等以實現使濾波器更好的性能。
參考文獻
[1]馬月紅等.基于Matlab的FIR數字濾波器設計與仿真[J].電子測量技術,2010,11(33).
[2]萬永革.數字信號處理的MATLAB實現[M].北京:科學出版社,2007.
[3]Rolf Schaumann.Analog Filter Design3nd Indian Edition[J].Oxford University Press,2013:296-298.
[4]張德豐.詳解MATLAB數字信號處理[M].北京:電子工業出版社,2010.
作者單位
蘭州大學信息科學與工程學院 甘肅省蘭州市 730100