数字滤波器设计及应用综合实验样本[参照]

上传人:x****育 文档编号:143411039 上传时间:2020-08-29 格式:PDF 页数:17 大小:1,009.68KB
返回 下载 相关 举报
数字滤波器设计及应用综合实验样本[参照]_第1页
第1页 / 共17页
数字滤波器设计及应用综合实验样本[参照]_第2页
第2页 / 共17页
数字滤波器设计及应用综合实验样本[参照]_第3页
第3页 / 共17页
数字滤波器设计及应用综合实验样本[参照]_第4页
第4页 / 共17页
数字滤波器设计及应用综合实验样本[参照]_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数字滤波器设计及应用综合实验样本[参照]》由会员分享,可在线阅读,更多相关《数字滤波器设计及应用综合实验样本[参照](17页珍藏版)》请在金锄头文库上搜索。

1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 数字信号处理实验 实验四、数字滤波器设计及 应用综合实验 学院: 信息工程学院 班级: 电子 101 班 姓名: 学号: 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 一、 实验目的 1熟悉 IIR 数字滤波器的设计原理及方法。 2熟悉 FIR 数字滤波器的设计原理及方法。 3. 掌握利用 Matlab 实现数字滤波器的方法 4. 掌握利用数字滤波器进行信号处理的方法。 5. 了解基于 Simulink 的动态仿真实现信号滤波的基本方法。 二、 实验内容及要求 实验内容 : 综合运用数字滤波器设计的相关知识, 根

