摘 要:窗函數法和頻率采樣法是兩種較為典型的FIR數字濾波器設計方法。目前,相關的《數字信號處理》教科書對窗函數法設計FIR濾波器進行了較為詳細的論述,但對用頻率采樣法設計FIR濾波器這部分內容講解得不夠細致,讓初學的學生感到難以理解。針對用頻率采樣法設計FIR濾波器的相關問題進行了較為深入的探討,并結合實例借助Matlab軟件進行了仿真和驗證。仿真結果表明,選擇合適的過渡采樣點和濾波器長度,可以有效地控制阻帶衰減、過渡帶寬及計算復雜度 。
關鍵詞:FIR數字濾波器; 頻率采樣法; 過渡采樣點; 阻帶衰減
中圖分類號:TN911.72-33文獻標識碼:A
文章編號:1004-373X(2010)17-0085-03
Frequency Sampling Method for FIR Digital Filter Design
LIN Ai-ying, GU Xiao-qing, ZHENG Bao-zhou
(College of Science, Henan Agricultural University, Zhengzhou 450002, China)
Abstract: The window function and frequency sampling method are two typical methods for FIR digital filter design. At present, the \"Digital Signal Processing\" professional courses is only explaining the window function method in detail, but not explaining the frequency sampling method in detail. So the students have much difficulty to master it. The principle and some related questions of the frequency sampling method are discussed deeply. Matlab simulation software is used to analyze and test the design. Experiment results show that the stop-band attenuation and computation complexity for the frequency sampling method can be effectively controlled by proper selection of transition sampling point and filter width.
Keywords: FIR digital filter; frequency sampling method; transition sampling point; stop-band attenuation
收稿日期:2010-04-11
基金項目:河南省教育廳自然科學研究指導計劃項目(2008B510010)
有限長脈沖響應(FIR)數字濾波器由于設計靈活,濾波效果好以及過渡帶寬易控制,因此在數字信號處理領域得到了廣泛的應用[1]。FIR 數字濾波器的典型設計方法主要有窗函數法和頻率采樣法。正確理解和掌握這兩種設計方法是學習FIR數字濾波器的一個重要環節。用窗函數法進行FIR濾波器設計的相關問題,目前的教材講解較為細致,這里不再贅述。本文主要探討用頻率采樣法設計FIR數字濾波器的相關問題,主要包括設計原理、性能分析、線性相位條件及設計中應注意的問題等幾個方面[2]。
1 設計原理及濾波器性能分析
頻率采樣法是從頻域出發,對給定的理想濾波器的頻響Hd(ejω)進行N點等間隔采樣,即Hd(k) = Hd(ejω)ω=2πNk,然后以此Hd(k)作為實際FIR濾波器的頻率特性采樣值H(k),即令:
H(k) = Hd(k) = Hd(ejω)ω= 2πNk,
k = 0,1,2,…,N-1
(1)
由DFT定義,可以用這N個頻域的采樣值H(k)來惟一確定FIR的單位脈沖響應h(n),即:
h(n)=IDFT[H(k)]=1N∑N-1k=0H(k)ej2πNkn
(2)
下面對設計出的濾波器頻率響應特性進行分析。由頻域采樣定理中的內插公式可以知道,利用這N個頻域采樣值H(k)同樣可以求得FIR濾波器的頻率響應H(ejω),這個H(ejω)將逼近理想濾波器的頻響Hd(ejω)。H(ejω)的內插公式[3-5]為:
H(ejω)=∑N-1k=0H(k)φω-2πNk
(3)
式中:φ(ω)是內插函數。
φ(ω)=1Nsin(Nω/2)sin(ω/2)e-jN-12ω
(4)
把式(4)代入式(3),化簡后可得:
H(ejω)=e-jN-12ω∑N-1k=01NejN-1NπkH(k)sinNω2-πkNsinω2-πkN
(5)
從式(5)可以看到,在各頻率采樣點上,設計的濾波器,實際的頻率響應嚴格地與理想濾波器的頻率響應數值相等,即H(ej2πNk)=H(k)=Hd(k)=Hd(ejω)ω=2πNk。但是在采樣點之間的頻率響應是由各采樣點的加權內插函數疊加而形成的,因而有一定的逼近誤差。該誤差大小取決于理想頻率響應的形狀,理想頻響特性變化越平緩,內插值越接近理想值,逼近誤差越小;反之,如果采樣點之間的理想頻響特性變化越陡,則內插值與理想值之間的誤差越大,因而在理想濾波器不連續點的兩邊,就會產生尖峰,而在通帶和阻帶就會產生波紋。用頻率采樣法設計的實際濾波器頻率響應如圖1所示。由圖1可知,實際濾波器的阻帶衰減取決于內插函數第一旁瓣幅度值的大小,其大小決定了所設計的濾波器的阻帶性能。
圖1 實際濾波器的頻率響應
2 線性相位條件
FIR濾波器的最大優點是嚴格的線性相位特性[3-5]。下面討論為實現線性相位,在頻域內采樣得到的Hd(k)應滿足什么條件。FIR濾波器具有線性相位的條件是h(n)是實序列,且滿足h(n)=±h(N-1-n),即h(n)關于n=N-12對稱,其中N為濾波器的長度。以第一類線性相位條件h(n)=h(N-1-n)(偶對稱)為基礎來推導頻域采樣Hd(k)滿足的條件。
理想濾波器的頻率響應可以表示為:
Hd(ejω)=Hg(ω)ejθ(ω)
(6)
為實現第一類線性相位條件,相位函數θ(ω)和幅度函數Hg(ω)應分別滿足:
θ(ω)=-N-12ω
(7)
Hg(ω)=Hg(2π-ω),N為奇數
-Hg(2π-ω),N為偶數
(8)
在ω=0~2π之間對Hd(ejω)進行N點等間隔采樣,即ωk=2πNk,k=0,1,2,…,N-1,將ωk代入式(6)、式(7)和式(8)并表示為k的函數,可以得到:
Hd(k)=Hg(k)ejθ(k)
(9)
θ(k)=-N-122πNk=-N-1Nπk
(10)
Hg(k)=Hg(N-k),N為奇數
-Hg(N-k),N為偶數
(11)
式(10)和式(11)就是頻率采樣值Hd(k)滿足第一類線性相位的條件。關于第二類線性相位的條件這里就不再推導,具體公式可參閱相關的教科書[1,5-7]。
3 設計實例及性能分析
現以低通濾波器為例,說明用頻率采樣法設計FIR線性濾波器的一般步驟及設計中應注意的問題。要求截止頻率ωc=0.2π rad/s,采樣點數為N=20。設計步驟如下:
第一步:確定希望逼近的理想濾波器的頻率響應Hd(ejω):
Hd(ejω)=e-jωα, 0≤|ω|≤0.20π
0,0.20π<|ω|≤π
式中:
α=-N-12=-9.5
第二步:在頻域內對Hd(ejω)進行N點等間隔采樣,利用頻率采樣設計公式求頻率采樣值Hd(k),采樣間隔Δω=2π/N=0.1π,這樣在通帶內共有3個采樣點,分別是k=0,1,2。利用頻率采樣設計式(10)和式(11),可以得到:
Hg(k)=1,0≤k≤2
-1,18≤k≤19
0,3≤k≤17
θ(k)=-9.52π20k=-0.95πk,0≤k≤2
-0.95π(N-k)=π+0.95πk,1≤k≤2
從而有:
Hd(k)=Hg(k)ejθ(k)=1,k=0
1*e-j0.95π,k=1
1*e-j0.95×2π,k=2
1*ej0.95×2π,k=18
1*ej0.95π,k=19
第三步:用離散傅里葉逆變換求得要設計的實際濾波器的單位脈沖響應h(n):
h(n)=IDFT[Hd(k)]=1N∑N-1k=0Hd(k)ej2πNkn
=120[1+e-j0.95πej0.1πn+e-j0.95×2πej0.1π×2n+
ej0.95×2πej0.1π×(N-2)n+ej0.95πej0.1π×(N-1)n]
=120[1+2cos(0.95π-0.1πn)+
2cos 2(0.95π-0.1πn)]
第四步:根據傅里葉變換的定義求得實際濾波器的頻率響應H(ejω),驗證H(ejω)是否滿足濾波器技術指標的要求,主要驗證濾波器的阻帶衰減是否能夠滿足阻帶的要求。借助于Matlab軟件[8-10],按照以上4個步驟設計出低通濾波器的仿真結果如圖2所示。
圖2 未增加過渡采樣點時的仿真結果
由仿真結果圖2(d)可以看出其衰減比較小,約為-17 dB。在通常情況下,這個阻帶衰減不能滿足阻帶技術指標的要求,可以通過在通帶和阻帶之間的邊界頻率處增加過渡采樣點來增大阻帶衰減。
為改進阻帶衰減,在邊界頻率處增加一個過渡點;為保證過渡帶寬不變,將采樣點數增加一倍,變為N=40,并將過渡點的采樣值進行優化,取H1=0.390 4,其仿真結果如圖3所示。由圖3(d)可見,這時阻帶衰減達到了-43 dB。
圖3 增加一個過渡采樣點時的仿真結果
為進一步增加阻帶衰減,可再增加一個過渡采樣點,并將采樣點數增加到60。兩個過渡樣點值經優化分別為H1=0592 5和H2=0109 9,其仿真結果如圖4所示。由圖4(d)可見,這時阻帶衰減達到-73 dB。還可以通過進一步增加過渡樣點來增加阻帶衰減,一般情況下,最多增加3個過渡采樣點即能滿足阻帶衰減的要求。顯然,在保證過渡帶寬不變的情況下,相應的采樣點數也成倍增加,這樣將使濾波器的復雜度大大增加,在實現濾波時計算量也隨之增加。
圖4 增加兩個過渡采樣點時的仿真結果
4 結 語
Matlab仿真結果驗證了用頻率采樣法設計FIR線性相位數字濾波器這一數字信號處理中的基本理論,有助于學生深入理解并掌握這一重要的FIR濾波器設計方法。需要強調的是,頻率采樣法是從頻域出發直接設計濾波器的,而窗函數法是從時域出發設計濾波器的,兩種設計方法各有優缺點。窗函數法設計FIR 數字濾波器是傅里葉變換的典型運用,而頻率采樣法設計的指導思想是頻域采樣定理及內插公式,其阻帶衰減的改善是通過增加過渡采樣點實現的,同時為保證過渡帶寬的不變,濾波器的采樣點數也要相應增加,計算復雜度也隨之成倍增加,這就要求在用頻率采樣法設計FIR濾波器時,要綜合考慮阻帶衰減和濾波器長度的要求,從而達到設計的最優化。
參考文獻
[1]丁玉美,高西全.數字信號處理[M].西安:西安電子科技大學出版社,2002.
[2]John G Proakis.數字信號處理[M].方艷梅, 劉永清,譯.4版.北京:電子工業出版社,2007.
[3]程佩青.數字信號處理教程[M].北京:清華大學出版社,2007.
[4]吳鎮揚.數字信號處理[M].北京:高等教育出版社,2004.
[5]胡廣書.數字信號處理導論[M].北京:清華大學出版社,2006.
[6]鄭君里.信號與系統(上)[M].北京:高等教育出版社,2002.
[7]鄭君里.信號與系統(下)[M].北京:高等教育出版社,2002.
[8]劉波,文忠,曾涯.Matlab信號處理[M].北京:電子工業出版社,2006.
[9]Miroslav D Lutovac.信號處理:濾波器設計[M].朱義勝,譯.北京:電子工業出版社,2004.
[10]樓順天.基于Matlab的系統分析與設計:信號處理[M].西安:西安電子科技大學出版社,2001.