首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用双线性变换法设计IIR 滤波器MATLAB实现

用双线性变换法设计IIR 滤波器MATLAB实现

作者头像
timerring
发布2022-07-20 14:27:33
发布2022-07-20 14:27:33
96600
代码可运行
举报
文章被收录于专栏:TechBlogTechBlog
运行总次数:0
代码可运行

一、实验目的

1.掌握双线性变换法设计IIR 数字滤波器的原理及具体设计方法。 2.观察用双线性变换法设计的滤波器的时域特性和频域特性,比较所设计的数字滤波器的 和相应模拟滤波器的频域特性,了解双线性变换法的特点。 3 熟悉双线性变化法设计巴特沃兹、切比雪夫和椭圆型数字滤波器的全过程。 二、实验原理 在滤波器的设计过程中,逼近是一个最重要的环节,所谓的逼近就是根据性能指标的要求, 对理想特性进行逼近,以求得一个因果、稳定且可实现的传递函数。 有以下变换方法:

 四、实验报告要求及思考题 1.简述实验目的及原理 2.整理好经过运行并证明是正确的实验程序并加上注释。绘出相应的图形。 3.双线性变换法有什么优点,这种变换方法怎样解决频率轴的非线性畸变问题?MATLAB 滤 波器设计子程序设计数字低通滤波器的时候,函数采用的使脉冲响应不变法还是双线性变换 法?

代码语言:javascript
代码运行次数:0
运行
复制
wp=0.2*pi;
ws=0.3*pi;
rp=1;
as=15;
Fs=1000;
T=1/Fs;
op=(2/T)*tan(wp/2);
os=(2/T)*tan(ws/2);
figure;
[n,oc]=buttord(op,os,rp,as,'s');
[z,p,k]=buttap(n);
b=k*real(poly(z));
a=real(poly(p));
[b,a]=lp2lp(b,a,oc);
[b,a]=bilinear(b,a,Fs);
[H,w]=freqz(b,a);
subplot(221),plot(w/pi,abs(H));
title('巴特幅频特性');xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(222),plot(w/pi,angle(H));title('巴特相频特性');xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(223),plot(w/pi,20*log10(abs(H)/max(abs(H))));title('巴特分贝幅频特性');
xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(224),grpdelay(b,a);
figure;
[n,oc]=cheb1ord(op,os,rp,as,'s');
[z,p,k]=cheb1ap(n,rp);
b=k*real(poly(z));
a=real(poly(p));
[b,a]=lp2lp(b,a,oc);
[b,a]=bilinear(b,a,Fs);
[H,w]=freqz(b,a);
subplot(221),plot(w/pi,abs(H));
title('切比1幅频特性');xlabel('单位:Xpi');set(gca,'Xtick',[0.2,0.3]);grid;
subplot(222),plot(w/pi,angle(H));title('切比1相频特性');xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(223),plot(w/pi,20*log10(abs(H)/max(abs(H))));title('切比1分贝幅频特性');
xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(224),grpdelay(b,a);
figure;
[n,oc]=cheb2ord(op,os,rp,as,'s');
[z,p,k]=cheb2ap(n,as);
b=k*real(poly(z));
a=real(poly(p))
[b,a]=lp2lp(b,a,oc);
[b,a]=bilinear(b,a,Fs);
[H,w]=freqz(b,a);
subplot(221),plot(w/pi,abs(H));
title('切比2幅频特性');xlabel('单位:Xpi');set(gca,'Xtick',[0.2,0.3]);grid;
subplot(222),plot(w/pi,angle(H));title('切比2相频特性');xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(223),plot(w/pi,20*log10(abs(H)/max(abs(H))));title('切比2分贝幅频特性');
xlabel('单位:Xpi');set(gca,'Xtick',[0.2,0.3]);grid;
subplot(224),grpdelay(b,a);
figure;
[n,oc]=ellipord(op,os,rp,as,'s');
[z,p,k]=ellipap(n,rp,as);
b=k*real(poly(z));
a=real(poly(p));
[b,a]=lp2lp(b,a,oc);
[b,a]=bilinear(b,a,Fs);
[H,w]=freqz(b,a);
subplot(221),plot(w/pi,abs(H));
title('椭圆幅频特性');xlabel('单位:Xpi');set(gca,'Xtick',[0.2,0.3]);grid;
subplot(222),plot(w/pi,angle(H));title('椭圆相频特性');xlabel('单位:Xpi');
set(gca,'Xtick',[0.2,0.3]);grid;
subplot(223),plot(w/pi,20*log10(abs(H)/max(abs(H))));title('椭圆分贝幅频特性');
xlabel('单位:Xpi');set(gca,'Xtick',[0.2,0.3]);grid;
subplot(224),grpdelay(b,a);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档