您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 实验四用窗函数法设计FIR滤波器实验报告
yu实验四用窗函数法设计FIR滤波器(一)实验目的1.掌握窗函数法设计FIR滤波器的原理和方法,观察用几种常用窗函数设计的FIR数字滤波器技术指标;2.掌握FIR滤波器的线性相位特性;3.了解各种窗函数对滤波特性的影响。(二)实验原理如果所希望的滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为deeHnhnjjd)(21)(,用窗函数wN(n)将hd(n)截断,并进行加权处理,得到实际滤波器的单位脉冲响应h(n)=hd(n)wN(n),其频率响应函数为njNnjenheH10)()(。如果要求线性相位特性,则h(n)还必须满足)1()(nNhnh。可根据具体情况选择h(n)的长度及对称性。(三)实验内容1、生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。实验代码以及运行结果%矩形窗及其频响n=15;window1=rectwin(n);[h1,w1]=freqz(window1,1);subplot(2,1,1);stem(window1);title('矩形窗');subplot(2,1,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响');%三角窗及其频响n=15;window2=triang(n);[h2,w2]=freqz(window2,1);subplot(2,1,1);stem(window2);title('三角窗');subplot(2,1,2);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三角窗频响');yu%汉宁窗及其频响n=15;window3=hann(n);window3=hann(n);[h3,w3]=freqz(window3,1);subplot(2,1,1);stem(window3);title('汉宁窗');subplot(2,1,2);plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响');%海明窗频响n=15;window4=hamming(n);[h4,w4]=freqz(window4,1);subplot(2,1,1);stem(window4);title('海明窗');subplot(2,1,2);plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('海明窗频响');运行结果:yu2、根据下列技术指标,设计一个FIR数字低通滤波器:wp=0.2π,ws=0.4π,ap=0.25dB,as=50dB,选择一个适当的窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。提示:根据窗函数最小阻带衰减的特性表,可采用海明窗可提供大于50dB的衰减,其过渡带为6.6π/N,因此具有较小的阶次。实验代码%用窗函数法设计FIR滤波器clearall;N=33;Wc=0.3*pi;%理想低通滤波器设计(怎样设计理想高通、带通、带阻滤波器?)alpha=(N-1)/2;n=[0:(N-1)];m=n-alpha+eps;hd=sin(Wc*m)./(pi*m);B=hamming(N);%海明窗string=['Hamming','N=',num2str(N)];h=hd.*(B)';%加窗截取%以上过程可直接调用FIR1实现%wc=Wc/pi;%频率归一化%h=fir1(N-1,wc,hamming(N));[H,m]=freqz(h,[1],1024,'whole');%频率响应mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);subplot(2,2,1)n=0:N-1;stem(n,h,'.')axis([0N-1-0.10.3])holdonn=0:N-1;x=zeros(N);plot(n,x,'-')holdoffxlabel('n')ylabel('h(n)')yutitle('实际低通滤波器的h(n)')text(0.3*N,0.27,string)subplot(2,2,2)plot(m/pi,db)axis([01-1000])xlabel('w/pi')ylabel('dB')title('副频衰减特性')gridonsubplot(2,2,3)plot(m,pha)holdonn=0:7;x=zeros(8);plot(n,x,'-')holdoffaxis([03.15-44])xlabel('频率(rad)')ylabel('相位(rad)')title('相频特性')subplot(2,2,4)plot(m,mag)axis([03.1501.5])xlabel('频率W(rad)')ylabel('幅值')title('幅频特性')text(0.9,1.2,string)运行结果yu(四)实验心得本次实验是使用窗函数来设计FIR滤波器,在MATLAB中只需要将给定的参数输入到函数中即可马上得到处结果。通过本次实验,我对使用MATLAB快速设计滤波器的流程更为熟练,同时,也由衷地感叹MATLAB的功能强大之处,它让我们在设计时能节约大量的时间,并且百分百正确地得出结果。根据输入的参数以及结果,使我对课本上的设计滤波器的知识更为了解。更加巩固了理论知识。虽然这是最后一次的实验课,还是非常感谢老师的教导,使我在利用MATLAB处理信号这方面有了很大的了解,对自身的帮助非常大。
本文标题:实验四用窗函数法设计FIR滤波器实验报告
链接地址:https://www.777doc.com/doc-2459832 .html