在查看滤波器频率响应之前开窗?

信息处理 过滤器设计 频率响应 窗函数
2022-02-25 16:12:27

众所周知,在获得 DFT 并查看其频率响应之前,对信号应用加窗是一个好主意。

  • 但是,在查看滤波器的频率响应之前,对滤波器的脉冲响应应用加窗是个好主意吗?
  • 这个问题的答案是否取决于滤波器是 FIR 还是 IIR?

我也许可以明白为什么加窗比截断 IIR 滤波器要好。但我无法确定这是否同样适用于 FIR 滤波器。

但是,即使是 IIR 滤波器,我们通常也不会这样做。相反,我们通常只是将响应绘制为 IIR 滤波器的传递函数分子和分母系数的函数(例如freqzPythonMatlab中使用)。

那么,将滤波器的脉冲响应窗口化是不是一个好主意?

2个回答

不,如果您知道滤波器系数,那么使用窗口绝不是一个好主意。为什么应该这样?您将绘制滤波器频率响应与窗口频率响应的卷积,而不是绘制滤波器的实际频率响应,这将导致“拖尾”频率响应。特别是对于尖锐的频率选择滤波器,结果会产生误导。

请注意,IIR 滤波器的频率响应不是通过将 FFT 应用于其截断的脉冲响应来计算的(因为这将是一个矩形窗口的窗口),而是通过计算分子和分母的 FFT 的比率。这就是 Matlabfreqz所做的。

但是,如果你没有 IIR 滤波器的滤波器系数,而只有它的脉冲响应,那么你没有太多选择,你必须使用脉冲响应。您必须包含尽可能多的术语,以区别于噪声并使用 FFT。这对应于带有(非常长的)矩形窗口的窗口。我看不出使用任何其他窗口有多大优势,因为您必须包括几乎所有可以与噪声区分开来的术语,以保持截断误差很小。另请参阅下面评论中的讨论。

在 FFT 之前加窗不是一个好主意,除非您想减少干扰、矩形窗伪影和/或旁瓣。在查看脉冲响应的频率响应的情况下,您希望看到旁瓣(它们是频率响应的一部分)并且没有干扰信号。

如果您的窗口太短并且在响应仍高于本底噪声时截断响应,则可能会出现矩形窗口伪影,但解决方案是使用更长的 FFT,而不是使用不同的窗口。