资源描述:
《IIR数字滤波器设计及软件实现程序代码matlab》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四:HR数字滤波器设计及软件实现1、原信号函数(1)原信号程序functionst=mgstN=800;Fs=10000;T=l/Fs;Tp=N*T;0:T:(N-l)*T;k=O:N-l;f=k/Tp;fcl=Fs/10;fml=fcl/10;fc2=Fs/20;fm2=fc2/10;fc3=Fs/40;fm3=fc3/10;xtl=cos(2*pi*fml*t).*cos(2*pi*fcl*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*
2、fm3*t).*cos(2*pi*fc3*t);xtl+xt2+xt3;fxt=fft(st,N);subplot(4,1,1);plot(t,st);grid;xlabel(1t/s1);ylabel(1s(t)1);axis([0,Tp/8,min(st:),max(st)]);title(1(a)s(t)pADI1);subplot(4,1,2);stem(f,abs(fxt)/max(abs(fxt)),1•1);grid;title(1(b)y(t)1)axis([0,Fs/5,0,1.2])
3、;xlabel(1f/Hz1);ylabel(,・u^
4、E1)(1)输出波形2、高通滤波器(1)程序设计务高通滤波器设计fp=800;fs=700;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=l;rs=40;N=800;st=mgst;T=l/Fs;Tp=N*T;t=0:T:(N-l)*T;k=O:;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N1,rp,rs,wpo,1high1);y=filter(B,A,st);fyt
5、=fft(y,N);figure(2);subplot(2,1,1),plot(t,y),grid,xlabel('t/y1),ylabel('y(t)'),axis([0,Tp/8,min(y),max(y)]),title('(a)y(t)pA2""DI1)subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.1);grid;title(1(b)y(t)1)axis([0zFs/5z0,1.2]);xlabel(1f/Hz1);ylabel(1・u^E1)(2
6、)输出波形(a)y(t)的形t/y(b)y(t)的频谱3、带通滤波器(1)设计程序%带通滤波器fpl=400;fpu=600;fsl=350;fsu=650;Fs=10000;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=l;rs=40;N=800;st=mgst;T=l/Fs;Tp=N*T;t=0:T:(N-l)*T;k=0:N-l;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N1,rp,rs,
7、wpo);fyt=fft(y,N);figure(2);subplot(2,1,1),plot(t,y),grid,xlabel('t/y1),ylabel('y(t)'),axis([0,Tp/8,min(y),max(y)]),title('(a)y(t)pA2""DI1)subplot(2,1,2);y=filter(BzA,st);stem(f,abs(fyt)/max(abs(fyt)),'.1);grid;title(1(b)y(t)pAjEpJEx1)axis([0,Fs/5,0,1.2]
8、);xlabel('f/Hz');ylabelJ・u1
9、E1)(2)输岀波形(a)y(t)的波形t/y(b)y(t)的频谱log4、低通滤波器设计(1)设计程序抽氐通滤波器fp=350;fs=400;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=l;rs=40;N=800;st=mgst;T=l/Fs;Tp=N*T;t=0:T:(N-l)*T;k=0:;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rpzrs);[B,A]=ellip(N1,rp,rs,wpo);y
10、=filter(B,A,st);fyt=fft(y,N);figure(2);subplot(2,1,1),plot(t,y),grid,xlabel(1t/y1),ylabel(1y(t)1),axis([0,Tp/8,min(y),max(y)])ftitle('(a)y(t)pA2"DI')subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.1);grid;title(1(b)y(t)1)ax