b a和sos过滤器顺序在filtfilt情况下是否不同?

时间:2019-03-17 20:46:20

标签: python matlab scipy filtering signal-processing

我知道使用filtfilt(例如在Python中通过scipy或在Matlab中)将双向应用过滤器。设置b时,基于4阶滤波器的参数将有效地产生8阶滤波器。

我相信使用sos输出创建相同的4阶过滤器并使用sosfiltfilt不会更改过滤器顺序,而应导致4阶过滤器(而不是8阶)。正确吗?

TLDR:如果出现sosfiltfilt,则向前和向后过滤是否还会像filtfilt一样使过滤顺序加倍?

1 个答案:

答案 0 :(得分:1)

与简单的正向过滤器相比,使用正向-反向过滤,无论是使用b,a形式的参数还是使用sos形式,都会使过滤的有效顺序加倍。这就是scipy.signal.sosfiltfilt的示例将使用sosfiltfilt的4阶Butterworth滤波器与使用sosfilt的8阶Butterworth滤波器进行比较的原因。