首先明确一个核心观点:谐波分析(FFT)听起来可能很复杂,但只要你理解了它的基本原理——哪怕只是掌握大致思路——就能解决实际测试中遇到的许多疑难问题。
从最直观的例子说起。你用手机播放音乐时,声音随时间变化,音符高低起伏。如果以音高(频率)为纵轴、时间为横轴,绘出的曲线就是时域波形(如图1-1)。换个角度,以音符(频率信息)为横轴,展示各频率成分的分布,便得到图1-2。这种从时域到频域的“翻译”就是傅立叶变换。由于采集数据是离散点,因此称为离散傅立叶变换(DFT)。而快速傅立叶变换(FFT)本质上是DFT的快速算法——通过时间抽取或频率抽取大幅提升计算速度。至于具体算法细节,此处不再赘述,理解到这种程度即可。

图1 生活中的FFT应用示例
在转换后的频谱图中,频率非零且幅值最高的谱线通常对应基波,也称为零次谐波。

图2 从时域到频域的转换
频率泄漏的概念与成因
实际应用中,我们通常处理的是长时间录音或信号。为了进行FFT分析,需要将长数据分割成若干小帧——这一过程称为信号截断。截断方式分为周期截断和非周期截断两种。
举个直观例子(如图3)。若每帧数据恰好是信号周期的整数倍,则为周期截断。此时信号频率成分正好落在频率分辨率(频率轴最小间隔)的整数倍上,傅立叶变换后不会产生拖尾,谐波分析干净无泄漏。
然而,大多数情况下信号并非严格周期,或者截取长度不是信号周期的整数倍——即非周期截断。一旦发生非周期截断,频谱会在整个频率范围内出现拖尾。更严重的是,由于能量守恒,拖尾将原本集中于一根谱线的能量分散到周围,导致显示的幅值低于真实值,这就是所谓的幅值泄漏。

图3 信号截断示意图
栅栏效应及其影响
除了幅值泄漏,还有栅栏效应问题。它揭示了FFT的一个固有缺陷:离散傅立叶变换只能计算基频整数倍位置的频率分量,而真实信号的频率成分可能不恰好落在这些点上。这好比透过栅栏看风景,只能看到缝隙间的部分,而关键的频率峰值精确位置被木条遮挡,只能观察到两侧的模糊信息。
窗函数及其常见类型
既然非周期截断会导致泄漏,能否在截断过程中加以干预?当然可以。我们可以为截断数据添加一个“窗”——即选择合适的信号截断函数,以最大程度抑制频谱拖尾。如图5所示,常见窗函数包括:

图5 常见窗函数类型
- 矩形窗:基本等同于不加窗,最适合处理周期信号。
- 汉宁窗:适用于信号随机或未知,或包含多个频率分量且更关注频率分布而非绝对能量时,推荐使用。
- 平顶窗:若需进行校准工作且对幅值精度要求极高,平顶窗是理想选择。
- 凯塞窗:当需要同时兼顾幅值精度和频率精度时,凯塞窗能提供较好的平衡。
- 布莱克曼窗:当两个频率分量非常接近但幅值差异显著时,建议优先选用布莱克曼窗。
加窗后的幅值与频率修正方法
加窗虽然能缓解泄漏,但栅栏效应仍然存在,幅值准确度只是有所改善,并非完美。此时需要借助插值算法进行“修复”。原理并不复杂:加窗后,每个频率成分的主瓣形状近似于窗函数频谱的主瓣形状。若该形状可用函数描述,则可利用主峰两侧的两根谱线,通过插值计算还原主峰的真实高度和精确位置——从而绕过栅栏效应。具体推导细节可参考《Hanning窗在插值FFT算法中应用的研究》一文。
支持谐波分析的先进仪器
理论和方法介绍完毕,接下来看看实际应用中有哪些设备能够实现这些功能。示波记录仪ZDL6000就是一个典型代表,它支持波形离线与在线谐波分析。在离线模式下,单帧最高可支持10M点的FFT分析,同时支持多种窗函数类型设置,并能实现多通道同步计算,还提供回读数据再分析功能,如图7所示。

图7 离线FFT分析界面
在线模式同样表现出色,最高采样率达2M,支持多通道同步采集与实时计算。每帧数据的分析周期可在1~100ms之间灵活调节,最多可分析至15次谐波。分析结果自动刷新,并支持导出为CSV文件,便于后续处理。
