在平滑时间序列时选择窗口函数时应该考虑什么?

信息处理 过滤器 窗函数
2021-12-24 22:23:15

如果想要使用诸如 Hanning、Hamming、Blackman 等窗口函数来平滑时间序列,那么优先考虑任何一个窗口而不是另一个窗口的考虑因素是什么?

3个回答

描述窗函数的两个主要因素是:

  1. 主瓣宽度(即,在哪个频率区间,功率是最大响应的一半)
  2. 旁瓣的衰减(即,旁瓣离主瓣有多远)。这告诉您窗口中的频谱泄漏。

另一个不那么经常考虑的因素是旁瓣的衰减率,即旁瓣衰减的速度有多快。

以下是四个众所周知的窗口函数的快速比较:矩形、布莱克曼、布莱克曼-哈里斯和汉明。下面的曲线是 64 点窗口的 2048 点 FFT。

在此处输入图像描述

您可以看到矩形函数的主瓣非常窄,但旁瓣非常高,约为 13 dB。其他滤波器的主瓣明显更宽,但在旁瓣抑制方面表现更好。最后,一切都是取舍。你不能两者兼得,你必须选择一个。

也就是说,您对窗口函数的选择在很大程度上取决于您的特定需求。例如,如果您尝试分离/识别频率相当接近但强度相似的两个信号,那么您应该选择矩形,因为它会为您提供最佳分辨率。

另一方面,如果您尝试对具有不同频率的两个不同强度信号执行相同的操作,您可以很容易地看到来自一个信号的能量是如何通过高旁瓣泄漏的。在这种情况下,您不会介意较胖的主瓣之一,并且会在分辨率上稍作损失,以便能够更准确地估计其功率。

在地震和地球物理学中,通常使用Slepian 窗(或离散的长球面波函数,它们是 sinc 核的特征函数)来最大化集中在主瓣中的能量。

您的问题有点令人困惑,因为平滑时间序列通常不会在与窗口相同的上下文中使用。

您可能的意思是对时间序列进行窗口化具有平滑(或涂抹)频率响应的效果。您可以在几乎所有 DSP 书籍中找到最常用窗口的属性和设计权衡的描述,并且 wiki 也涵盖了该主题http://en.wikipedia.org/wiki/Window_function除了传统的主瓣宽度和旁瓣衰减之外,还有一个选择窗函数的标准,我还没有在 DSP 书中看到过,那就是计算方便。例如,在某些应用程序中,汉明窗是首选,因为如果您对汉明窗进行 FFT,您只会得到 3 个非零抽头!

您当然可以通过使用窗函数对其进行滤波来平滑时间序列,因为窗函数具有低通特性。但这可能不是你要问的。