DFT定义:
$$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j2\pi kn/N}$$频率分辨率:$\Delta f = f_s / N$
窗函数可降低频谱泄漏
合成最多5个正弦波分量,实时分析FFT频谱。直观理解窗函数效果、频谱泄漏、THD和频率分辨率。
DFT定义:
$$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j2\pi kn/N}$$频率分辨率:$\Delta f = f_s / N$
窗函数可降低频谱泄漏
FFT的核心是离散傅里叶变换(DFT),它将离散的时间序列信号 $x[n]$ 转换到频域,得到复数频谱 $X[k]$。
$$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j2\pi kn/N}$$其中,$n$ 是采样点序号,$k$ 是频率索引(对应第 $k$ 个频率分量),$N$ 是总的采样点数(FFT点数)。这个公式计算了信号中包含的每个频率分量的幅度和相位。
频率分辨率决定了频谱能区分开两个多近的频率,是FFT分析中最重要的参数之一。
$$\Delta f = \frac{f_s}{N}$$$\Delta f$ 是频率分辨率(Hz),$f_s$ 是采样频率(Hz),$N$ 是FFT点数。例如,$f_s=1000\text{Hz}$,$N=1024$,则 $\Delta f \approx 0.98\text{Hz}$。这意味着频率间隔小于0.98Hz的两个信号,在频谱上可能无法被区分。
旋转机械故障诊断:风机、水泵、电机等设备,轴承损坏、转子不平衡或齿轮磨损都会产生特征频率的振动。工程师通过FFT分析振动频谱,可以精准定位故障类型和严重程度,实现预测性维护。
噪声源识别与NVH优化:在汽车和航空航天领域,FFT用于分析噪声频谱,找出恼人噪声的来源频率(如胎噪、风噪、发动机轰鸣声),从而指导隔音、吸音材料的设计与布置,提升乘坐舒适性。
电力电子与电能质量分析:分析电网或开关电源的输出波形,通过THD指标评估其谐波污染程度。高THD会降低设备效率、引起过热,FFT分析是制定滤波方案、改善电能质量的基础。
结构模态测试:在桥梁、建筑或飞机机翼上施加激励(如力锤敲击),通过多个传感器采集振动响应并进行FFT分析,可以提取结构的固有频率、阻尼比和振型,这是CAE模态仿真结果验证的关键步骤。
刚开始接触FFT分析时,包括我在内的很多人都容易陷入一些误区。首先是“采样频率越高分辨率就越高”这个误解。实际上频率分辨率 $\Delta f$ 等于 $f_s / N$,所以单纯提高 $f_s$ 反而会降低分辨率($\Delta f$ 会变大)。例如当 $f_s=1$kHz、$N=1024$ 时 $\Delta f \approx 0.98$Hz,但若将 $f_s$ 提升至2kHz,则 $\Delta f \approx 1.95$Hz。要想提高分辨率,必须增大 $N$ 或降低 $f_s$。但需注意:$f_s$ 无法捕捉高于奈奎斯特频率($f_s/2$)的信号成分,因此必须确保采样频率至少是测量对象最高频率的两倍。这种平衡正是工程实践的关键所在。
第二点是过度相信“加窗函数就能解决所有问题”。汉宁窗确实很方便,但会导致振幅显示偏小,需要乘以校正系数(例如对于有效值约为1.63)来估计真实振幅。此外,加窗也会降低时间分辨率。比如在捕捉瞬态冲击现象时,矩形窗反而能更准确地把握时间点。专业技巧在于根据现象特性选择窗函数,而非“万事皆用汉宁窗”。
最后是关于“FFT点数N必须是2的幂次”的刻板印象。虽然2的幂次计算效率最高,但现在的软件库和硬件对任意点数都能快速处理。更重要的是根据所需频率分辨率 $\Delta f$ 和现有数据长度来反推确定 $N$。即使只有8000个数据点,若想实现1Hz分辨率,只需设定 $f_s=8000$Hz即可。建议用本模拟器尝试将 $N$ 改为512或1000等非2的幂次,观察结果如何变化。