IIR 滤波器的最大输出是多少?

信息处理 无限脉冲响应 数字滤波器
2021-12-29 15:11:29

我正在基于 ARM 的嵌入式设备中实现 IIR 滤波器。它被实现为级联双二阶结构(一系列二阶滤波器背靠背放置)。该滤波器可以被认为是稳定的,因为级联结构中的所有二阶部分在 Z 域的单位圆 (ROC) 内都有其极点和零点。

现在,假设滤波器是渐近稳定的,并且它的输出不能无限增长,假设滤波器的输入可以是任何噪声或任何随机波形,如何知道滤波器可以增长到的最大输出?

在设备上,过滤器是用浮点数实现的,这减少了计算期间任何溢出的机会。但是在计算之后,必须将结果存储到固定点中,因为应用程序需要这样做。因此,在存储到固定点时,了解输出限制以避免任何溢出和饱和是非常重要的。

我想知道,是否有任何方法可以估计输出的最大限制,以避免剪辑或不必要地为固定点使用更多位?

了解哪种类型的输入波形可能产生最差的输出也很有用?

1个回答

我想知道,是否有任何方法可以估计输出的最大限制

是的。它是

ymax=xmaxn=0|h[n]|

即最大增益是脉冲响应的绝对和

哪种类型的输入波形可能产生最差的输出?

xworst[n]=xmaxsign(h[n])

它是时间翻转脉冲响应的符号函数。在大多数情况下,这是一个极不可能在现实世界中发生的信号,因此假设最坏情况缩放过于保守。另一种方法是对“真实世界”信号加上一些正弦波、方波和噪声信号进行统计分析。