零相位可以进行重叠/块处理吗?

信息处理 卷积 阶段 无限脉冲响应 过滤 有限脉冲响应
2022-02-21 20:09:16

我对 DSP 比较陌生,目前正在研究 FIR 滤波器和 IIR 滤波器。从我发现 FIR 滤波器可以使用重叠保存方法有效地实现,但我想知道是否可以使用 IIR 零相位滤波器来做同样的事情?

例如,假设我有一个相当长的信号,如果我将信号分成重叠块,类似于重叠保存的方式,并且我对这些块中的每一个进行零相位滤波以防止相位失真,然后根据算法丢弃重叠样本,有什么办法可以让我得到一致的最终结果?我一直在网上和书中寻找,但除了这个网站外,我还没有找到任何说它可能的来源:

http://www.dsprelated.com/freebooks/sasp/Overlap_Add_OLA_STFT_Processing.html

它说零相位与它的两个邻居重叠。我已经尝试使用这些指令进行试验,并尝试在信号上实现和使用重叠低通零相位滤波器,如下所示,各段的重叠长度为 150。我还用 0 填充了每个段的边界,以防止边界扭曲。从我得到的结果的外观来看,它似乎并不平滑,但是当我将它们组合在一起时,与我一次性过滤它们相比。

在此处输入图像描述

如果有人能给我一些关于我可能做错了什么以及我需要进一步研究的地方,那将非常感谢!

1个回答

如果您将零相位 IIR(例如,通过正向和反向滤波)应用于两侧都已零填充的信号段,并且两个零填充长度等于或大于IIR 滤波器的脉冲响应(直到该响应低于您所需的本底噪声),然后您可以对非重叠段求和,但您必须在总和中保留并包括零填充尾部(类似于重叠添加)。该错误将与已被有限长度零填充切断的 IIR 尾部的(无限长)端相关。