用MATLAB设计IIR数字滤波器_第1页
用MATLAB设计IIR数字滤波器_第2页
用MATLAB设计IIR数字滤波器_第3页
用MATLAB设计IIR数字滤波器_第4页
用MATLAB设计IIR数字滤波器_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告 实验7 用MATLAB设计IIR数字滤波器一、实验目的:1、加深对IIR数字滤波器的基本设计方法的理解。2、掌握用模拟滤波器原型设计IIR数字滤波器的方法。3、了解MATLAB有关IIR数字滤波器设计的子函数的调用方法。二、实验内容及步骤1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。2、用双线性变换法设计切比雪夫型数字滤波器,列出传递函数并描绘模拟和数字滤波器的幅频响应曲线。 设计一个数字低通滤波器,要求:p=0.2,Rp=1dB;阻带:s=0.35,As=15dB,滤波器采样频率

2、Fs=10Hz。wp=0.2*pi; %滤波器的通带截止频率ws=0.35*pi; %滤波器的阻带截止频率Rp=1;As=15; %滤波器的通阻带衰减指标ripple=10(-Rp/20); %滤波器的通带衰减对应的幅度值Attn=10(-As/20); %滤波器的阻带衰减对应的幅度值%转换为模拟滤波器的技术指标Fs=10;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正%模拟原型滤波器计算n,Omgc=buttord(Omgp,Omgs,Rp,As,s) %计算阶数n和截止频率z0,p0,k0=bu

