摘要 通過實例介紹了基于Matlab的FIR濾波器的優(yōu)化設(shè)計方法,。3種結(jié)果比較發(fā)現(xiàn),,在同樣階數(shù)下,,優(yōu)化設(shè)計可以獲得最佳的頻率特性和衰耗特性。
關(guān)鍵詞 數(shù)字濾波器;Matlab;FIR;IIR,;優(yōu)化設(shè)計
數(shù)字濾波在數(shù)字信號處理中,占有重要的地位,。數(shù)字濾波包括FIR和IIR兩種濾波方式,,其中FIR濾波具有很多優(yōu)點,可以在幅度特性隨意設(shè)計的同時,,保證精確,、嚴(yán)格的線性相位,濾波穩(wěn)定,,不會出現(xiàn)遞歸型結(jié)構(gòu)中的極限振蕩等不穩(wěn)定現(xiàn)象,,且誤差較小,可采用FFT算法實現(xiàn),因此運算效率高,。設(shè)計FIR濾波器常用的方法有窗函數(shù)法與頻率抽樣法,,但是這兩種方法均不易精確控制通帶與阻帶的邊界頻率,所以在實際應(yīng)用中有一定的局限性,。文中用Matlab語言實現(xiàn)了最佳等波紋FIR濾波器的設(shè)計,,通過比較顯示了它在等波紋方脈沖響應(yīng)方面的優(yōu)化特性。
1 FIR濾波器優(yōu)化設(shè)計法
Matlab信號工具箱中提供的Remez函數(shù)可對數(shù)字濾波器進行優(yōu)化設(shè)計,,得到的數(shù)字濾波器具有等波紋特性,,Remez函數(shù)實現(xiàn)Parks McClel-lan算法,即采用數(shù)字分析中的Remez算法和切比雪夫最佳一致逼近理論來設(shè)計,,使實際頻響擬合期望頻率響應(yīng)最優(yōu),。使用Remez算法設(shè)計濾波器,首先需根據(jù)要求確定濾波器階數(shù),。利用Remezord函數(shù)可以確定濾波器階數(shù)n,,歸一化的各頻帶邊界頻率fo,歸一化的各頻帶幅度值ao,,加權(quán)系數(shù)w,,其格式如下:[n,fo,,ao,,w]=remezord(f,a,,dev),。Remezord輸入?yún)?shù)的含義為向量f指定各頻帶邊界頻率,在 0~Fs/2之間取值,。向量a指定各頻帶的幅度響應(yīng),。f的長度是length(f)=2×length(a)-2,,必須為偶數(shù),。第一頻帶總是從0開始,最后一個頻帶到Fs/2結(jié)束,。向量dev指定設(shè)計出的濾波器和理想濾波器的幅度響應(yīng)在每個頻帶的最大允許誤差,,因此與向量a的長度相等。
2 FIR濾波器設(shè)計實例
分別使用窗函數(shù)法,,頻率取樣,,優(yōu)化設(shè)計法,設(shè)計一個線性相位的帶通濾波器,。帶通濾波器的通帶為1 300~2 210 Hz,,阻帶O~1 000 Hz,2 410~4 000 Hz,通帶最大波動為1 dB,,阻帶最小衰減為35 dB,。設(shè)計流程是:(1)輸入濾波器技術(shù)要求N,Hd(w),,W(ω),。(2)按要求的濾波器類型求出W(ω),Hd(w),,P(ω),。(3)給出M+2 個交錯點組頻率初始值ω(i),i=O,,1,;2,…,,M+1,。(4)調(diào)用Remez算法程序求解最佳極值頻率和P(ω)的系數(shù)。(5)計算單位脈沖響應(yīng) h(n),。(6)輸出最佳誤差和h(n),。
如圖1~圖3為3種帶通數(shù)字濾波器的仿真結(jié)果,可以看出在同樣階數(shù)下,,使用優(yōu)化設(shè)計方法設(shè)計的濾波器,,無論是通帶還是阻帶都較平坦、過渡帶比較窄且阻帶衰減好,。
3 結(jié)束語
比較3種數(shù)字濾波器的設(shè)計方法可得以下結(jié)論:
(1)采用窗函數(shù)法設(shè)計簡單,、方便、實用,。但用計算機不易控制邊界頻率,。
(2)由于窗函數(shù)法是從時域角度給出的設(shè)計方法,但一般情況都是頻域角度給出,,頻率采樣法恰好是從頻域角度進行設(shè)計,,比較直觀,但邊界頻率不易控制,。增加采樣點數(shù)N對確定有好處,,但采樣點數(shù)N增大會增加濾波器的成本。
(3)同樣階數(shù)下使用優(yōu)化設(shè)計方法所設(shè)計的濾波器,,無論是通帶還是阻帶都較平坦,、過渡帶較窄且阻帶衰減好。