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


25

如果要使用Hanning,Hamming,Blackman等窗口函数来平滑时间序列,那么偏爱任何一个窗口而不是另一个窗口有哪些考虑因素?

Answers:


23

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

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

另一个未被广泛考虑的因素是旁瓣的衰减率,即旁瓣的衰落速度有多快。

这是对四个众所周知的窗口函数的快速比较:矩形,Blackman,Blackman-Harris和Hamming。下面的曲线是64点窗口的2048点FFT。

在此处输入图片说明

您可以看到矩形函数的主瓣非常窄,但旁瓣相当高,约为〜13 dB。其他过滤器的主瓣明显发胖,但抑制旁瓣的效果要好得多。最后,这都是一个权衡。不能同时拥有,必须选择一个。

也就是说,您对窗口功能的选择高度取决于您的特定需求。例如,如果您试图分离/识别两个频率相当接近但强度相似的信号,则应选择矩形,因为它将为您提供最佳的分辨率。

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

在地震和地球物理学中,通常使用Slepian窗(或离散扁长球面波函数,即Sinc核的本征函数)来最大化集中在主瓣上的能量。


2
“在频率上相当接近的两个信号...您应该选择矩形”对,但是通常最好先增大窗口大小,然后如果需要窄的主信号,则使用Hann / Gauss / Hamming / ...窗口裂片。矩形的旁瓣确实很糟糕,也不适用于重叠的窗户,这对于Hann来说非常有用。(这当然仅在您有能力计算大的重叠窗口的情况下才有用。)
2011年

1
@leftaroundabout当然,但是通常会比较固定窗口大小。将一种尺寸的窗口与另一种尺寸的窗口进行比较是不公平的。是的,矩形在大多数情况下都是cr脚的,但在某些情况下有用。对于OP:我在Windows上很短的,短暂的和非数学解释这里堆栈溢出。您可能会发现它及其中的链接(我已经链接到Harris的论文,但是我看到Martin在这里进行了介绍)很有用
Lorem Ipsum

@LoremIpsum通过遵循“ 64点窗口的2048点FFT”语句的含义是什么。..请提出建议?
user6363


1

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

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

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


@leftaroundabout:“”两个频率相当接近的信号...您应该选择矩形“右,尽管通常最好只是增加窗口大小,然后使用Hann / Gauss / Hamming / ...窗口,如果您需要狭窄的主瓣。矩形的旁瓣确实很糟糕,并且也不适合重叠窗口使用,这在Hann上非常有用(当然,这只有在您能够负担得起大重叠窗口的情况下才有用)。 ”。您能解释为什么Hann与其他窗口相比重叠效果更好吗?
niaren 2011年

该声明并非排他性的。根据我的经验,Hann在我测试过的窗户中效果最好,但是在其他情况下,其他窗户的效果更好。基于$ \ cos ^ 2 + \ sin ^ 2 = 1 $,基于余弦的窗口通常应该提供最佳的重叠性能,这仅仅是我的一个模糊的启发式怀疑。因此,无论瞬态发生在何处,瞬态都具有相当强的强度。
2011年

谢谢。我不确定我是否理解您的例子。无论如何,我以为您提到了这样一个事实:重叠的Hann窗口有50%可以完美地进行重建。
niaren 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.