3、ttap(n); %设计归一化的巴特沃思模拟滤波器原型ba1=k0*real(poly(z0); %求原型滤波器的系数baa1=real(poly(p0); %求原型滤波器的系数aba,aa=lp2lp(ba1,aa1,Omgc); %变换为模拟低通滤波器 %也可将以上4行替换为bb,aa=butter(n,Omgc,s);直接求模拟滤波器系数%用双线性变换法计算数字滤波器系数bd,ad=bilinear(ba,aa,Fs) sos,g=tf2sos(bd,ad) %转换成级联型%求数字系统的频率特性H,w=freqz(bd,ad); dbH=20*log10(abs(H)+eps)/max(

4、abs(H); subplot(2,2,1);plot(w/pi,abs(H);ylabel(|H|);title(幅度响应);axis(0,1,0,1.1);set(gca,XTickMode,manual,XTick,0,0.25,0.4,1);set(gca,YTickMode,manual,YTick,0,Attn,ripple,1);gridsubplot(2,2,2);plot(w/pi,angle(H)/pi);ylabel(phi);title(相位响应);axis(0,1,-1,1);set(gca,XTickMode,manual,XTick,0,0.25,0.4,1);s

5、et(gca,YTickMode,manual,YTick,-1,0,1);gridsubplot(2,2,3);plot(w/pi,dbH);title(幅度响应(dB);ylabel(dB);xlabel(频率(pi);axis(0,1,-40,5);set(gca,XTickMode,manual,XTick,0,0.25,0.4,1);set(gca,YTickMode,manual,YTick,-50,-15,-1,0);gridsubplot(2,2,4);zplane(bd,ad);axis(-1.1,1.1,-1.1,1.1);title(零极点图);n = 4Omgc = 7

6、.9909bd = Columns 1 through 4 0.0092 0.0367 0.0550 0.0367 Column 5 0.0092ad = Columns 1 through 4 1.0000 -2.0325 1.8204 -0.7706 Column 5 0.1294sos = Columns 1 through 4 1.0000 2.0015 1.0015 1.0000 1.0000 1.9985 0.9985 1.0000 Columns 5 through 6 -0.8856 0.2220 -1.1469 0.5827g = 0.0092 设计一个数字高通滤波器,要求:

7、p=0.35,Rp=1dB;阻带:s=0.2,As=15dB,滤波器采样频率Fs=10Hz。fs=1.75;fp=1;Fs=10;T=1/Fs;wp=fp/Fs*2*pi; %滤波器的通带截止频率ws=fs/Fs*2*pi; %滤波器的阻带截止频率Rp=1;As=15; %滤波器的通阻带衰减指标ripple=10(-Rp/20); %滤波器的通带衰减对应的幅度值Attn=10(-As/20); %滤波器的阻带衰减对应的幅度值%转换为模拟滤波器的技术指标Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正%模拟原型滤波器

8、计算n,Omgc=ellipord(Omgp,Omgs,Rp,As,s) %计算阶数n和截止频率z0,p0,k0=ellipap(n,Rp,As); %设计归一化的椭圆滤波器原型ba1=k0*real(poly(z0); %求原型滤波器的系数baa1=real(poly(p0); %求原型滤波器的系数aba,aa=lp2hp(ba1,aa1,Omgc); %变换为模拟高通滤波器 %用双线性变换法计算数字滤波器系数bd,ad=bilinear(ba,aa,Fs) %求数字系统的频率特性H,w=freqz(bd,ad); dbH=20*log10(abs(H)+eps)/max(abs(H); s

9、ubplot(2,2,1);plot(w/2/pi*Fs,abs(H),k);ylabel(|H|);title(幅度响应);axis(0,Fs/2,0,1.1);set(gca,XTickMode,manual,XTick,0,fs,fp,Fs/2);set(gca,YTickMode,manual,YTick,0,Attn,ripple,1);gridsubplot(2,2,2);plot(w/2/pi*Fs,angle(H)/pi*180,k);ylabel(phi);title(相位响应);axis(0,Fs/2,-180,180);set(gca,XTickMode,manual,X

10、Tick,0,fs,fp,Fs/2);set(gca,YTickMode,manual,YTick,-180,0,180);gridsubplot(2,2,3);plot(w/2/pi*Fs,dbH);title(幅度响应(dB);ylabel(dB);xlabel(频率(pi);axis(0,Fs/2,-40,5);set(gca,XTickMode,manual,XTick,0,fs,fp,Fs/2);set(gca,YTickMode,manual,YTick,-50,-20,-1,0);gridsubplot(2,2,4);zplane(bd,ad);axis(-1.1,1.1,-1.

11、1,1.1);title(零极点图);n = 2Omgc = 12.2560bd = 0.5214 -0.9187 0.5214ad = 1.0000 -0.7516 0.44923、设计一个切比雪夫型数字带通滤波器,要求:;阻带,滤波器采样周期Ts=0.001s。列出传递函数并作频率响应曲线和零极点分布图。wp1=0.4*pi;wp2=0.6*pi; %滤波器的通带截止频率ws1=0.3*pi;ws2=0.7*pi; %滤波器的阻带截止频率Rp=1;As=20; %滤波器的通阻带衰减指标%转换为模拟滤波器的技术指标T=0.001;Fs=1/T;Omgp1=(2/T)*tan(wp1/2);O

12、mgp2=(2/T)*tan(wp2/2);Omgp=Omgp1,Omgp2;Omgs1=(2/T)*tan(ws1/2);Omgs2=(2/T)*tan(ws2/2);Omgs=Omgs1,Omgs2;bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2); %模拟通带带宽和中心频率%bw=Omgs2-Omgs1;w0=sqrt(Omgs1*Omgs2); 设计cheb2时用模拟阻带带宽和中心频率,ripple=10(-Rp/20); %滤波器的通带衰减对应的幅度值Attn=10(-As/20); %滤波器的阻带衰减对应的幅度值%模拟原型滤波器计算n,Omgn=cheb1or

13、d(Omgp,Omgs,Rp,As,s) %计算阶数n和截止频率z0,p0,k0=cheb1ap(n,Rp); %设计归一化的模拟滤波器原型%n,Omgn=cheb2ord(Omgp,Omgs,Rp,As,s) %z0,p0,k0=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型ba1=k0*real(poly(z0); %求原型滤波器的系数baa1=real(poly(p0); %求原型滤波器的系数aba,aa=lp2bp(ba1,aa1,w0,bw); %变换为模拟带通滤波器%用双线性变换法计算数字滤波器系数bd,ad=bilinear(ba,aa,Fs) %求数字系

14、统的频率特性H,w=freqz(bd,ad); dbH=20*log10(abs(H)+eps)/max(abs(H); subplot(2,2,1);plot(w/pi,abs(H);ylabel(|H|);title(幅度响应);axis(0,1,0,1.1);set(gca,XTickMode,manual,XTick,0,0.2,0.3,0.7,0.8);set(gca,YTickMode,manual,YTick,0,Attn,ripple,1);gridsubplot(2,2,2);plot(w/pi,angle(H)/pi*180);ylabel(phi);title(相位响应)

15、;axis(0,1,-180,180);set(gca,XTickMode,manual,XTick,0,0.2,0.3,0.7,0.8);set(gca,YTickMode,manual,YTick,-180,-90,0,90,180);gridsubplot(2,2,3);plot(w/pi,dbH);title(幅度响应(dB);ylabel(dB);xlabel(频率(pi);axis(0,1,-60,5);set(gca,XTickMode,manual,XTick,0,0.2,0.3,0.7,0.8);set(gca,YTickMode,manual,YTick,-60,-20,-1,0);gridsubplot(2,2,4);zplane(bd,ad);axis(-1.1,1.1,-1.1,1.1);title(零极点图)n = 3Omgn = 1.0e+003 * 1.4531 2.7528bd = 0.0115 0.0000 -0.0344 -0.0000 0.0344 -0.0000 -0.0115ad = 1.0000 -0.0000 2.1378 -0.0000 1.7693 0.0000 0.5398三、.实验小结1、认真阅读实验原理,明确本次实验任务,读懂例题程序,了解实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论