(2)
[z,p,k]=buttap(2); fs=4000;
[B,A]=butter(2,fs/4,'s'); [num1,den1]=impinvar(B,A,4000); [h1,w]=freqz(num1,den1); Wn=2*4000*tan(fs/8); [B,A]=butter(2,Wn,'s');
[num2,den2]=bilinear(B,A,4000); [h2,w]=freqz(num2,den2); f=0:2*pi/(length(h1)-1):2*pi;
plot(f,abs(h2),'-.',f,abs(h1),'-','linewidth',2); xlabel('w/rad');ylabel('幅度'); title('2阶巴特沃斯低通滤波器'); legend('脉冲响应','双线性变换');
(3) num=[1]; den=[1 1.41 1]; wc=0.4*pi;
[B,A]=lp2hp(num,den,wc);
Wn=2/1*tan(0.4*pi/2); [num2,den2]=bilinear(B,A,1); [h2,w]=freqz(num2,den2); f=0:2*pi/(length(h2)-1):2*pi; plot(f,abs(h2),'linewidth',2); xlabel('w/rad');ylabel('幅度'); title('低通滤波器设计高通滤波器');
7、给予窗函数的FIR滤波器的设计
(1)设计一个30阶、通带截止角频率为0.6π的FIR低通数字滤波器,分别画出在加汉明窗、矩形窗、布莱克曼窗三种情况下滤波器的归一化幅频响应曲线,比较三种情况下幅频响应曲线的差异,冰球幅频响应曲线在阻带内最低点的dB值;
(2)设计一个30阶的带通数字滤波器,加汉明窗,通带截止角频率为[0.3π,0.6π],画出单位序列响应和幅频响应曲线;
(3)设计30阶的高通数字滤波器,加汉明窗,通带截止角频率为0.4π,画出单位序列响应和幅频响应曲线。 程序与波性: (1) N=30;
wc=0.6*pi/(2*pi);
b=fir1(N,wc,hamming(N+1));
c=fir1(N,wc,boxcar(N+1)); d=fir1(N,wc,blackman(N+1)); [h1,w]=freqz(b); [h2,w]=freqz(c); [h3,w]=freqz(d);
w=0:2*pi/(length(h1)-1):2*pi;
plot(w,abs(h1),'-.',w,abs(h2),'-',w,abs(h3),'.-.','linewidth',2); xlabel('w/rad');ylabel('幅度'); title('窗口法设计FIR低通数字滤波器'); legend('hamming','boxcar','blackman');
(2) N=30;
wc=[0.3*pi/(2*pi) 0.6*pi/(2*pi)]; b=fir1(N,wc,hamming(N+1)); n=0:1:N; figure(1) stem(n,b);
xlabel('n');ylabel('幅度'); title('单位序列响应'); [h1,w]=freqz(b);
w=0:2*pi/(length(h1)-1):2*pi; figure(2)
plot(w,abs(h1),'-','linewidth',2); xlabel('w/rad');ylabel('幅度'); title('窗口法设计FIR带通数字滤波器'); axis([0 4 0 1.2]) legend('hamming');
(3) N=30;
wc=0.4*pi/(2*pi);
b=fir1(N,wc,'high',hanning(N+1)); n=0:1:N; figure(1) stem(n,b);
xlabel('n');ylabel('幅度'); title('单位序列响应'); [h1,w]=freqz(b);
w=0:2*pi/(length(h1)-1):2*pi; figure(2)
plot(w,abs(h1),'-','linewidth',2); xlabel('w/rad');ylabel('幅度'); title('窗口法设计FIR高通数字滤波器'); axis([0 4 0 1.2]) legend('hanning');
三、总结
经过本次课程设计,让我熟悉了数字信号处理的基本知识,把课上的理论知识运用到实际中去,更近一步地巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。因为学过数字信号处理这门课,但这只是理论知识,通过实验我们才能真正理解其意义。经过这次的课程设计,让我有机会将自己学到的理论知识运用到实际中,提高了自己的动手能力和思维能力。在课程设计中发现自己的不足,所以在今后的学习和生活中我们要更加努力,学习好我们的专业知识并要能运用到实际。