iir数字滤波器设计及matlab实现,iir数字滤波器设计及其matlab实现

41528d3028836879cd698677c3999917.gifiir数字滤波器设计及其matlab实现

1IIR 数字滤波器设计及其 MATLAB 实现自动化学院 杨梅 201422070125摘 要IIR 数 字 滤 波 器 在 设 计 上 可 以 借 助 成 熟 的 模 拟 滤 波 器 的 成 果 ,如 巴 特 沃 斯 、 契 比 雪 夫 和 椭 圆 滤 波 器 等 。 在 设 计 一 个 IIR 数 字 滤波 器 时 , 我 们 根 据 指 标 先 写 出 模 拟 滤 波 器 的 设 计 方 法 设 计 一 个 满足 数 字 滤 波 器 指 标 的 模 拟 滤 波 器 , 然 后 通 过 一 定 的 变 换 , 将 模 拟滤 波 器 转 换 成 数 字 滤 波 器 。 本 文 介 绍 了 IIR 数 字 滤 波 器 设 计 , 主要 分 析 了 其 在 满 足 上 述 要 求 下 的 工 程 方 法 , 冲 激 响 应 不 变 法 和 双线 性 变 换 法 。 通 过 理 论 与 实 践 的 分 析 对 比 , 表 明 了 两 种 方 法 的 优弊 端 。关键词 IIR 数字滤波器;M ATLAB; 冲激响应不变法;双线性变换法1. 引言IIR 数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。对于 IIR 数字滤波器的设计具体步骤: (1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。(2)根据转换后的技术指标设计模拟低通滤波器 G(s)(G(s)是低通滤2波器的传递函数)。(3) 再按照一定的规则将 G(s)转换成 H(z)(H(z)是数字滤波器的传递函数).下面从原理分析在到实践来分析设计用冲激响应不变法和双线性变换法来设计 IIR 数字滤波器的过程。2. 目标分析冲激响应不变法是一种简单的转换方法,它可以将一个稳定的连续时间系统转换为一个稳定的离散时间系统,而且可以使离散时间系统的冲激响应形状和连续时间系统相同,但是,由于连续时间系统的频率响应往往不是限带频谱,因此,这种方法存在着频谱混叠的现象。这种混叠将造成频谱高端的严重失真,从而使得这种方法只适用于低通滤波器或者频谱限带的高通或带通。与脉冲响应不变法相比,双线性变换的主要优点:靠频率的严重非线性关系得到 S 平面与 Z 平面的单值一一对应关系,整个 jΩ 轴单值对应于单位圆一周,这个关系就是式 所表示的,其中 ω 和 Ω为非线性关系。如图图中看到,在零频率附近,Ω~ω 接近于线性关系,Ω 进一步增加时,ω 增长变得缓慢, (ω 终止于折叠频率处) ,所以双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象。双线性变换法的缺点:Ω 与 ω 的非线性关系,导致数字滤波器的幅频响应相对于模拟滤波器的幅频响应有畸变,(使数字滤波器与模拟滤波器在响应与频率的对应关系上发生畸变)。下面通过实例来分析两种方法设计 IIR 低通滤波器。3. 实例分析设计低通数字滤波器,要求在通带内频率低于 0.2πrad 时,允许3幅度误差在 1dB 以内,在频率 0.3πrad 到 πrad 之间的阻带衰减大于 15dB。用脉冲响应不变法设计数字滤波器。T=1。,要求利用-切比雪夫滤波器原型来设计 IIR 低通滤波器。需要对信号做频谱分析,为了简便对比,对信号进行频谱分析时,这里统一采用无纲量的归一化频率单位,即模拟频率对采样频率归一化;模拟角频率对采样角频率归一化;数字频率对 2π 归一化。方法步骤先将技术指标转换为模拟低通滤波器的技术指标,再求出阶数 N,查表,得出模拟低通滤波器 G(s),按一定规则 G(s)转换成 H(z),并作出频谱分析的图像,利用 MATLAB 实现上述分析过程的程序如下:冲激响应不变法:wp=0.2*pi;wr=0.3*pi;Ap=1;Ar=15;T=1;Omegap=wp/T;Omegar=wr/T;[cs,ds]=afd_chb1(Omegap,Omegar,Ap,Ar) %切比雪夫 1 型[C,B,A]=sdir2cas(cs,ds); %模拟滤波器级联型[db,mag,pha,Omega]=freqs_m(cs,ds,pi); %模拟滤波器响应subplot(224);plot(Omega/pi,mag);title( 模拟滤波器幅度响应|Ha(j\Omega| );[b,a]=imp_invr(cs,ds,T); %脉冲响应不变法设计[C,B,A]=dir2par(b,a) %数字低通滤波器并联[db,mag,pha,w]=freqz_m(b,a); %数字滤波器响应subplot(2,2,1);plot(w/pi,mag);title( 数字滤波器幅度响应|H(ej\omega| );4subplot(2,2,2);plot(w/pi,db);title( 数字滤波器幅度响应 (dB) );subplot(2,2,3);plot(w/pi,pha/pi);title( 数字滤波器相位响应 );双线性变换法:wp=0.2*pi;wr=0.3*pi;Ap=1;Ar=15;T=1;Omegap=(2/T)*tan(wp/2);Omegar=(2/T)*tan(wr/2);[cs,ds]=afd_chb1(Omegap,Omegar,Ap,Ar) %切比雪夫原型[C,B,A]=sdir2cas(cs,ds); %模拟滤波器级联型[db,mag,pha,Omega]=freqs_m(cs,ds,pi); %模拟滤波器响应subplot(224);plot(Omega/pi,mag);title( 模拟滤波器幅度响应|Ha(j\Omega| );[b,a]=bilinear(cs,ds,T); %双线性变换法设计[C,B,A]=dir2cas(b,a) %数字低通滤波器级联型[db,mag,pha,w]=freqz_m(b,a); %数字滤波器响应subplot(2,2,1);plot(w/pi,mag);title( 数字滤波器幅度响应|H(ej\omega| );subplot(2,2,2);plot(w/pi,db);title( 数字滤波器幅度响应 (dB) );subplot(2, ,23);plot(w/pi,pha/pi);title( 数字滤波器相位响应 );delta_w=2*pi/1000;Ap=-(min(db(1:1:wp/delta_w+1)))Ar=-round(max(db(wr/delta_w+1:1:501)))

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值