摘 要:為了避開直接設計帶通濾波器的繁瑣設計步驟要求,利用低通濾波器與帶通濾波器的關系,間接設計帶通濾波器是創新之處,即通過設計簡單的低通濾波器從而達到設計帶通濾波器的要求。介紹了窗函數法FIR數字低通、帶通濾波器的設計,給出了低通濾波器與帶通濾波器的頻率響應函數,并分析了它們之間的關系,得出了相關結論,結合實例,利用Matlab證實了該結論的正確性,為帶通濾波器的設計提供了一種新方法。
關鍵詞:FIR;Matlab;數字濾波器;低通濾波器;帶通濾波器
中圖分類號:TN911文獻標識碼:B文章編號:1004373X(2008)1905703
Analysis and Simulation of Lowpass and Bandpass FIR Digital Filter
ZHANG Xuemin
(Changchun Institute of Technology,Changchun,130012,China)
Abstract:In order to avoid the cumbersome design,the bandpass filter is indierect designed by relationship between it and lowpass filter.The design of lowpass and bandpass FIR digital filter based on window-function method is introduced,and frequency response of lowpass filter and bandpass filter are given,simultaneously,the relation between lowpass and bandpass filter is analysed and conclusion is drawn.In order to testify this conclusion,Matlab is proved to be right.
Keywords:FIR;Matlab;digital filter;lowpass filter;bandpass filter
數字濾波器是數字信號處理中重要內容之一。與模擬濾波器相比,其具有精度、穩定度、靈活性高,不需要阻抗匹配和便于大規模集成等優點。從結構上可分為無限沖擊響應(Infinite Impulse Response)數字濾波器和有限沖擊響應(Finite Impulse Response)數字濾波器;從功能上分為低通、帶通、高通和帶阻濾波器。由于FIR具有嚴格的線性相位特點,而該特點又是圖像處理、數據傳輸所必需的,故從數字濾波器的時域沖擊響應以及與之相對應的頻域頻率響應函數出發,僅討論FIR低通、帶通濾波器的關系,并對此加以驗證。
Matlab是英文Matrix Laboratory的縮寫。它是美國Math Works公司推出的具有強大數值計算功能和數據可視化的軟件。本文以Matlab 7.0為仿真平臺,利用Matlab信號處理工具箱函數對FIR低通和帶通濾波器的關系進行仿真驗證。
1 FIR數字濾波器窗函數設計法
FIR濾波器的設計方法主要有窗函數法、頻域采樣法和切比雪夫逼近法。本文主要使用窗函數法,其設計思想是根據設計要求,即給定的濾波器的技術指標,選擇濾波器長度和窗函數ω(n)。過程如下:由所給的理想濾波器的頻率響應Hd(ejω),得到其單位采樣響應hd(n);鑒于hd(n)是無限長序列,且是非因果序列,故對其加窗處理,得到有限長序列 ,即h(n)w(n)=hd(n),加何種窗函數及窗的長度,要視具體情況而定。
FIR傳遞函數為:
H(z)=∑N-1n=0h(n)z-n
由此得差分方程為:
y(n)=h(0)x(n)+h(1)x(n-1)+…+
h(n-1)x[n-(N-1)]
則差分方程的系數[h(0) h(1) … h(N-1)]構成的向量即為圖1濾波器的系數。
圖1 FIR濾波器的結構圖
窗函數法設計FIR數字濾波器時,常用的窗函數有6種,即矩形窗(boxcar)、巴特利特窗(bartlett)、漢寧窗(hanning)、海明窗(hamming)、布萊克曼窗(blackman)和凱塞窗(kaiser)。設計濾波器時,選擇哪一種窗函數,要根據設計要求而定,一般應遵循以下兩點:窗函數頻率特性的主瓣寬度應盡可能窄,且盡可能地將能量集中在主瓣內;窗函數的頻率特性的旁瓣在當ω趨于π的過程中,其能量迅速趨于0。Matlab工具箱中設計低通、帶通濾波器的函數為b=fir1(N,ω,window),式中N為濾波器階數,ω為歸一化截止頻率,(0<ω<1)。對于低通濾波器,ω=ωc;對于帶通濾波器,ω=[ωc1ωc2],ωc1,ωc2分別為帶通濾波器的上、下限截止頻率。window為使用的窗函數,默認為hamming窗,返回值b為FIR濾波器系數。
2 線性相位FIR低通、帶通濾波器的設計及二者的關系
2.1 線性相位FIR低通濾波器的設計
設截止頻率為ωc的線性相位理想低通濾波器的幅頻響應為Hd(ejω),低通特性的群延遲為α,則Hd(ejω)=e-jωα, |ω|≤ωc0,ωc≤|ω|≤π,這表明在|ω|≤ωc范圍內,Hd(ejω)的幅值是1,相位是-ωα。其幅頻響應示意圖如圖2(a)和2(b) (圖2(a)是截止頻率為ωc2的低通濾波器的幅頻響應,圖2(b)是截止頻率為ωc1的低通濾波器的幅頻響應)所示。
理想低通濾波器的單位沖擊響應:
hd(n)=12π∫ωc-ωce-jωαejωndw=ωcπ·sin[ωc(n-α)]ωc(n-α)(1)
hd(n)是中心點在α的偶對稱無限長非因果序列,要得到有限長的h(n),可對其做加窗處理,為了分析問題方便,這里選矩形窗RN(n),N是矩形窗長度。由于要求FIR濾波器的相位是線性的,h(n)必須偶對稱(或奇對稱),即其對稱中心為窗長的1/2,也就是α=N-12,故有:
h(n)=hd(n)Rn(n)=hd(n), 0≤n≤N-1
0,n為其他值
將上式代入式(1)中,可得:
h(n)=ωcπsinωcn-N-12ωcn-N-12,0≤n≤N-1
0n為其他值(2)
此時,一定滿足h(n)=h(N-1-n)這一線性相位條件,上述即為線性相位FIR低通濾波器的設計過程。
注:窗函數設計法的一個要點就是需要預先確定窗函數的形式和窗的長度N,通常N的大小要通過幾次試探才能最后確定。
圖2 理想濾波器的幅頻響應
2.2 線性相位FIR帶通濾波器的設計及其與低通濾波器的關系
理想線性相位帶通濾波器頻率響應:
Hd(ejω)=e-jωα, ωc1≤|ω|≤ωc2
0,ω為其他值
其幅頻響應示意圖如圖2(c)所示。
其單位沖擊響應為:
hd(n)=12π∫ωc2ωc1Hd(ejω)ejωndω+12π ∫-ωc1-ωc2Hd(ejω)ejωndω
=12π∫ωc2-ωc2Hd(ejω)ejωndω+12π∫ωc1-ωc1Hd(ejω)ejωndω
=hd2(n)-hd1(n)
這里hd2(n)相當于截止頻率為ωc2的低通濾波器的單位沖擊響應,hd1(n)相當于截止頻率為ωc1的低通濾波器的沖擊響應。由此可以得出如下結論:帶通濾波器的沖擊響應=低通濾波器的沖擊響應(截止頻率ωc2)-低通濾波器的沖擊響應(截止頻率ωc1)。設窗函數為wN(n),則帶通濾波器的頻率響應為h(n)=hd(n)wN(n),相應的頻率響應函數為:
H(ejω)=∑N-1n=0h(n)e-jωn
=∑N-1n=0wN(n)1π(n-α)sin[ωc2(n-α)]e-jωn-
∑N-1n=0wN(n)1π(n-α)sin[ωc1(n-α)]e-jωn
由α=N-12,h(n)關于α偶對稱,可知頻率響應為H(ejω)=e-jN-12ω∑N-1n=0h(n)cosn-N-12ω,故帶通濾波器的幅頻響應函數為:
H(ω)=∑N-1n=0h(n)cosN-12-nω
=∑N-1n=0w(n)1π(n-α)sin[(ωc2-ωc1)(n-α)]·
cosN-12-nω
即帶通濾波器的幅頻響應=低通濾波器的幅頻響應(截止頻率wc2)-低通濾波器的幅頻響應(截止頻率wc1)。而圖2(c)正是圖2(a)和圖2(b)相減的結果。
3 FIR低通、帶通濾波器關系仿真
在Matlab 7.0環境下,對上述分析結論進行仿真,可得到其更直觀的結果。設低通濾波器的截止頻率分別為15 Hz和35 Hz,選擇漢寧窗N=81,部分源程序如下:
fs=100;
b1=fir1(80,35/50);
[H1,f]=freqz(b1,1,512);
plot(f*fs/(2*pi),abs(H1));
b2=fir1(80,15/50);
[H2,f]=freqz(b2,1,512);
plot(f*fs/(2*pi),abs(H2));
b=b1-b2;
[H,f]=freqz(b,1,512);
plot(f*fs/(2*pi),abs(H));
上述程序在Matlab 7.0環境下運行,仿真結果如圖3所示。由圖可見,兩個截止頻率分別為35 Hz和15 Hz的低通濾波器的幅頻響應相減即為帶通濾波器的幅頻響應,而該帶通濾波器的上、下限截止頻率分別為15 Hz和35 Hz。同時,得到兩個低通濾波器的沖擊響應函數系數(即濾波器的系數)b1和b2及二者之差b=b1-b2。而直接由帶通濾波器函數得到的帶通濾波器系數bb=fir1(80,[35/50 15/50])也列于表1中,不考慮系數前的符號,不難發現,b和bb完全相同,從而驗證了前文中結論的正確性。
表1 低通、帶通濾波器的系數對照表
b1b2|b|=|b1-b2| |bb|
b1(0)= b1(80)=-0.000 0
b1(1)= b1(79)=-0.000 5
b1(2)= b1(78)=0.000 7
b1(3)= b1(77)=-0.000 2
b1(4)= b1(76)=-0.000 5
……
b1(10)=b1(70)=-0.000 0
b1(11)=b1(69)=0.002 1
b1(12)=b1(68)=-0.002 9
b1(13)=b1(67)=0.001 1
b1(14)=b1(66)=0.002 4
b2(0)= b2(80)=-0.000 0
b2(1)= b2(79)=-0.000 5
b2(2)= b2(78)=-0.000 7
b2(3)= b2(77)=-0.000 2
b2(4)= b2(76)=0.000 5
……
b2(10)= b2(70)=0.000 0
b2(11)= b2(69)=0.002 1
b2(12)= b2(68)=0.002 9
b2(13)= b2(67)=0.001 1
b2(14)= b2(66)=-0.002 4
|b (0)|= |b (80)|=0.000 0
|b (1)|= |b (79)|=0.000 0
|b (2)|= |b (78)|=0.001 4
|b (3)|= |b (77)|=0.000 0
|b (4)|= |b (76)|=0.001 0
……
|b (10)|= |b (70)|=0.000 0
|b (11)|= |b (69)|=0.000 0
|b (12)|= |b (68)|=0.005 8
|b (13)|= |b (67)|=0.000 0
|b (14)|= |b (66)|=0.004 8
|bb (0)|= |bb (80)|=0.000 0
|bb (1)|= |bb (79)|=0.000 0
|bb (2)|= |bb(78)|=0.001 4
|bb (3)|= |bb (77)|=0.000 0
|bb (4)|= |bb (76)|=0.001 0
……
|bb (10)|= |bb (70)|=0.000 0
|bb (11)|= |bb (69)|=0.000 0
|bb (12)|= |bb (68)|=0.005 8
|bb (13)|= |bb (67)|=0.000 0
|bb (14)|= |bb (66)|=0.004 8
圖3 低通、帶通濾波器的幅頻響應
下面對此帶通濾波器的濾器效果通過實例進行仿真。
4 實例仿真
有3個正弦成分(5 Hz,15 Hz和35 Hz)的混合信號,利用上述濾波器去除5 Hz和35 Hz的正弦成分,保留15 Hz的信號,為此選兩個低通濾波器的截止頻率分別為10 Hz和25 Hz。部分源程序如下:
fs=100;
t=(0:100)/100;
s=sin(2*pi*5*t)+sin(2*pi*15*t)+sin(2*pi*35*t);
plot(t,s);
b1=fir1(80,25/50);
b2=fir1(80,10/50);
b=b2-b1;
[H,f]=freqz(b,1,512);
plot(f*fs/(2*pi),abs(H))
sf=filter(b,1,s);
plot(t,sf)
上述程序運行后,結果如圖4所示。
圖4 混合信號經過帶通濾波器
由圖可見,混合信號中的5 Hz和35 Hz的正弦成分被濾除,而15 Hz的正弦信號被保留。
5 結 語
本文從窗函數法設計FIR濾波器入手,介紹了低通和帶通濾波器的設計方法,進而得出結論:通帶頻率為[ωc1ωc2]的帶通濾波器的沖擊響應函數和頻率響應函數可以由截止頻率分別為ωc1,ωc2的低通濾波器的沖擊響應函數和頻率響應函數相減得到。同時利用Matlab對此結論和由該結論得到的帶通濾波器的濾波效果進行仿真驗證,仿真結果表明該濾波器達到了預期濾波效果,從而證明了該結論的正確性。
參考文獻
[1]周金治.基于Matlab與DSP的FIR數字濾波器軟硬件實現[J].現代電子技術,2005,28(17):1-2.
[2]趙亞梅.基于Matlab一種IIR數字帶通濾波器的設計與仿真[J].微計算機信息,2007,23(13):286-287.
[3]陳希林,肖明清.一種LabWindows/CVI與Matlab混合編程的實現方法[J].微計算機信息,2005,12(3):43-45.
[4]王默玉,宗偉.基于Matlab的圖形用戶界面的構造方式與應用[J].現代電力,2002,19(1):76-82.
[5]王沫然.Matlab 6.0與科學計算[M].北京:電子工業出版社,2002.
[6]李麗,王振領.Matlab工程計算及應用[M].北京:人民郵電出版社,2001.
[7]陳亞勇.Matlab信號處理詳解[M].北京:人民郵電出版社,2005.
作者簡介
張學敏 女,1971年出生,吉林長春人,工學碩士,講師。研究方向為信號與信息處理。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文