【IIR系统】一. 基础结构与特性方程:
IIR系统也被称为无限冲激响应系统。那么什么叫无限冲激相应呢?
字面意思,即冲激响应的point数为∞。
假设,我们有一个冲激响应函数h[n],
![c3745dbb781bb74ba10c3bb9f495da74.png](https://img-blog.csdnimg.cn/img_convert/c3745dbb781bb74ba10c3bb9f495da74.png)
采用FIR同样的方法(卷积和)去构建滤波器的话会变为,
![7ea906590834de13fe1c38870edd8468.png](https://img-blog.csdnimg.cn/img_convert/7ea906590834de13fe1c38870edd8468.png)
即我们将采用无穷多个乘法器,这个在现实中是绝对不可能实现的结构。
那怎么办呢?
z变换可以解决这个问题。
使用z变换,我们可以把无限长冲激响应转换到复频率得到传递函数H(z),
![85f23fae91b520d92e7bab2baaada634.png](https://img-blog.csdnimg.cn/img_convert/85f23fae91b520d92e7bab2baaada634.png)
带入Y(z)=H(z)X(z)中后,通过逆z变换我们就可得到输入与输出之间的关系式:
y[n] = x[n] + a*y[n-1]
这个其实就是一个最简单的IIR系统(无限冲激响应系统)。
若我们将一个更复杂的线性时不变系统的差分方程代入,上式则变为,
![c1566523656bf7a65a16bdf7c1e5e913.png](https://img-blog.csdnimg.cn/img_convert/c1566523656bf7a65a16bdf7c1e5e913.png)
系统结构图如下图所示,我们称这个系统为递归型系统。
![ebecfb04abf86d8ef4f4bc5a10b0ff25.png](https://img-blog.csdnimg.cn/img_convert/ebecfb04abf86d8ef4f4bc5a10b0ff25.png)
通过z变换以及DTFT,我们可以得到这个系统的频率特性方程:
![f7a10182c8da19c93d4ecfa6c526dc1a.png](https://img-blog.csdnimg.cn/img_convert/f7a10182c8da19c93d4ecfa6c526dc1a.png)
b[m]被称作分子系数,a[n]被称作分母系数。
这两个系数就是Matlab中设计一个IIR滤波器时返回的两个值。
以上是我们采用两个不同的例子所计算得到的IIR系统。
实际上,根据采用的差分方程的不同,我们计算所得到的传递函数以及特性方程也会不同。因此就产生了几个经典的IIR滤波器:
如巴特沃斯滤波器,切比雪夫滤波器,椭圆滤波器等。二. 理解分析:**稳定性:**
首先需要注意的是,递归型的IIR系统,在输入信号的最大值为常数时,有时会导致输出信号的最大值不为常数,使系统处于非稳定状态(不符合BIBO稳定性定律)。因此我们需要在计算出系数a,b后对整个数字系统的稳定性进行判断,这时候就要用上极点和零点了。
极点:IIR系统频率特性方程中分子为0时的解
零点:IIR系统频率特性方程中母为0时的解
通过对极点与零点的分析我们可以计算出给定传递函数系数a与b后,数字系统的稳定性。**全通特性:**
IIR系统最大的优点就是具备完美的全通特性(上文写的是全域通过特性,直接翻译的日语,没想起来查国内网站)
当M=N,并且b[n]=a[N-n]时,特性方程即可变为,
频率特性:
![d4dde93f67bb4ec5481e039d51fd8f1b.png](https://img-blog.csdnimg.cn/img_convert/d4dde93f67bb4ec5481e039d51fd8f1b.png)
幅频特性:
![a8799eca129ec006a6a17e4ff9f04245.png](https://img-blog.csdnimg.cn/img_convert/a8799eca129ec006a6a17e4ff9f04245.png)
相频特性:
![9c547cca331445420b5a9e111069e799.png](https://img-blog.csdnimg.cn/img_convert/9c547cca331445420b5a9e111069e799.png)
不难看出,频率特性为常数1。这就使得我们滤波前后波形的频率成分会完全保留,只有相位会改变。通常会用来处理一些对相位要求不高的音频信号。**与FIR系统的关系:**
返回到上一节我们得到的频率特性方程,
![f7a10182c8da19c93d4ecfa6c526dc1a.png](https://img-blog.csdnimg.cn/img_convert/f7a10182c8da19c93d4ecfa6c526dc1a.png)
会不会看着有点儿眼熟?
下面这个是FIR系统的频率特性方程,
![d7597cbfce35bbc8f5474c1bae3cbcad.png](https://img-blog.csdnimg.cn/img_convert/d7597cbfce35bbc8f5474c1bae3cbcad.png)
发现没有,其实FIR系统的频率特性方程,和IIR系统频率特性方程的分子和分母都是一样的。即当IIR系统的分母为1时,就是IIR系统就变成了FIR系统。
通过结构图我们其实也可以看出来。
IIR系统其实就是让输入信号先经过FIR系统进行一次滤波,然后对一次滤波后的结果再进行二次滤波,再反馈回来。扯了那么多乱七八糟的公式,其实结构就这么简单。。。
文字不大懂的话可以看下面这个示意图,可以和上方的结构图结合起来一起研究。
![8365f174380dc549c48ce03f1a4679cb.png](https://img-blog.csdnimg.cn/img_convert/8365f174380dc549c48ce03f1a4679cb.png)
**零相位滤波:**
IIR系统的优缺点上一章已经提到了。
IIR系统,可以提供完美的全通特性,但是只能近似的实现线性相位特性,从而导致信号失真。
为了解决信号失真的问题,Matlab里面有一个神奇的函数filtfilt,实现方法其实很简单:
- 使用IIR滤波器对原始信号x(n)进行滤波得到y(n)
- 把滤波后信号反转求逆得到y'(n)
- 使用IIR滤波器对y'(n)进行滤波得到信号y2'(n),这一步就把第一次滤波所产生的相位失真完美补偿了
- 把y2'(n)反转求逆得到y2(n),即零相位滤波后信号
非常有意思的方法,下面会有仿真验证。
缺点也很明显就是无法在online系统中应用,不过就研究来说足够了。三. 仿真验证:
主要采用巴特沃斯滤波器,进行数据验证。
与FIR系统相同,我们首先建立一个原始波形。
- 采样频率1000Hz10Hz,20
- 1-1500 point: 10Hz, 20Hz, 30Hz的混合波(30Hz为噪音)
- 1501-2500 point: 10Hz, 20Hz混合波(无噪音)
![e3f78e5881760005d0e18194620ce757.png](https://img-blog.csdnimg.cn/img_convert/e3f78e5881760005d0e18194620ce757.png)
![870691327bf7f985b671e21f3bc6b535.png](https://img-blog.csdnimg.cn/img_convert/870691327bf7f985b671e21f3bc6b535.png)
** 巴特沃斯滤波器:**
设计1个低通巴特沃斯滤波器,5阶,25Hz低通滤波器
幅频与相频特性如下
![d77fb9e6cf1c9b8c099a2b8bad86961b.png](https://img-blog.csdnimg.cn/img_convert/d77fb9e6cf1c9b8c099a2b8bad86961b.png)
结果:
- 产生了群延迟,由于IIR系统的非线性相位特性,因此数值无法计算
- 1-1500 point之间的滤波后数据产生了较大的失真,20Hz数据几乎完全失真
- 30Hz数据还有所残留,提升滤波器阶数可消除
![da1543ebfd1b57cf1cb114badd304494.png](https://img-blog.csdnimg.cn/img_convert/da1543ebfd1b57cf1cb114badd304494.png)
![7d9c301d34234ee82fad4bebedadee54.png](https://img-blog.csdnimg.cn/img_convert/7d9c301d34234ee82fad4bebedadee54.png)
** 零相位巴特沃斯滤波器:**
采用上述巴特沃斯滤波器系数,观察零相位器滤波结果
- 群延迟被完美的消除了
- 20Hz波形还是有些许失真存在
![696bd848bbae9c3ccae7cbaab9e85e84.png](https://img-blog.csdnimg.cn/img_convert/696bd848bbae9c3ccae7cbaab9e85e84.png)
![f1f09490412ceabf5eefb06e4b239dc1.png](https://img-blog.csdnimg.cn/img_convert/f1f09490412ceabf5eefb06e4b239dc1.png)
四. 感想
IIR滤波器由于他的低成本低运算量,在数据处理领域也被广泛应用,至于说与FIR滤波器哪个好,就要看各位应用在什么领域了。
比如在生物神经领域,需要较高的零相位特性,因此广泛应用着零相位巴特沃斯滤波器。
但是我们如何设计一个最合适的滤波器呢,随着阶数的增加,信号延迟,以及收敛时间都会增大,那么到底几阶的才好呢?
下一章主要讨论如何设计一个最合适的滤波器,最适化算法。
对我感兴趣,关注我吧,咱们一起讨论研究
![ce9e1a1e0ce92d09425b100e16bbd87a.png](https://img-blog.csdnimg.cn/img_convert/ce9e1a1e0ce92d09425b100e16bbd87a.png)