Tukey 窗口的使用及其对图形的影响

信息处理 fft 窗户
2022-02-09 01:40:53

我试图最小化变量频谱中的噪声。我试图将时间历史分成相等的部分,做这个时间历史部分的 FFT 并在这些 FFT 之间做一个平均值。

执行此程序后,我发现高频的趋势似乎与不执行此程序的趋势略有不同。我使用带有 Matlab 的命令将时间历史的每个部分乘以 Tukey 窗口

A= tukeywin(L)

使用 Tukey 窗口,我发现趋势似乎与第一个更相似。有人可以解释我为什么吗?我试图搜索这个窗口的理论,但我总是找到过滤器的定义,但我不明白这可能是这个窗口的效果。

我注意到的另一个事实是,显然使用 Tukey 窗口可以减少能量含量,是否有技术可以减少噪音以避免这种减少?

我只需要一个建议即可开始,很难理解哪种是降低噪音的正确技术。

1个回答

您描述的技术看起来类似于Welch 的功率谱密度估计方法不过,您的实现似乎存在错误:您应该采用 FFT 的绝对平方值,而不是复数值。这样的错误可能会显着影响您的结果,因为随机相位可能会使您达到频谱的零平均值。无论如何,大多数用于信号处理的语言(例如 MATLAB 和 Python)都包含一个现成的 Welch 方法实现,因此您不必弄乱细节。建议:由于频谱的变化是由于用户使用了多个窗口(变化减少与 N 成正比),您可能希望重叠窗口。常见 Hann 窗的典型重叠率为 50%。

窗口类型不应以您描述的方式影响光谱。时间上的乘法相当于频率上的卷积。因此,窗口效应应该主要影响您的频谱泄漏。你的信号是静止的吗?这是使用这种技术的基本假设。

实际上,据我所知,您描述的信号不包含时域信息,而仅包含频域信息。换句话说,不应该有具有定义相位的周期性分量。因此,通常用矩形窗口处理(然后就不需要重叠了)。

使用任何窗口都会降低能量,因为窗口的值小于 1。这可以通过将结果除以窗口范数/平均值来补偿(可能是两个或其他系数的幂 - 取决于您的频谱类型想估计)。无论如何,如果您使用MATLAB 的实现,它为您包装了所有内容,您不必担心。