【滤波专题-第2篇】数字滤波器15分钟入门——IIR无限冲激响应滤波讲解

发布于:2022-11-28 ⋅ 阅读:(554) ⋅ 点赞:(0)

上一篇文章中我们讲了FIR有限冲激响应的概念,今天就轮到无限冲激响应IIR了。

一、概念引入

上一篇中我们讲到,FIR是从滑动平均方法牵引出来的基于卷积的一种滤波方法,可以说FIR天然是具有直观的“数字处理”的特性的;而今天讲到的IIR方法是和物理世界有着对应的联系,或者说它是对“模拟滤波器”的数字表达。

如果你学习过模拟电路,那一定知道模拟电路中的滤波器设计:

 对于上图中的模拟滤波器,是有着对应的频响曲线的,比如低通滤波的频响曲线大概是这样:

目前IIR数字滤波器设计的最通用方法是借助于模拟滤波器的设计方法 [1]。模拟滤波器已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已经有的资源会给数字滤波器的设计代理很大的方便。

二、IIR滤波器的设计

IIR 滤波器设计的基本方法 [2]:先设计一个合适的模拟滤波器(模拟原型滤波器),然后利用复值映射把模拟滤波器变换成数字滤波器。

2.1 关于模拟原型滤波器

常用的模拟原值滤波器有很多种,比如巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器、椭圆滤波器等。

他们的特点如下[3]

■  巴特沃斯滤波器通带最平坦,阻带下降慢。
■  切比雪夫滤波器通带等纹波,阻带下降较快。
■  贝塞尔滤波器通带等纹波,阻带下降慢。也就是说幅频特性的选频特性最差。但是,贝塞尔滤波器具有最佳的线性相位特性。
■  椭圆滤波器在通带等纹波(阻带平坦或等纹波),阻带下降最快。

2.2 模拟滤波器到数字滤波器的变换

变换主要方法有脉冲响应不变法和双线性变换法。

脉冲响应不变法:从时域响应出发,使数字滤波器的单位脉冲响应h(n) 模仿模拟滤波器的单位冲激响应ha(t) ,h(n)等于ha(t)的取样值。
双线性变换法:从频率响应出发,直接使数字滤波器的频率响应逼近模拟滤波器的频率响应,进而求得数字滤波器的系统函数。

具体的数学推导涉及到比较复杂的概念,由于这篇文章作为入门的引子,这里不做具体的讲解了。有需要的同学建议参看奥本海姆的《信号与系统》或者这里

三、对IIR滤波器的理解

IIR相对于FIR的最大区别就在于“无限冲激响应”,这个无限要怎么理解呢?

3.1 第一种理解方式:

可以从物理层面上去理解,就像之前举的例子,IIR是对模拟滤波器的复刻,当下图中的电路,在IN的位置给一个电压值后,电容会被充电,当IN的电压取消后(此时相当于给IN处加了一个冲激信号),电容的电量会被逐渐放掉,但是理论上永远不会变成0,所以输入信号会在后续无限长的时间内产生影响,也就是“无限冲激响应”。

3.2 第二种理解方式:

上一篇文章讲到,FIR滤波器的表达式为:

y[n]=a0x[n]+a1x[n−1]+a2x[n−2]+...

上式中的x代表待滤波数据,y代表输出数据。在FIR滤波器中,每一时刻的输出取决于之前的有限个输入,因此就是“有限冲激响应”。

与之对应的,IIR滤波器的表达式为:

上式通过将输入信号的值乘以“a”系数,将先前从输出信号计算的值乘以“b”系数,并将乘积相加,可以找到输出信号中的每个点,上式称为递归公式。

由于本步骤的输出会作为下一步骤的输入,无限递归下去,所以一个时刻的影响就是无限的,也就是“无限冲激响应”。

本篇文章先讲到这里吧,涉及到IIR的数学理论如果要深入研究还是比较艰涩的,鉴于本专栏更偏重于通用性、易读性和应用性的介绍,就不过多介绍了。对于IIR还有什么想知道的,可以在文章下边留言。

end.关于滤波专题

目前计划要讲到的包括:

-1.FIR有限冲激响应、IIR无限冲激响应数字滤波算法的理论讲解、滤波器设计方法和MATLAB代码实现
-2.滤波器滤波效果的评价指标
-3.“类EMD”方法(即包括EMD、EEMD、CEEMD、VMD等一系列方法)的滤波算法讲解与实现
-4.“类EMD”方法与ICA结合的滤波算法讲解与实现
-5.小波阈值滤波方法讲解与实现
-6.卡尔曼滤波方法讲解与实现
...(其他方法随时补充)

欢迎关注我的公众号“看海的城堡”,微信号为“khscience”,会有更多有趣的东西分享。

参考

  1. ^【DSP教程】第42章 IIR无限冲击响应滤波器设计 - 腾讯云开发者社区-腾讯云
  2. ^https://isip.bit.edu.cn/docs/2016-05/20160511090607824812.pdf
  3. ^几种滤波器的比较(巴特沃斯、切比雪夫、贝塞尔滤波器) | MCU加油站
本文含有隐藏内容,请 开通VIP 后查看