实验四IIR数字滤波器设计及软件实现实验报告
fp=[430 570];fs=[330 670];Ap=0.1;As=60; wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
Wp=(2*Fs)*tan(wp/2);Ws=(2*Fs)*tan(ws/2); [N,Wc]= ellipord(Wp ,Ws ,Ap ,As ,'s'); [bBPs ,aBPs]=ellip(N ,Ap,As,Wc,'s') ; [H,w]=freqs(bBPs,aBPs); db =20*log10(abs(H));
figure,subplot(2,1,1),plot(w/2/pi,db); axis([0 1600 -80 5]),grid
title('模拟带通滤波器的幅度特性'); xlabel('f(Hz)'); ylabel('dB')
%%3.2b 将模拟带通滤波器转换为数字带通滤波器 [bBPz,aBPz] = bilinear(bBPs ,aBPs ,Fs) ; w = linspace(0,pi,1000) ; h = freqz(bBPz,aBPz ,w) ;
subplot(2,1,2),plot(w*Fs/2/pi,20*log10(abs(h)) ) ; axis([0 1600 -80 5]),grid
title('数字低通滤波器的幅度特性'); xlabel('f(Hz)' ) ; ylabel('dB' ) ;
%%3.3a 设计模拟高通滤波器 fp=800;fs=700;Ap=0.1;As=60; wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
Wp=(2*Fs)*tan(wp/2);Ws=(2*Fs)*tan(ws/2); [N,Wc]= ellipord(Wp ,Ws ,Ap ,As ,'s');
[bHPs ,aHPs]=ellip(N,Ap,As,Wc ,'high','s') ; [H,w]=freqs(bHPs,aHPs); db =20*log10(abs(H));
figure,subplot(2,1,1),plot(w/2/pi,db); axis([0 1600 -80 5]),grid
title('模拟高通滤波器的幅度特性'); xlabel('f(Hz)'); ylabel('dB')
%%3.3b 将模拟高通滤波器转换为数字高通滤波器 [bHPz,aHPz] = bilinear(bHPs ,aHPs ,Fs) ; w = linspace(0,pi,1000) ; h = freqz(bHPz,aHPz ,w) ;
subplot(2,1,2),plot(w*Fs/2/pi,20*log10(abs(h)) ) ; axis([0 1600 -80 5]),grid
title('数字高通滤波器的幅度特性'); xlabel('f(Hz)' ) ; ylabel('dB' ) ;
%(4)用得到的滤波器进行滤波,分离出三路信号,观察时域波形和幅频特性
12页 第11页共
实验四IIR数字滤波器设计及软件实现实验报告
%%4.1 滤波
s1 = filter(bLPz,aLPz,s); s2 = filter(bBPz,aBPz,s); s3 = filter(bHPz,aHPz,s); %%4.2 时域波形
figure,subplot(3,1,1),plot(t,s1) xlabel('t/s'),ylabel('s1(t)') subplot(3,1,2),plot(t,s2) xlabel('t/s'),ylabel('s2(t)') subplot(3,1,3),plot(t,s3) xlabel('t/s'),ylabel('s3(t)') %%4.3 幅频特性
ft1=fftshift(fft(s1));ft2=fftshift(fft(s2));ft3=fftshift(fft(s3)); figure,subplot(3,1,1),stem(f,abs(ft1),'Marker','none'),xlim([0 1250]) subplot(3,1,2),stem(f,abs(ft2),'Marker','none'),xlim([0 1250]) subplot(3,1,3),stem(f,abs(ft3),'Marker','none'),xlim([0 1250]) %(5)用三路信号s1,s2,s3尝试重新合成原始信号 ss=s1+s2+s3;%合成信号记作ss
isequal(s,ss)%判断合成信号是否和原信号相等,结果不相等,why?
[ 本帖最后由 cwjy 于 2010-5-3 18:19 编辑 ]
第12页共12页