2、据给定设计方法要求, 用脉冲响 应不变法和双线性变换法设计IIR 数字滤波器 ; 利用窗函数设计法设计FIR数字 滤波器。根据实际信号的频谱特性, 分析、确定滤波器设计技术指标 , 实现对 信号的滤波。 1IIR 数字滤波器设计 ( 1) 用脉冲响应不变法设计巴特沃斯数字滤波器。 该实验所需 M文件如下 : 、 butterworth低通滤波器原型设计函数: function b,a=afd_butt(Wp,Ws,Rp,As) N=ceil(log10(10(Rp/10)-1)/(10(As/10)-1)/(2*log10(Wp/Ws) fprintf(n Butterworth Filter

3、 Order=%2.0fn,N) OmegaC=Wp/(10(Rp/10)-1)(1/(2*N) b,a=u_buttap(N,OmegaC) 、 非归一化 Butterworth模拟低通滤波器设计函数 : function b,a=u_buttap(N,Omegac); z,p,k=buttap(N); p=p*Omegac; k=k*OmegacN; B=real(poly(z); 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 b=k*B; a=real(poly(p); 、 利用脉冲响应不变法从模拟到数字滤波器变换函数: function b,a=imp_invr(c,

4、d,T) R,p,k=residue(c,d); p=exp(p*T); b,a=residuez(R,p,k); b=real(b); a=real(a); 、 频率响应函数 freqz 的修正 : function db,mag,pha,w=freqz_m(b,a); H,w=freqz(b,a,1000,whole); H=(H(1:501); w=(w(1:501); mag=abs(H); db=20*log10(mag+eps)/max(mag); pha=angle(H); 本实验程序如下 : wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1; OmegaP=

5、wp/T;OmegaS=ws/T; cs,ds=afd_butt(OmegaP,OmegaS,Rp,As); b,a=imp_invr(cs,ds,T) db,mag,pha,w=freqz_m(b,a); subplot(2,1,1);plot(w/pi,mag); title(digital filter Magnitude Response) axis(0,1,0,1.1) subplot(2,1,2);plot(w/pi,db); 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 title(digital filter Magnitude in DB) axis(0,1

6、,-40,5); 结果: N1 = 5.8858 N = 6 Butterworth Filter Order= 6 OmegaC = 0.7032 b = 0.0000 0.0006 0.0101 0.0161 0.0041 0.0001 a = 1.0000 -3.3635 5.0684 -4.2759 2.1066 -0.5706 0.0661 本实验波形图如下 : 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 ( 2) 用双线性变换法设计切比雪夫数字滤波器。 本实验所需 M文件如下 : 非归一化切比雪夫I 型模拟低通滤波器原型设计: function b,a=u_ch

7、b1ap(N,Rp,Omegac); z,p,k=cheb1ap(N,Rp); a=real(poly(p); aNn=a(N+1); p=p*Omegac; a=real(poly(p); aNu=a(N+1); k=k*aNu/aNn; B=real(poly(z); b=k*B; 本实验程序如下 : wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1; 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 OmegaP=(2/T)*tan(wp/2); OmegaS=(2/T)*tan(ws/2); ep=sqrt(10(Rp/10)-1); Ripple=s

8、qrt(1/(1+ep*ep); Attn=1/(10(As/20); A1=1/Attn;a1=sqrt(A1*A1-1)/ep; a2=OmegaS/OmegaP; N=ceil(logm(a1+sqrt(a1*a1-1)/logm(a2+sqrt(a2*a2-1); fprintf(n Chebyshev Filter Order=%2.0fn,N) cs,ds=u_chb1ap(N,Rp,OmegaP); b,a=bilinear(cs,ds,1/T) db,mag,pha,w=freqz_m(b,a); subplot(2,1,1);plot(w/pi,mag); title(dig

9、ital filter Magnitude Response); axis(0,1,0,1.1) subplot(2,1,2);plot(w/pi,db); title(digital filter Magnitude in DB); axis(0,1,-40,5); Chebyshev Filter Order= 4 b = 0.0018 0.0073 0.0110 0.0073 0.0018 a = 1.0000 -3.0543 3.8290 -2.2925 0.5507 本实验波形如下 : 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 ( 3) 用双线性变换法设计巴特沃

10、斯数字滤波器, 并将直接型结构转换成级联型 结构。 将直接形式变为级联形式函数: function b0,B,A=dir2cas(b,a) b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0; M=length(b); N=length(a); if NM b=b zeros(1,N-M); elseif MN a=a zeros(1,M-N); else NM=0; end K=floor(N/2); B=zeros(K,3); A=zeros(K,3); if K*2=N 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 b=b 0; a=a 0;

11、end broots=cplxpair(roots(b); aroots=cplxpair(roots(a); for i=1:2:2*K Brow=broots(i:1:i+1,:); Brow=real(poly(Brow); B(fix(i+1)/2,:)=Brow; Arow=aroots(i:1:i+1,:); Arow=real(poly(Arow); A(fix(i+1)/2,:)=Arow; end 本实验程序如下 : wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1; OmegaP=(2/T)*tan(wp/2); OmegaS=(2/T)*tan(ws/

12、2); cs,ds=afd_butt(OmegaP,OmegaS,Rp,As); b,a=bilinear(cs,ds,T) db,mag,pha,w=freqz_m(b,a); subplot(2,1,1);plot(w/pi,mag); title(digital filter Magnitude Response); axis(0,1,0,1.1) subplot(2,1,2);plot(w/pi,db); title(digital filter Magnitude in DB); axis(0,1,-40,5); b0,B,A=dir2cas(b,a) 结果: 资料内容仅供您学习参考

13、,如有不当或者侵权,请联系改正或者删除。 N1 = 5.3044 N = 6 Butterworth Filter Order= 6 OmegaC = 0.7273 b = 0.0006 0.0035 0.0087 0.0116 0.0087 0.0035 0.0006 a = 1.0000 -3.3143 4.9501 -4.1433 2.0275 -0.5458 0.0628 B = 1.0000 2.0335 1.0338 1.0000 1.9996 1.0000 1.0000 1.9669 0.9673 A = 1.0000 -0.9459 0.2342 1.0000 -1.0541

14、0.3753 1.0000 -1.3143 0.7149 本实验波形如下 : 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 2. FIR数字滤波器设计 本实验所需 M文件如下 : function hd=ideal_lp(wc,M); alpha=(M-1)/2; n=0:(M-1); m=n-alpha+eps; hd=sin(wc*m)./(pi*m); 本实验程序如下 : f1=100;f2=200; fs= ; m=(0.3*f1)/(fs/2); M=round(8/m); N=M-1; b=fir1(N,0.5*f2/(fs/2); figure(1) 资料内容仅

15、供您学习参考,如有不当或者侵权,请联系改正或者删除。 h,f=freqz(b,1,512); %H,W=freqz(B,A,N) plot(f*fs/(2*pi),20*log10(abs(h) xlabel(频率/ 赫兹); ylabel(增益/ 分贝); title(滤波器的增益响应 ); figure(2) subplot(211) t=0:1/fs:0.5; s=sin(2*pi*f1*t)+sin(2*pi*f2*t); plot(t,s); xlabel(时间/ 秒); ylabel(幅度); title(信号滤波前时域图 ); subplot(212) Fs=fft(s,512); AFs=abs(Fs); f=(0:255)*fs/512; plot(f,AFs(1:256); xlabel(频率/ 赫兹);ylabel(幅度); title(信号滤波前频域图 ); figure(3) sf=filter(b,1,s); subplot(211) plot(t,sf) xlabel(时间/ 秒); ylabel(幅度); title(信号滤波后时域图 ); axis(0.2 0.5 -2 2); subplot(212) 资料内容仅供您学习参考,如有不当或者侵权,请联系改正

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号