基于MATLAB在IIR濾波器的設(shè)計(jì)與仿真
Window Specifications選項(xiàng),當(dāng)選取采用窗函數(shù)設(shè)計(jì),該選項(xiàng)可定義,它包含了各種窗函數(shù)。
3.1.2 IIR濾波器設(shè)計(jì)實(shí)例
本文以一個(gè)IIR濾波器的設(shè)計(jì)為例說(shuō)明如何使用MATLAB設(shè)計(jì)數(shù)字濾波器。要求設(shè)計(jì)一個(gè)10階的帶通Chebyshev I濾波器,它的通帶范圍是100到200Hz,采樣頻率為1000Hz,Rp=0.5。
本例中,首先在Filter Type中選擇Bandpass(帶通濾波器);在Design Method選項(xiàng)中選擇IIR,接著在相鄰的右則選項(xiàng)中選擇Chebyshev I(切比雪夫I型);指定Filter Order項(xiàng)中的Specify Order=10;由于采用的是切比雪夫設(shè)計(jì),不必在Options中選擇;然后在Frequency Specifications中選擇Unit為Hz,給出采樣頻率Fs=1000,通帶Fpass1=100和Fpass2=200;最后在 Magnitude Specifications中 選擇Unit為db,Apass=0.5。設(shè)置完成后點(diǎn)擊Design Filter即可得到所設(shè)計(jì)的IIR濾波器。通過(guò)菜單選項(xiàng)Analysis可以在特性區(qū)看到所設(shè)計(jì)的幅頻響應(yīng)、相頻響應(yīng)、沖擊響應(yīng)和零極點(diǎn)配置等特性,如圖1所示。設(shè)計(jì)完成后將結(jié)果保存為filterl.fda文件。
圖1濾波器的幅頻、相頻和沖激響應(yīng)(特性區(qū))
3.2 程序設(shè)計(jì)法
在MATLAB環(huán)境下運(yùn)行該程序即可得到濾波器的時(shí)域沖激響應(yīng)。由于篇幅所限,這里不再詳述源程序。在MATLAB中,對(duì)各種濾波器的設(shè)計(jì)都有相應(yīng)的計(jì)算振幅、相位和沖激響應(yīng)的函數(shù),可以用來(lái)做濾波器程序設(shè)計(jì)。上例的IIR濾波器的沖激響應(yīng)可用程序設(shè)計(jì)如下:
n=10; %階數(shù)為10
Rp=0.5; %幅值衰減為0.5
Wn[100 200]/500;
[b,a]=chebyl(n,Rp,wn);
[y,t]impz(b,a,101);
stem(t,y,'.');
評(píng)論