资源描述:
《数字滤波器设计及应用综合实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字信号处理实验实验四、数字滤波器设计及应用综合实验学院:信息工程学院班级:电子101班姓名:学号:一、实验目的1.熟悉IIR数字滤波器的设计原理及方法。2.熟悉FIR数字滤波器的设计原理及方法。3.掌握利用Matlab实现数字滤波器的方法4.掌握利用数字滤波器进行信号处理的方法。5.了解基于Simulink的动态仿真实现信号滤波的基本方法。二、实验内容及要求实验内容:综合运用数字滤波器设计的相关知识,根据给定设计方法要求,用脉冲响应不变法和双线性变换法设计IIR数字滤波器;利用窗函数设计法设计FIR数字滤波器。根据实际信号的频谱特性,分析、确定滤波器设计技术指标,实现对信号的滤波。1.IIR
2、数字滤波器设计(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('ButterworthFilterOrder=%2.0f',N)OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N)))[b,a]=u_buttap(N,OmegaC)②、非归一化Butterworth模拟低通滤波器设计函数:fu
3、nction[b,a]=u_buttap(N,Omegac);[z,p,k]=buttap(N);p=p*Omegac;k=k*Omegac^N;B=real(poly(z));b=k*B;a=real(poly(p));③、利用脉冲响应不变法从模拟到数字滤波器变换函数:function[b,a]=imp_invr(c,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]=
4、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=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(
5、'digitalfilterMagnitudeResponse')axis([0,1,0,1.1])subplot(2,1,2);plot(w/pi,db);title('digitalfilterMagnitudeinDB')axis([0,1,-40,5]);结果:N1=5.8858N=6ButterworthFilterOrder=6OmegaC=0.7032b=0.00000.00060.01010.01610.00410.0001a=1.0000-3.36355.0684-4.27592.1066-0.57060.0661本实验波形图如下:(2)用双线性变换法设计切比雪夫数字滤波器。
6、本实验所需M文件如下:非归一化切比雪夫I型模拟低通滤波器原型设计:function[b,a]=u_chb1ap(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)
7、;Ripple=sqrt(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('ChebyshevFilterOrder=%2.0f',N)[cs,ds]=u_