scipy巴特沃斯滤波器没有延迟?有什么诀窍吗?

0 投票
1 回答
30 浏览
提问于 2025-04-14 16:33

在下面的图表中:

  • 橙色: 原始信号
  • 蓝色: 使用scipy库应用的巴特沃斯滤波器。
  • 灰色: 自定义实现的巴特沃斯滤波器。

在这里输入图像描述

在下面的图表中:

  • 橙色: 相同的原始信号
  • 蓝色: 另一个自定义实现的巴特沃斯滤波器。

在这里输入图像描述

问题:

两个自定义实现都有延迟,而scipy的实现没有。这其中有什么窍门吗?

注意:自定义实现的结果不同,因为它们的系数不一样。

1 个回答

1

我正在使用filtfilt这个函数。

根据Warren Weckesser的评论,我去查了文档,里面写着:

这个函数会对信号应用一个线性数字滤波器两次,第一次是正向处理,第二次是反向处理。这样处理后的滤波器没有相位延迟,而且滤波器的阶数是原来的两倍。

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.filtfilt.html

撰写回答