资源描述:
《实验八(华电版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验八FIR数字滤波器设计及应用一、实验目的加深理解FIR数字滤波器的时域特性和频域特性,掌握FIR数字滤波器的设计原理与设计方法,以及FIR数字滤波器的应用。二、实验原理FIR数字滤波器可以设计成具有线性和位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。M阶FIR数字滤波器的系统两数为:FIR数字滤波器的单位脉冲响应h[k]是长度为M+1』〈J有限长因果序列。当满足对称条件时,该FIR数字滤波器具冇线性相位。FIR数胞波誹遑评伙鯉要冇窗口法、频率取样法及优化设计法。三、实验内容1•分别使用矩形窗、汉明窗、汉宁窗
2、设计一个阶数M=9的FIR数字低通滤波器,截频为(1)MJI1各种方法设计的数字滤波器的单位脉冲响应。(2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?(3)若输入为计算各滤波器的输出并画出其波形。7171x[k]=l+2cos(—k)+cos(—k)%Rectangularwindowbl=fir1(9,1/pi,boxcar(lO));[Hl,w]=freqz(bl,1,512);Hl_db=20*logl0(abs(Hl));%hammingwindowb2二fir1(9,1/pi,hamming(lO
3、));[H2,w]=freqz(b2,1,512);H2_db=20*logl0(abs(H2));%hanningwindowb3=firl(9,1/pi,hanning(lO));[H3,w]=freqz(b3,1,512);H3_db=20*logl0(abs(H3));subplot(3,2」);stem(bl);titled矩形窗得到的FIR滤波器脉冲响应)subplot(3,2,3);stcm(b2);title。哈明窗得到的FIR滤波器脉冲响应')subplot(3,2,5);stem(b3);titleC汉宁窗得到
4、的FIR滤波器脉冲响应)subplot(3,2,2);plot(w,Hl_db);titlc('rcctangularwindowFrequencyrcsponsc*);gridonsubplot(3,2,4);plot(w,H2_db);title('hammingwindowFrequencyresponse');gridonsubplot(3,2,6);plot(w,H3_db);title('hanningwindowFrequencyresponse');gridon矩形窗得到的FIR滤波器脉冲响应rectangula「
5、windowFrequencyresponse哈明窗得到的FIR滤波器脉冲响应0.5-05;10hammingwindowFrequencyresponsehanningwindowFrequencyresponse200汉宁窗得到的FIR滤波器脉冲响应0.50QOGI—~_1~GqQ5o510顽—1—2—3—实验内容(2)f=[01/pi1/pi1/pi1/pi1/pi1/pi1];m=[l1110.389000];b=fir2(15,f,m);[h,w]=freqz(b,1,128);legendCIdeaf,*fir2Des
6、igned*)figure(1);plot(f,m,w/pi,abs(h));gridtitleC'ComparisonofFrequencyResponseMagnitudes')figure(2);H_db=20*logl0(abs(h));plot(w,H_db);grid%改变M的值m=[l1110.589000];b2=fir2(15,f,m);[h2,w]=freqz(b2,1,128);legend('Idear,'fir2Designed*)figure(3);plot(f,m,w/pi,abs(h2));grid
7、titleCComparisonofFrequencyResponseMagnitudes')figure(4);H_db=20*log10(abs(h2));plot(w,H_db);gridQ:歼2fileEditViewInsert"oolsDeiktopxVindswHelpCJ4—实验内容(3)f=[01/pi1/pi1/pi1/pi1/pi1/pi1];m=[000.4561110.4560];b=fir2(15,f,m);[h,w]=freqz(b,1,128);legend('Idear,*fir2Designed
8、*)figure(1);plot(f,m,w/pi,abs(h));gridtitlc('Compa「isonofFrcqucncyResponseMagnitudes')figure(2);H_db=20*log10(abs(h));plot(w