在全极点 IIR 滤波器的情况下,如何在将浮点系数转换为定点时提高精度

信息处理 无限脉冲响应 固定点 缩放 硬件实现 模拟链接
2022-02-07 01:21:55

我有一个带有浮点滤波器系数的 5 阶全极点 IIR 滤波器

[1,
-4.708642687,   
9.963818327 ,
-11.99038368,   
8.647611478,    
-3.553230696,   
0.659454607].

当脉冲输入应用于 IIR 滤波器时,获得的前 8 个输出样本为

1,
4.7086,
12.20,
22.5509,
32.38,
36.9400,
32.26087.

为了在硬件中实现相同的系统,我将滤波器系数缩放了一个因子210并在输出端按比例缩小。类似地,所有操作都是在定点表示中完成的。然而,在输出端获得的前 8 个输出样本是

1,
5,
14,
29,
49,
70,
86,
91,
82 etc.

尝试从浮点转换为定点时如何减少输出中的这种巨大差异

1个回答

你的过滤器的极点在哪里?如果它们靠近单位圆,那么量化它们会导致它们中的一些超出单位圆,从而导致量化滤波器不稳定。您应该在量化之前量化之后检查滤波器的极点。看看他们有多接近。

其次,直接在定点算术中实现 5 阶 IIR 滤波器是有风险的,尽管并非不可能。通常,最好将其拆分为级联的 2 阶滤波器,这些 2 阶 IIR 滤波器中的每一个通常称为“双二阶”。在您的情况下,您将有 2 个级联双二阶和一个 1 阶 IIR 滤波器。

您可以查看许多参考资料,例如这个。

https://www.dsprelated.com/showarticle/1137.php