【IIR系统】

一. 基础结构与特性方程:IIR系统也被称为无限冲激响应系统。那么什么叫无限冲激相应呢?字面意思,即冲激响应的point数为∞。假设,我们有一个冲激响应函数h[n],

采用FIR同样的方法(卷积和)去构建滤波器的话会变为,

即我们将采用无穷多个乘法器,这个在现实中是绝对不可能实现的结构。那怎么办呢?z变换可以解决这个问题。使用z变换,我们可以把无限长冲激响应转换到复频率得到传递函数H(z),

带入Y(z)=H(z)X(z)中后,通过逆z变换我们就可得到输入与输出之间的关系式:y[n] = x[n] + a*y[n-1]这个其实就是一个最简单的IIR系统(无限冲激响应系统)。若我们将一个更复杂的线性时不变系统的差分方程代入,上式则变为,

系统结构图如下图所示,我们称这个系统为递归型系统。

通过z变换以及DTFT,我们可以得到这个系统的频率特性方程:

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]时,特性方程即可变为,频率特性:

幅频特性:

相频特性:

不难看出,频率特性为常数1。这就使得我们滤波前后波形的频率成分会完全保留,只有相位会改变。通常会用来处理一些对相位要求不高的音频信号。

**与FIR系统的关系:**

返回到上一节我们得到的频率特性方程,

会不会看著有点儿眼熟?下面这个是FIR系统的频率特性方程,

发现没有,其实FIR系统的频率特性方程,和IIR系统频率特性方程的分子和分母都是一样的。即当IIR系统的分母为1时,就是IIR系统就变成了FIR系统。通过结构图我们其实也可以看出来。

IIR系统其实就是让输入信号先经过FIR系统进行一次滤波,然后对一次滤波后的结果再进行二次滤波,再反馈回来。扯了那么多乱七八糟的公式,其实结构就这么简单。。。

文字不大懂的话可以看下面这个示意图,可以和上方的结构图结合起来一起研究。

**零相位滤波:**IIR系统的优缺点上一章已经提到了。IIR系统,可以提供完美的全通特性,但是只能近似的实现线性相位特性,从而导致信号失真。为了解决信号失真的问题,Matlab里面有一个神奇的函数filtfilt,实现方法其实很简单:
  1. 使用IIR滤波器对原始信号x(n)进行滤波得到y(n)
  2. 把滤波后信号反转求逆得到y(n)
  3. 使用IIR滤波器对y(n)进行滤波得到信号y2(n),这一步就把第一次滤波所产生的相位失真完美补偿了
  4. 把y2(n)反转求逆得到y2(n),即零相位滤波后信号

非常有意思的方法,下面会有模拟验证。

缺点也很明显就是无法在online系统中应用,不过就研究来说足够了。

三. 模拟验证:

主要采用巴特沃斯滤波器,进行数据验证。与FIR系统相同,我们首先建立一个原始波形。
  1. 采样频率1000Hz10Hz,20
  2. 1-1500 point: 10Hz, 20Hz, 30Hz的混合波(30Hz为噪音)
  3. 1501-2500 point: 10Hz, 20Hz混合波(无噪音)

** 巴特沃斯滤波器:**设计1个低通巴特沃斯滤波器,5阶,25Hz低通滤波器幅频与相频特性如下

结果:
  1. 产生了群延迟,由于IIR系统的非线性相位特性,因此数值无法计算
  2. 1-1500 point之间的滤波后数据产生了较大的失真,20Hz数据几乎完全失真
  3. 30Hz数据还有所残留,提升滤波器阶数可消除

** 零相位巴特沃斯滤波器:**采用上述巴特沃斯滤波器系数,观察零相位器滤波结果
  1. 群延迟被完美的消除了
  2. 20Hz波形还是有些许失真存在

四. 感想IIR滤波器由于他的低成本低运算量,在数据处理领域也被广泛应用,至于说与FIR滤波器哪个好,就要看各位应用在什么领域了。比如在生物神经领域,需要较高的零相位特性,因此广泛应用著零相位巴特沃斯滤波器。但是我们如何设计一个最合适的滤波器呢,随著阶数的增加,信号延迟,以及收敛时间都会增大,那么到底几阶的才好呢?下一章主要讨论如何设计一个最合适的滤波器,最适化演算法。

对我感兴趣,关注我吧,咱们一起讨论研究


推荐阅读:
相关文章