资源描述:
《实验4 用窗函数法设计fir数字滤波器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验4用窗函数法设计FIR数字滤波器一、实验目的1.掌握用窗函数法设计FIR数字滤波器的原理与方法。2.熟悉线性相位FIR数字滤波器的特性。3.了解各种窗函数对滤波特性的影响。二、实验内容和要求1.复习用窗函数法设计FIR数字滤波器一节内容,掌握设计步骤。2.用升余弦窗设计一线性相位低通FIR数字滤波器,截止频率。窗口长度N=15,33。要求在两种窗口长度情况下,分别求出,打印出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽。总结窗口长度N对滤波器特性的影响。设计低通FIR数字滤波器时,一般
2、以理想低通滤波特性为逼近函数,即,其中3.,,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB带宽和20dB带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。三、实验方法、步骤及结果测试窗函数设计法的基本原理是用有限长单位脉冲响应序列逼近。由于往往是无限长序列,而且是非因果的,所以用窗函数将截断,并进行加权处理,得到:。就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为中,N为所选窗函数的长度。四、下面给出MATLAB主程序:closeall;i=0;N=i
3、nput('输入窗函数长度N=?(输入N=0退出)');4while(N~=0);w=input('输入逼近理想低通滤波器的截止频率Wc=?');n=0:(N-1);alpha=(N-1)/2;m=n-alpha+eps;hd=sin(w*m)./(pi*m);k=input('请选择窗函数类型(1=boxcar;2=hamming;3=hanning;4=blackman;');ifk==1B=boxcar(N);string=['boxcar,N=',num2str(N)];elseifk==2B=
4、hamming(N);string=['hamming,N=',num2str(N)];elseifk==3B=hanning(N);string=['hanning,N=',num2str(N)];elseB=blackman(N);string=['blackman,N=',num2str(N)];endh=hd.*(B)';[H,m]=freqz(h,[1],1024,'whole');db=20*log10(abs(H)+eps);pha=angle(H);i=i+1;figure(i);sub
5、plot(2,2,1);stem(n,h,'.r');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.275,string);subplot(2,2,2);plot(m/pi,db,'m');axis([0,1,-100,0]);xlabel('w/pi');ylabel('db');title('衰减特性(db)');4grid;subplot(2,2,3);plot(m,ph
6、a);holdon;plot(0:4,zeros(5),'-k');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(m,abs(H));title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.3,string);N=input('输入窗函数长度N=?(输入N=0退出)');e
7、nd程序运行结果:运行程序,根据实验内容要求和程序提示选择你要进行的实验参数。三个实验参数选定后,程序运行输出用所选窗函数设计的实际FIR低通数字滤波器的单位脉冲响应h(n)、幅频衰减特性(20lg
8、H(ejw)
9、)、相频特性及幅频特性
10、H(ejw)
11、的波形,h(n)和
12、H(ejw)
13、图中标出了所选窗函数类型及其长度N值。对四种窗函数(N=15和N=33)的程序运行结果如图4-2到图4-9所示,由图可以看出用各种窗函数设计的FIR滤波器的阻带最小衰减及过渡带均与教材中一致。在通带内均为严格相位特性。一、
14、实验结果4N=15的矩形4