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

3 結束語
比較3種數字濾波器的設計方法可得以下結論:
(1)采用窗函數法設計簡單、方便、實用。但用計算機不易控制邊界頻率。
(2)由于窗函數法是從時域角度給出的設計方法,但一般情況都是頻域角度給出,頻率采樣法恰好是從頻域角度進行設計,比較直觀,但邊界頻率不易控制。增加采樣點數N對確定有好處,但采樣點數N增大會增加濾波器的成本。
(3)同樣階數下使用優(yōu)化設計方法所設計的濾波器,無論是通帶還是阻帶都較平坦、過渡帶較窄且阻帶衰減好。