IIR滤波器可以直接形式1或2实现。但是,您如何决定使用哪种形式?各自的优缺点是什么?
IIR滤波器可以直接形式1或2实现。但是,您如何决定使用哪种形式?各自的优缺点是什么?
Answers:
首先,从维基百科了解一些有关Direct Form I和II实现的信息。
直接形式I需要更多的内存,但是它是一种较为简单的策略,并且不太可能出现舍入和共振问题。
直接形式II需要较少的内存,但它有可能发生异常的交互,增加数量并产生更大的舍入错误。通过级联较小的滤波器,尤其是二阶滤波器,可以减少很多这种情况。
有点过时了,但也许应该得到更全面的答案,尤其是因为Direct Form II会给您带来很多麻烦。首先,没有“一刀切”的产品,最佳选择取决于您的特定应用和约束。你可以考虑的是
因此,总而言之,转位表II通常是最佳选择。在某些定点场景中,尤其是在存在严重噪声问题的情况下,Direct Form I更好,因为它可以更容易地通过Error Spectrum Shaping等进行增强。
除了诸如数值精度之类的技术差异外,还存在稳定性问题。当数字滤波器的极/零对彼此靠近时,频率响应可能在各个位置变得不稳定(通常接近奈奎斯特或接近零)。
当IIR滤波器用于音乐应用时,当对滤波器参数进行实时调制(例如,改变低通滤波器的截止频率)时,实现的选择会对滤波器的稳定性产生深远的影响。
我有一个开源应用程序,可让您听取以下各个实现的差异以及时变参数(例如截止频率或峰值增益)的差异:
该项目在这里: