0 引 言
隨著(zhù)信息時(shí)代和數字世界的到來(lái),數字信號處理已成為當今一門(mén)極其重要的學(xué)科和技術(shù)領(lǐng)域。數字信號處理在通信、語(yǔ)音、圖像、自動(dòng)控制、雷達、軍事、航空航天、醫療和家用電器等眾多領(lǐng)域得到了廣泛的應用。在數字信號處理應用中,數字濾波器十分重要并已獲得廣泛應用。數字濾波器根據其沖激響應函數的時(shí)域特性,可分為兩種,即無(wú)限長(cháng)沖激響應(IIR)濾波器和有限長(cháng)沖激響應(FIR)濾波器。IIR濾波器的特征是具有無(wú)限持續時(shí)間的單位脈沖響應;FIR濾波器的單位脈沖響應只能延續一定時(shí)間,它由于可以很方便地實(shí)現線(xiàn)性相位特性和容易實(shí)現而在工程上得到廣泛應用。FIR數字濾波器的設計方法有多種,如:窗函數設計法、頻率采樣法、最優(yōu)設計法(雷米茲法)等。鑒于現有的文獻多數都是僅介紹設計思想和方法,沒(méi)有從實(shí)際應用和實(shí)現的角度來(lái)考慮多帶FIR濾波器的設計。
FIR濾波器的濾波運算,當輸入序列是有限長(cháng)時(shí),用FFT快速卷積進(jìn)行計算只要進(jìn)行2次FFT,1次IFFT就可完成線(xiàn)性卷積(濾波)計算。對于無(wú)限長(cháng)序列可以采用重疊相加法或者重疊保留法將它化為有限長(cháng)序列卷積運算。而H(k)如果可以在濾波器設計時(shí)直接獲得,則只要1次FFT,1次IFFT就可完成濾波運算,因此稱(chēng)為FIR濾波器FFT快速算法。下面討論FIR濾波器頻域直接計算H(k)的方法。
1 FIR濾波器的頻域設計
1.1 H(k)計算公式
根據FIR濾波器頻域采樣法設計,如果濾波器的類(lèi)型和階數N確定,可以在頻域上確定h(n)的N點(diǎn)FFT,用H1(k)表示。因此,有:
可見(jiàn),當L為N的整數倍時(shí)只要通過(guò)對H1(k)內插O,再進(jìn)行比例放大,就可得到H(k)。
(2)假設濾波器具有線(xiàn)性相位特性,則H1(k)可用幅度函數和相位函數的采樣表示,記為:
從上面分析可見(jiàn),只要確定濾波器的階數N和H1(k)(H1k)就可計算出H(k)。下面討論其確定方法。
1.2 濾波器的階數和H1(k)確定方法 在設計一個(gè)濾波器之前,必須首先根據工程實(shí)際的需要確定濾波器的技術(shù)指標。數字濾波器常常被用來(lái)實(shí)現選頻操作,因此,指標的形式一般在頻域中給出幅度和相位響應,并且對于FIR濾波器的設計,相位響應指標通常希望系統在通頻帶中具有線(xiàn)性相位。確定了技術(shù)指標后,就可以建立一個(gè)目標的數字濾波器模型。確定濾波器的階數和H1(k)。
下面以一個(gè)實(shí)際例子來(lái)說(shuō)明計算過(guò)程。假設要設計一個(gè)多帶FIR線(xiàn)性相位數據濾波器的技術(shù)指標為:對模擬信號進(jìn)行采樣的周期T=O.000 1 s,在fp=[1 000,2 000,3 000]Hz處的衰減小于2 dB,在fr=[1 250,1 750,3 250]Hz處的衰減大于40 dB。則:
(1)濾波器的技術(shù)指標
濾波器的技術(shù)指標如下:
通帶截止頻率:
(2)目標濾波器的模型
采用理想濾波器模型作為所要設計的目標濾波器模型。根據指標要求,選用如圖1所示的幅度模型。
(3)確定濾波器的階數和H1(k)
根據過(guò)渡帶的指標要求,由理想濾波器模型的過(guò)渡帶為2π/N可以確定濾波器階數N=40。根據線(xiàn)性相位的約束條件,N為偶數,濾波器的幅度函數要求奇對稱(chēng),即H1k滿(mǎn)足:H1k=-Hl(N-k)。
由邊界頻率:
可求出邊界頻率采樣點(diǎn)kp=[4,8,12]。
以理想濾波器為目標濾波器進(jìn)行設計,則幅度函數采樣點(diǎn)為:
(4)設計結果性能分析
根據內插公式可求出所設計的濾波器的頻率響應。這里,直接利用Matlab編程分析得到的結果如圖2所示。
由圖2可見(jiàn),濾波器的邊界頻率符合要求,但是,阻帶衰減僅達到16 dB,因此,必須進(jìn)行優(yōu)化。
1.3 優(yōu)化設計
1.3.1 簡(jiǎn)易優(yōu)化設計法
由內插公式可知,頻率采樣濾波器的頻響在采樣點(diǎn)上等于采樣點(diǎn)的值,因此,在不增加階數的情況下,可通過(guò)修改邊界頻率點(diǎn)的采樣值進(jìn)行優(yōu)化。根據指標要求:通帶衰減小于A(yíng)p=2 dB,阻帶衰減大于A(yíng)r=40 dB。將通帶和阻帶的邊界采樣點(diǎn)的值按式(10),式(11)計算:
根據式(10),式(11),將Ap,Ar代入,利用Matlab編程,相應的語(yǔ)句如下:
計算結果:Hp=0.794 3,Hr=0.010 O,優(yōu)化式(7)得到新的設計結果。進(jìn)行頻率特性分析得到如圖3所示的結果。由圖3可見(jiàn),濾波器的邊界頻率符合要求,但是,阻帶最小衰減已經(jīng)超過(guò)了20 dB,得到了明顯改善。
l.3.2 自適應搜索優(yōu)化
上述方法簡(jiǎn)單但不是最優(yōu),達到的性能指標不高。下面利用自適應搜索算法對過(guò)渡點(diǎn)進(jìn)行進(jìn)一步的優(yōu)化。自適應搜索算法采用均方誤差最小準則。對于具有線(xiàn)性相位的FIR數字濾波器,其性能主要取決于幅度函數,因此定義誤差函數E(ω)為:
式中:Hd(ω)為設計的目標濾波器的幅度函數;H(ω)為設計的濾波器的幅度函數,其表達式為:
則均方誤差為:
式中:M為頻域采樣點(diǎn)數,應盡量大,取
設:Hi為過(guò)渡點(diǎn),η為搜索步長(cháng)。則可以導出該過(guò)渡點(diǎn)調整算法為:
可以證明,O<η<2/N時(shí),該算法是收斂的。
根據上述算法,利用Matlab編程對過(guò)渡點(diǎn)進(jìn)行自適應調整,得到如圖4所示結果。
由圖4可見(jiàn),濾波器的邊界頻率符合要求,阻帶衰減超過(guò)40 dB,符合指標要求,但是過(guò)渡帶增大。N增大一倍后,設計結果如圖5所示,濾波器指標滿(mǎn)足要求。
2 結 語(yǔ)
FIR濾波器的FFT快速算法實(shí)現,只要一次的FFT和一次的IFFT就可以實(shí)現,在階數高的情況下,具有很高的運算效率。采用在頻域上直接設計可以很方便地得到所需的濾波器的頻域系數。當L為N的整數倍時(shí),只要通過(guò)對H1(k)內插0,再進(jìn)行比例放大,就可得到H(k),因此,可以作為L(cháng),N選擇時(shí)參考。文中提出的根據所要設計的濾波器的技術(shù)指標來(lái)確定邊界頻率點(diǎn)幅度取樣和自適應搜索算法,可供教學(xué)和科研設計中進(jìn)行濾波器優(yōu)化時(shí)使用。