理解 FFT 分析中的窗口
定义:什么是窗口函数?
A 窗口函数(或称“窗口”)是一种数学函数,在快速傅里叶变换 (FFT) 算法处理时间波形数据块之前,会将其应用于该数据块。窗口的形状旨在使信号幅度在时间块的开始和结束时平滑地逐渐减小至零。此过程是至关重要的信号处理步骤,可以最大限度地减少一种称为 频谱泄漏,从而提高所得频谱的准确性。
问题:频谱泄漏
FFT 算法有一个固有假设:它假设所分析的有限时间数据块是一个周期信号的完整、完美重复的循环。但实际上,情况几乎从来不是这样。当数据采集开始和停止时,由于信号的结束与开始并不完全匹配,它会在时间块的边界处产生尖锐的、人为的不连续性。
FFT 将这些急剧的“跳跃”解读为实际信号中并不存在的高频成分。这会导致单个真实频率峰值的能量“泄漏”到频谱中相邻的频率区间。频谱泄漏的影响如下:
- 降低幅度精度: 由于峰值的能量已经扩散,因此测量到的峰值幅度将低于其真实值。
- 峰变宽: 峰会显得比实际更宽且更不清晰。
- 分辨率损失: 泄漏会提高大峰值周围的本底噪声,从而无法看到附近较小的频率峰值。
解决方案:应用窗口
窗口函数通过平滑地强制信号在时间块内呈现周期性来解决这个问题。通过将原始时间波形乘以窗口函数,时间块起始和结束处的幅度逐渐减小到零。这消除了尖锐的不连续性,有效地“欺骗”FFT,使其看到平滑、连续的信号。
结果是频谱更加清晰:
- 显著提高幅度精度。
- 更尖锐、更明确的频率峰值。
- 较低的噪声基底,使得小信号在较大信号旁边也能被看到。
常见的窗户类型
窗口函数有很多种,每种函数的特性略有不同。对于通用机械振动分析,几乎普遍使用一种窗口函数:
汉宁窗
"(《世界人权宣言》) 汉宁窗 在频率分辨率和幅度精度之间实现了非常好的平衡,它是几乎所有标准机械振动测量的推荐和默认窗函数。除非有特殊原因,否则应始终使用汉宁窗。
其他窗口
- 矩形窗口(或均匀/无): 这相当于不加窗。它具有最佳的频率分辨率,但频谱泄漏最严重。它仅适用于已知信号在时间块内具有完美周期性,或用于分析非常尖锐的瞬态事件的情况。
– 平顶窗: 此窗口提供最精确的幅度测量,但频率分辨率很差(峰值非常宽)。它用于校准目的,或者当峰值的精确幅度比其精确频率更重要时使用。
– 汉明窗: 与汉宁窗非常相似,但略有不同。
何时使用窗口
机械状态监测的简单规则是: 总是使用汉宁窗 用于一般频谱分析。禁用窗口会导致数据不准确且可能产生误导。现代振动分析仪默认使用汉宁窗,因为它对于生成可靠且准确的频谱至关重要。