4. 信号处理基础:傅里叶变换(FFT)原理,时域与频域分析,采样定理与混叠效应,窗函数的选择
各位同行,大家好。我是老张,干结构健康监测这行有十几年了。今天咱们聊聊信号处理里最基础、也最绕不开的一块——傅里叶变换。说白了,你采集回来的振动信号,就是一堆随时间变化的数字。可裂纹的特征,往往藏在频率里。怎么把时间信号变成频率信号?这就是FFT要干的事。
核心观点:时域信号是“表象”,频域信号是“本质”。裂纹早期,时域波形可能看不出啥,但频域里某个频率的幅值或相位已经悄悄变了。
4.1 傅里叶变换(FFT)原理
傅里叶变换,数学上就是把一个时域信号分解成不同频率的正弦波之和。你想想看,任何一个复杂的振动,都可以看成是无数个简单振动的叠加。FFT就是快速计算这个分解过程的算法。
我个人习惯,不跟学生讲太多数学推导,而是让他们记住一个公式的物理意义:
X(f) = ∫ x(t) · e^(-j2πft) dt
这个公式在说:信号x(t)在频率f处的能量,等于信号与一个频率为f的复指数信号相乘后积分。说白了,就是“匹配滤波”——看看信号里有多少这个频率的成分。
我在项目中遇到过一件事:某风机叶片,时域波形看着挺正常,但做FFT后发现,在23.5Hz处有一个微小的峰值。后来一查,是叶片根部出现了2mm的裂纹。这就是FFT的威力——把肉眼看不到的特征放大给你看。
我的经验:做FFT前,一定要先去除信号的直流分量(均值)。否则0Hz处会有一个大尖峰,把其他频率都压下去了。我刚开始干这行时就吃过这个亏。
4.2 时域与频域分析
时域分析,看的是信号随时间的变化。比如峰值、均方根值、峭度等。频域分析,看的是信号在不同频率上的能量分布。两者是同一个信号的两个视角,缺一不可。
我一般这样跟新人讲:
- 时域:像心电图,看心跳节奏。裂纹早期,时域波形可能只是偶尔有个小毛刺。
- 频域:像光谱分析,看每种颜色的光有多强。裂纹出现后,某些频率的幅值会明显变化。
举个例子,一个健康的叶片,其振动频谱通常比较干净,主要在转频及其倍频处有能量。一旦出现裂纹,频谱中会出现边频带,或者某个固有频率发生偏移。我记得有一次,一个风电场的叶片频频报警,时域指标都正常,我坚持做了频谱分析,发现2倍转频处出现了调制边带,最终确认是叶片内部脱粘。
重要提醒:不要只看频谱的幅值,相位信息同样重要。裂纹会导致结构刚度变化,进而影响相位响应。我习惯把幅值谱和相位谱一起看。
4.3 采样定理与混叠效应
采样定理,也叫奈奎斯特定理。它说:采样频率必须大于信号最高频率的两倍,否则会发生混叠。混叠是什么?就是高频信号伪装成低频信号,混进你的分析结果里。
为什么会这样?你想想看,如果你采样太慢,两个周期之间的信息就丢了。比如一个100Hz的信号,你用150Hz采样,那它看起来就像一个50Hz的信号。这就是混叠。
我曾经犯过一个错:现场采集振动数据,采样频率设了1000Hz,觉得够了。结果分析时发现一个奇怪的20Hz峰值,排查了半天,最后发现是现场有个500Hz的电磁干扰,混叠成了20Hz。从那以后,我每次做测试前,都会先确认采样频率是否满足要求,并且加装抗混叠滤波器。
避坑指南:采样频率不是越高越好。太高了数据量大,存储和计算都费劲。一般取信号最高频率的2.56倍到4倍就够用了。我常用的经验值是2.56倍。
采样定理的数学表达很简单:
fs ≥ 2 * fmax
其中fs是采样频率,fmax是信号中的最高频率成分。注意,这里的fmax不是你关心的频率,而是信号中实际存在的最高频率。所以,加抗混叠滤波器是必须的——把高于fs/2的频率成分滤掉。
4.4 窗函数的选择
做FFT时,我们只能对有限长度的信号进行分析。这就好比从一段无限长的信号中,截取了一段。截取这个动作,本身就会引入误差,叫“频谱泄漏”。窗函数就是用来减小这个误差的。
窗函数有很多种,常用的有:
| 窗函数 | 特点 | 适用场景 |
|---|---|---|
| 矩形窗 | 主瓣窄,旁瓣高 | 瞬态信号、冲击信号 |
| 汉宁窗 | 主瓣稍宽,旁瓣低 | 连续振动信号(最常用) |
| 海明窗 | 与汉宁窗类似,旁瓣更低 | 噪声较大的信号 |
| 布莱克曼窗 | 主瓣最宽,旁瓣最低 | 需要精确测量幅值的场景 |
| 平顶窗 | 幅值精度极高 | 校准、计量级测量 |
我个人习惯,做叶片裂纹监测时,首选汉宁窗。为什么呢?因为叶片振动信号通常是连续的、平稳的,汉宁窗能很好地平衡频率分辨率和幅值精度。如果信号中有明显的冲击成分(比如叶片打叶),我会改用矩形窗,因为它对瞬态信号的保真度更高。
一个小技巧:如果你不确定该用哪种窗,先试试汉宁窗。它是最通用的选择。我曾经对比过多种窗函数对裂纹特征提取的影响,汉宁窗在大多数情况下表现最稳定。
窗函数的选择,本质上是在“频率分辨率”和“幅值精度”之间做权衡。主瓣越窄,频率分辨率越高,但旁瓣泄漏也越严重。反之亦然。没有完美的窗函数,只有最适合你应用场景的窗函数。
知识体系总览
下面这张图,是我自己画的信号处理知识框架。它把今天讲的内容串起来了:
嗯,今天的内容就到这里。信号处理是裂纹识别的地基,地基不牢,后面再高级的算法也是白搭。我建议你回去后,找一段实测的叶片振动数据,自己动手做一遍FFT,看看频谱里能发现什么。实践出真知,这话一点不假。