DSP 上的四阶高通滤波器:标准还是双二阶?

信息处理 过滤器 无限脉冲响应 C 双二阶 巴特沃思
2022-02-05 04:02:35

我有两个四阶高通滤波器的 C 实现(fs = 16 kHz, cut-off=100 Hz,使用 Matlabbutter()函数设计):

  • 第一个。作为标准差分方程实现完成。

  • 第二。作为两个 Biquad 部分的产品完成。

最终实现将是定点 DSP 代码。

为什么推荐双二阶实施?

1个回答

假设浮点实现中的两个解是相同的,两个 BiQuad 是标准差分方程的因式分解。BiQuad 是更好的固定点方法,因为您隔离了两个二阶系统,并且由于涉及的量化,这样做更容易在变化下保持稳定。

有关这方面的更多详细信息,请参阅对这篇文章的回复:

高阶滤波器的级联双二阶部分如何工作?

https://en.wikipedia.org/wiki/Digital_biquad_filter

对于那些不太熟悉的人也请注意:级联两个滤波器在数学上与卷积它们的系数相同;将两个多项式相乘是通过对它们的系数进行卷积来完成的。滤波器的传递函数由多项式描述,所以它们都是一样的;一个四阶滤波器可以分解为两个二阶滤波器。