IIR滤波器无限意味着什么?


11

我很难理解IIR在实践中“无限”的含义。理论上,脉冲响应用于反馈。

Answers:


18

要回答该问题,您必须知道“冲动”和“响应”是什么意思...

“脉冲”是一个简单的脉冲。在数字上,这将是一个具有最大值的样本,而之前和之后的所有其他样本将为零。如果您听到此消息,您会听到类似流行音乐或爆竹的声音。

“响应”是滤波器(或其他)的输出被赋予脉冲。

例如,您可以进入房间,做一个简单的拍手,然后听回声,从而聆听“房间的冲动响应”。要使拍手尽可能“尖锐”,需要一些练习。获取滤波器的脉冲响应是相同的方法,但是您可以使用简单的脉冲来代替拍手,而是使用一个滤波器来代替房间。

如果查看滤波器或房间的脉冲响应,则在脉冲之后的一段时间内(有时也会在前面摇摆)看到输出摆动。在房间里,您听到了回旋声。在滤波器中,这种摆动与滤波器的频率和相位响应直接相关。在一个房间里,您听到回声的时间称为“混响时间”-滤波器没有对应的术语,但这是脉冲响应的一部分。

现在,FIR滤波器(有限脉冲响应)是有限的,因为脉冲响应时间受数学限制。从数学上讲,脉冲响应时间不可能超出滤波器中的抽头数-因此是有限的

另一方面,IIR滤波器在脉冲响应时间内没有数学上的限制。如果给出无限的数学精度,IIR滤波器将永远使输出摆动。当然,从实际意义上讲,它永远不会持续下去,因为在某些时候,摆动变得比所使用的数学精度还小,因此就消失了。


谢谢您的解释!IIR在哪里反馈?
GorillaApe 2011年

2
@Parhs:发生反馈是因为当前输出是从先前的输入 输出值中得出的,而对于FIR滤波器,输出仅是从先前的输入值中得出的。
Paul R

1
@Parha反馈是拓扑的副作用。对于拓扑,我的意思是类似流程图或过滤器的“示意图”视图。基本上,一个阶段中的数学运算结果会馈入上一个阶段中的另一运算。这就是反馈。大多数人发现FIR易于使用,因为他们没有反馈。该反馈很难正确地进行工作,但是效率很高。

IIR系统的内部状态始终“记住”以前的输入。建模的方式是将先前的输出反馈到当前输出中,例如此直接形式1双二阶,或等效地在输入处反馈一个环路,例如此直接形式2典范双二阶。
Eryk Sun

11

脉冲响应是滤波器的签名。如果是FIR滤波器,则脉冲响应会为您提供滤波器系数的直接图像。脉冲是具有最大振幅的单个样本,之前和之后的所有样本均为零。(这是狄拉克脉冲的数字等效值。)
在脉冲发生时,其值乘以(请参见下图)。其他采样为零,因此输出y等于b 0(我假设脉冲1的最大值)。一个样本之后,脉冲移动了一个z 1块并乘以b 1。同样,所有其他值均为零,因此输出为bb0ÿb0ž-1个b1个。等等。当脉冲在滤波器中移动时,您将在输出端获得 b i的连续值。N次采样后,脉冲移出滤波器,输出再次变为零。 对于IIR滤波器,从脉冲响应中得出滤波器系数并不是很明显。 b1个b一世

