假设您有两种不同规格的 IIR 滤波器设计,旨在在 DSP 上实现。将在哪些参数上比较两个过滤器,以便我们可以选择哪个过滤器更好(例如速度、内存或效率)?这些参数如何改变过滤器?
例如 - 我有 2 个滤波器,A 和 B:滤波器 A 是 4 阶低通椭圆滤波器,滤波器 B 是 70 阶巴特沃斯低通滤波器,两者都可以令人满意地完成所需的工作。应该在 DSP 上实现哪个滤波器,为什么?(不考虑在实现不同算法时可能面临的困难)
假设您有两种不同规格的 IIR 滤波器设计,旨在在 DSP 上实现。将在哪些参数上比较两个过滤器,以便我们可以选择哪个过滤器更好(例如速度、内存或效率)?这些参数如何改变过滤器?
例如 - 我有 2 个滤波器,A 和 B:滤波器 A 是 4 阶低通椭圆滤波器,滤波器 B 是 70 阶巴特沃斯低通滤波器,两者都可以令人满意地完成所需的工作。应该在 DSP 上实现哪个滤波器,为什么?(不考虑在实现不同算法时可能面临的困难)
这些评论实际上清楚地提出了一个严肃答案的复杂性。但我想简单一点,把我的作为你的示例过滤器。
正如您所说,如果阶和阶(任何类型)的两个 IIR 滤波器可以令人满意地为您完成工作,那么您应该选择阶滤波器,因为它需要更少的处理能力和处理计算其输出的时间。
话虽如此,这两个滤波器(椭圆滤波器和巴特沃斯滤波器)具有不同的频域特性。它们都有自己的幅度和非线性相位响应。
Butterworth 滤波器在其通带和阻带中都将具有单调的频率响应,因此在设计过程中,指定最大允许误差纹波(来自理想响应)将是一种矫枉过正的做法,该纹波将在截止频率处满足,否则由于幅度曲线的单调性,将在频带的其余部分过度满足。这就是为什么对于相同的给定滤波器规格,巴特沃斯滤波器需要更大的阶数。
众所周知,椭圆滤波器在通带和阻带上都具有等波纹振荡特性,它将误差能量分布在所有频带上,因此减少了给定滤波器阶数的允许误差纹波的最大值(峰值)或最小化阶数给定允许的峰值纹波和过渡宽度的滤波器。
由于您不想考虑系数量化或高阶递归滤波器的实现架构等影响,因此对于这两个特定的滤波器没有太多需要考虑的事情。