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