IIR
在IIR滤波器(的一部分)中,已处理的信号被反馈到输入。这意味着,信号总会残留一些残差。但是,在大多数情况下,信号的这一部分会越来越小,最终变为零,但从理论上讲,它永远不会完全消失。下面的框图显示了双二阶滤波器,IIR滤波器的一种常用实现。左分支接收(延迟)输入值,右分支使用(延迟)输出值。(块表示1个采样延迟。双二阶通常级联。 ž-1个

在此处输入图片说明

FIR
FIR滤波器另一方面具有从输入到输出的线性路径。N次采样后,输入信号(如狄拉克脉冲)将被移出,这就是结束了。
FIR滤波器具有固有的稳定性,而IIR滤波器则不一定。

在此处输入图片说明


1
在某些情况下,循环的单音不安全会带来不希望的结果?
GorillaApe 2011年

2
绝对可以。使用错误的反馈路径或增益,您可能会制作出不稳定的滤波器或永久性地消除某些东西的正弦波。通常,这不是您希望“过滤器”执行的操作,因此有一些技术可以分析稳定性并避免不稳定。
奥林·拉斯洛普

来自所有反馈项的总和是否必须反馈到反馈链的开头,还是可以将后面项的输出汇总为后面项的输入?虽然我希望通过后一种方法可以实现的任何滤波器都可以转换为您说明的形式,但我平均认为,有一个有用的IIR滤波器子类可以由级联的一阶滤波器构成(其中每个每个右侧术语的输出都
可以满足要求,

1
-一种1个-一种2

@stevenvh:正如我在回答中指出的那样,IIR过滤器有一个有用的子集,其中一个阶段可以反馈自身,但不能反馈到上一个阶段;我不知道我已经读过一个描述此类滤波器的术语,但是与通用IIR滤波器相比,它们的表征要容易得多。尽管可以用上面的形式用正确的系数表示它们,但是以这种形式识别这种滤波器(是否有一个术语呢?)会比较困难。
supercat

4

数字滤波器分为两大类:无限脉冲响应(IIR)和有限脉冲响应(FIR)。同样,IIR滤波器是基于方程式的,而FIR滤波器是基于表的。

IIR滤波器更像现实世界中的模拟滤波器。例如,考虑一个简单的指数衰减,就像从RC模拟低通滤波器得到的衰减一样。对阶跃输入的输出响应是一个指数,它越来越接近输入。请注意,该指数永远不会真正到达输出,只有足够接近才能使我们不在乎或无法测量误差。从这个意义上讲,这样的过滤器是无限的。IIR滤波器具有相同的特性。

非常常见的单极点低通IIR滤波器可以表示为:

FILT <-FILT + FF(NEW-FILT)

这意味着如果每次迭代都将输出移动到输入的距离的固定分数(FF,“过滤分数”),则输出将重复。当FF = 1/2时,这很容易可视化。如果所有内容均为0,并且输入突然变为1并停留在那里(一个单位步长),则输出将为1 / 2、3 / 4、7 / 8、15 / 16等。这是一个无限级数。最终,该值将变得非常接近1,因为计算机中的数字值没有无限的精度,所以将其表示为1。

FIR滤波器的工作原理完全不同。保存输入信号的最近摘要,然后将每个保存的值乘以不同的系数,然后将所有结果相加,以得到该迭代的滤波器输出。在下一次迭代中,最旧的保存值将被丢弃,其他值将更早移出一个插槽,新输入将被放入已腾出的插槽中。然后将新保存的代码段乘以系数,等等。此过程称为“卷积”,系数表通常称为过滤器内核。通过对系数进行创新,可以使用这种滤波器完成一些有趣的事情。这是我现在将不讨论的整个主题。但是,由于输入的有限代码段存储在内存中,输入信号的任何部分只能在有限时间内影响输出。输入样本移出存储片段的末尾后,它就消失了,并且不再对输出产生任何影响。

有很多关于这方面的书,您可以花几个学期的大学课程来深入研究。希望我的30秒概述能够充分说明您的问题。


1

还没有提到的一点是,IIR滤波器可以进一步细分为两种样式:可以对阶段进行排名的样式,以使每个阶段完全取决于其自己先前的值和早期阶段的值,以及阶段不能排序(因为两个或更多阶段相互依赖)。FIR滤波器中的各个阶段可以参考其他阶段的先前输出,但前提是它们可以按照IIR的以前样式进行排名,并且任何阶段都不能引用其自己的先前输出。

如果可以对IIR滤波器中的级进行排序,并且给定级的自反馈系数的总大小小于1,则可以保证IIR滤波器是稳定的。例如,如果某个级包括来自前级的一定量的信号,加上该级先前值的一半和之前值的1/4,再减去之前值的1/8,则该自反馈将是7/8,因此如果缺少来自下级的进一步输入,则每次迭代的自反馈贡献量将减少12.5%。


0

FIR对有限数量的元素进行数学运算,比如说32或12或某个数字,但这就是数学运算,对有限数量的元素进行运算并仅对那些元素执行过滤。

IIR对您喂入的所有样品进行数学运算。如果您喂给它10个样本并停止它,则它可以处理10个样本,如果喂给它1,000,000,000个样本,则数学运算可以处理1,000,000,000个样本。而且,如果您让事物无限期地运行,接近无穷大(让它永远运行),那么元素的数量也无限期地接近无限大。因为“有限”一词显然适用于其他模型,并且IIR模型旨在不具有有限数量的样本,所以与“有限”相对的“无限”一词听起来要比“不确定”或其他一些这样的词好。


“处理了1,000,000,000个样本”。好吧,不是直接的。由于输出的一部分用于下一个样本的计算,因此始终会有前一个样本的痕迹。过滤器将始终容纳非常有限数量的样本。它不是“不确定的”;即使是不稳定的,它也是确定性的。
stevenvh 2011年

这就是我要暗示的是,对于IIR,每个样本对其之前的所有样本都具有一些但很小的影响。
old_timer 2011年

计算中元素的无穷与有限不是 IIR和FIR之间的差异。最简单的IIR仅对2个数据元素起作用:1个来自输入,1个来自输出。
radagast 2013年

无限不是来自输入数量,而是来自累积的周期数,对于数学中的单个输入,有限仅需要N个样本,无限有效地作用于每个周期。单个输入的有限循环数与无限循环数。
old_timer 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.