什么是零相位滤波和前向后向滤波?

信息处理 无限脉冲响应 过滤
2022-02-11 23:58:23

我对 IIR 和 FIR 过滤非常熟悉,我已经在我的几个项目中实现了它们。然而,最近我发现了一种叫做零相位滤波的东西。我试图理解它,但并不顺利。我所知道的是零相位滤波是不产生任何相位延迟和失真的滤波

  1. 这样对吗?

我知道 FIR 对群信号有一个恒定的延迟,而 IIR 有一个基于频率的非线性延迟,所以它会扭曲信号相位。所以有一个零相位 IIR 来克服缺点

  1. 零相 IIR 是如何工作的?(需要概述,也许还有一些例子)

而且我已经阅读了有关前向后向过滤的信息,它还消除了过滤的延迟和失真

  1. 它是如何工作的?
  2. 它是零相位滤波方法之一吗?
  3. 它说可以在离线过滤中完成。什么是离线过滤?

谢谢

1个回答

零相位滤波是一个非因果过程,因此它不能实时完成,只能离线完成(或伪实时,即有足够的延迟)。零相位滤波器需要具有纯实值频率响应,因此,它必须具有相对于时间指数均匀的脉冲响应n=0,即它是非因果的。

使用 IIR 滤波器进行零相位滤波是通过前向后向滤波实现的,如 Matlab 的filtfilt函数中所实现的。得到的总频率响应是原始 IIR 滤波器频率响应的平方幅度。由于平方幅度是实值,因此得到的滤波器是零相位滤波器。当然会有延迟,因为您必须将第一个滤波器通过的时间反转输出反馈到滤波器的输入,之后您需要对输出进行时间反转。有关向前向后过滤的更多详细信息,请参见此答案