实验七FIR数字滤波器设计及应用一.实验目的加深理解FIR数字滤波器的时域特性和频域特性,掌握FIR数字滤波器的设计原理与设计方法,以及FIR数字滤波器的应用。二.实验原理三.实验内容(1)b1=fir1(9,1/3,boxcar(10));[H1,w1]=freqz(b1,1,512);H1_db=20*log10(abs(H1));b2=fir1(9,1/3,hamming(10));[H2,w2]=freqz(b2,1,512);H2_db=20*log10(abs(H2));b3=fir1(9,1/3,hanning(10));[H3,w3]=freqz(b3,1,512);H3_db=20*log10(abs(H3));subplot(3,1,1);stem(b1);title('设计矩形窗得到的FIR滤波器的单位脉冲响应')subplot(3,1,2);stem(b2);title('设计哈明窗得到的FIR滤波器的单位脉冲响应')subplot(3,1,3);stem(b3);title('设计汉宁窗得到的FIR滤波器的单位脉冲响应')(2)b1=fir1(9,1/3,boxcar(10));[H1,w1]=freqz(b1,1,512);H1_db=20*log10(abs(H1));b2=fir1(9,1/3,hamming(10));[H2,w2]=freqz(b2,1,512);H2_db=20*log10(abs(H2));b3=fir1(9,1/3,hanning(10));[H3,w3]=freqz(b3,1,512);H3_db=20*log10(abs(H3));plot(w1,H1_db,w2,H2_db,'--g',w3,H3_db,'--r');title('频率响应')legend('矩形窗','海明窗','汉宁窗')gridon(3)b1=fir1(9,1/3,boxcar(10));[H1,w1]=freqz(b1,1,512);H1_db=20*log10(abs(H1));b2=fir1(9,1/3,hamming(10));[H2,w2]=freqz(b2,1,512);H2_db=20*log10(abs(H2));b3=fir1(9,1/3,hanning(10));[H3,w3]=freqz(b3,1,512);H3_db=20*log10(abs(H3));k=0:511;x=1+2*cos(pi/4.*k)+cos(pi/2.*k);y1=filter(b1,1,x);Y1=abs(fftshift(fft(y1)));stem(Y1);title('通过矩形窗得到的输出波形')figure;y2=filter(b2,1,x);Y2=abs(fftshift(fft(y2)));stem(Y2);title('通过哈明窗得到的输出波形')figure;y3=filter(b3,1,x);Y3=abs(fftshift(fft(y3)));stem(Y3);title('通过汉宁窗得到的输出波形')f=[03/74/75/71];m=[110.38900];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应');gridon将Hd(4)增至0.8,即:f=[03/74/75/71];m=[110.800];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应');gridon将Hd(4)减至0.1,即:f=[03/74/75/71];m=[110.100];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应');gridonf=[01/72/73/75/76/713/141];m=[000.456110.45600];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应')gridon将Hd(2)增至0.8,Hd(6)不变,即:f=[01/72/73/75/76/713/141];m=[000.8110.45600];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应')gridon将Hd(2)减至0.1,Hd(6)不变,即:f=[01/72/73/75/76/713/141];m=[000.1110.45600];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应')gridon将Hd(6)增至0.8,Hd(2)不变,即:f=[01/72/73/75/76/713/141];m=[000.456110.800];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应')gridon将Hd(6)减至0.1,Hd(2)不变,即:f=[01/72/73/75/76/713/141];m=[000.456110.100];b=fir2(15,f,m);[h,w]=freqz(b,1,512);plot(f,m,w/pi,abs(h));legend('理想滤波器','实际滤波器')title('理想滤波器与实际滤波器的频率响应幅值比较')figure;H=20*log10(abs(h));plot(w,H);title('频率响应')gridon4(1)b=fir1(30,[0.450.55],'bandpass',kaiser(31));[H,w]=freqz(b,1,512);subplot(2,1,1)plot(w,20*log10(abs(H)))gridonxlabel('频率');ylabel('幅度/db');subplot(2,1,2)plot(w,angle(H))gridxlabel('频率');ylabel('幅度/rad');f=[00.30.350.40.60.70.81];m=[000.5110.500];b=fir2(30,f,m);[H,w]=freqz(b,1,512);subplot(2,1,1)plot(w,20*log10(abs(H)))gridonxlabel('频率');ylabel('幅度/db');subplot(2,1,2)plot(w,angle(H))gridonxlabel('频率');ylabel('幅度/rad')四.思考题1.为什么通信应用中需要线性相位?相位失真将会对信号产生什么影响?答:为了不产生相位失真,相位失真会使信号延时,产生失真。2.为什么FIR滤波器无需考虑稳定性问题?答:FIR滤波器传输函数的极点固定在原点,所以一定是稳定的系统。3.在相同的设计指标时,为何FIR数字滤波器的阶数远高于IIR数字滤波器的阶数?答:由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性。4.线性相位的条件是什么?答:如果单位脉冲响应h(n)(为实数)具有偶对称或奇对称性,则FIR数字滤波器具有线性相位特性。5.在FIR窗口法设计中,为何采用不同特性的窗函数?选用窗函数的依据是什么?答:为了改善阻带波动,依据是在满足阻带衰减的前提下,尽可能的选择主瓣宽度较小的窗函数。6.在频率取样法中,如果阻带衰耗不够,采取什么措施?答:增加过渡带采样点7.窗口法和频率取样法的优缺点是什么?答:窗口法是在时域逼近理想滤波器的单位脉冲响应,所以会用窗函数截断得到有限长的序列,因此,会产生吉布斯现象,即通带或阻带内有波动,也同时会产生过渡带;频率取样法是使所设计的M阶FIR滤波器的频率响应在M+1个取样点上与理想滤波器的频率响应相等,优点是取样点上的点严格与理想滤波器相等,但是缺点是增加滤波器阶数M对阻带的波动几乎没有改善。8.FIR数字滤波器可否设计成非因果离散系统?答:不能