ba 和 sos 过滤器顺序在 filtfilt 情况下不同吗?

hk_*_*skw 5 python matlab filtering signal-processing scipy

我知道使用 filtfilt (例如在 Python 中通过 scipy 或在 Matlab 中)我将双向应用过滤器。根据 4 阶滤波器设置 b、a 参数将有效产生 8 阶滤波器。

我相信使用 sos 输出创建相同的四阶滤波器并使用 sosfiltfilt 不会改变滤波器阶数,并且应该产生四阶滤波器(而不是八阶)。那是对的吗?

TLDR:在 sosfiltfilt 的情况下,前向-后向过滤是否也会像 filtfilt 中那样将过滤器阶数加倍?

Sle*_*Eye 7

使用前向-后向滤波,无论是使用b,a参数形式还是sos形式,与简单的前向滤波器相比,滤波的有效阶数加倍。scipy.signal.sosfiltfilt这就是为什么示例将使用 的 4 阶巴特沃斯滤波器sosfiltfilt与使用 的 8 阶巴特沃斯滤波器进行比较的原因sosfilt