3、振动信号与故障特征:时域特征(峰值、均方根、峭度)、频域特征(频谱、包络谱)、时频分析简介
轴承异常识别在TinyML端侧落地时,最核心的挑战并非模型结构本身,而是如何从原始振动信号中提取出稳定、可区分且计算开销可控的特征。振动信号本质上是机械系统在运行过程中产生的动态响应,其幅值、能量分布和统计特性会随故障类型、故障程度及工况变化而呈现规律性改变。本章围绕时域、频域及时频分析三条主线,系统讲解轴承故障特征提取的原理、计算方法和端侧实现要点,为后续模型训练与部署奠定数据基础。
3.1 时域特征:从波形统计量到故障敏感指标
时域特征直接对原始振动信号的幅值序列进行统计分析,计算复杂度低,非常适合在MCU上逐帧实时计算。对于轴承故障诊断,最常用的时域特征包括峰值(Peak)、均方根值(RMS)和峭度(Kurtosis),三者从不同维度刻画信号特性:峰值反映瞬时冲击强度,RMS反映振动能量水平,峭度则对冲击性故障极为敏感。
3.1.1 核心原理与计算公式
设采集到的振动信号序列为 \( x_1, x_2, ..., x_N \),其中N为窗口长度(通常取1024或2048点),各特征定义如下:
- 峰值(Peak):\( X_{peak} = \max(|x_i|) \),反映信号的最大瞬时幅值。轴承出现剥落、裂纹时,滚动体通过缺陷位置会产生周期性冲击,峰值显著增大。
- 均方根值(RMS):\( X_{rms} = \sqrt{\frac{1}{N}\sum_{i=1}^{N}x_i^2} \),代表信号的有效值,与振动能量直接相关。磨损类故障导致RMS缓慢上升,但早期点蚀时RMS变化不明显。
- 峭度(Kurtosis):\( K = \frac{\frac{1}{N}\sum_{i=1}^{N}(x_i-\bar{x})^4}{(\frac{1}{N}\sum_{i=1}^{N}(x_i-\bar{x})^2)^2} \),衡量信号分布的陡峭程度。正常轴承振动近似高斯分布,峭度值约为3;当出现冲击性故障时,峭度值可升至5~20甚至更高。
3.1.2 判断方法与工况适配
时域特征并非越大越好,需要结合工况设定自适应阈值。例如,转速升高时RMS自然增大,若使用固定阈值会造成误报。实际工程中常采用相对变化率作为判据:
// 伪代码:基于滑动窗口的时域特征异常检测
float baseline_rms = 0.5f; // 正常工况标定值
float threshold_ratio = 1.8f; // 超过基线1.8倍报警
while (1) {
float rms = compute_rms(buffer, 1024);
float kurt = compute_kurtosis(buffer, 1024);
if (rms > baseline_rms * threshold_ratio || kurt > 5.0f) {
fault_flag = 1; // 触发异常
}
// 每帧更新基线(慢速自适应)
baseline_rms = 0.99f * baseline_rms + 0.01f * rms;
}
3.1.3 案例拆解:电机轴承早期点蚀识别
某工厂一台55kW电机驱动风机,转速2980rpm,轴承型号SKF 6309。在例行巡检中,振动加速度传感器(灵敏度100mV/g)采集到异常信号。初始时域波形显示峰值从正常的2.1g升至3.8g,RMS从0.42g升至0.61g,但峭度从3.1飙升至7.8。进一步分析发现,峭度升高远早于RMS变化,说明存在早期冲击性故障。拆检后确认外圈出现直径约0.5mm的点蚀坑。此案例表明:峭度是早期冲击故障的敏感指标,而RMS更适合评估整体劣化程度。在TinyML模型中,可将峭度作为第一层快速筛查特征,RMS作为第二层确认特征。
3.2 频域特征:频谱分析与包络谱解调
时域特征虽然计算简单,但无法区分故障的具体位置(内圈、外圈、滚动体、保持架)。频域分析通过傅里叶变换将信号分解为不同频率分量,能够与轴承各部件的故障特征频率(BPFO、BPFI、BSF、FTF)对应,实现故障定位。
3.2.1 频谱分析原理
对时域信号施加FFT得到频谱,横轴为频率(Hz),纵轴为幅值。轴承故障特征频率计算公式如下(fr为转频,Z为滚动体数,d为滚动体直径,D为节圆直径,α为接触角):
- 外圈故障频率:\( BPFO = \frac{Z \cdot f_r}{2}(1 - \frac{d}{D}\cos\alpha) \)
- 内圈故障频率:\( BPFI = \frac{Z \cdot f_r}{2}(1 + \frac{d}{D}\cos\alpha) \)
- 滚动体故障频率:\( BSF = \frac{D \cdot f_r}{2d}(1 - (\frac{d}{D}\cos\alpha)^2) \)
- 保持架故障频率:\( FTF = \frac{f_r}{2}(1 - \frac{d}{D}\cos\alpha) \)
以2980rpm(fr=49.67Hz)、Z=9、d=17.5mm、D=65mm、α=0°的6309轴承为例:BPFO≈198.7Hz,BPFI≈248.3Hz。若频谱在198.7Hz处出现明显峰值,即可判定外圈故障。
3.2.2 包络谱:解调冲击信号的有效手段
早期故障产生的冲击信号频率很高(数kHz至数十kHz),但能量微弱,直接FFT难以识别。包络谱分析(又称高频共振解调)通过以下步骤提取故障特征:
- 带通滤波:选择轴承系统固有共振频带(通常3kHz~10kHz),滤除低频振动和噪声。
- 包络提取:对滤波后的信号取值,再通过低通滤波(或Hilbert变换)得到包络信号。
- FFT分析:对包络信号做FFT,得到包络谱,在故障特征频率处出现谱峰。
3.2.3 案例拆解:包络谱定位内圈故障
某减速机输出轴轴承(型号NU208,fr=25Hz,Z=14,BPFI≈187.5Hz)出现异常噪声。原始频谱在1kHz以下无明显峰值,但包络谱在187.5Hz及其倍频(375Hz、562.5Hz)处出现清晰谱峰,且边带间隔为转频25Hz(内圈故障的典型特征——幅值调制)。据此判定为内圈故障,拆检确认内圈滚道存在疲劳剥落。该案例说明:包络谱能有效提取被高频噪声掩盖的故障特征,且边带分析可进一步区分内圈/外圈故障。
3.3 时频分析:非平稳信号的补充视角
实际工况中,电机启停、负载波动会导致振动信号呈现非平稳特性,此时单纯时域或频域分析可能失效。时频分析(如短时傅里叶变换STFT、小波变换)能同时揭示频率随时间的变化规律,但计算量较大,在TinyML端侧通常不直接部署,而是作为离线分析工具或提取低频统计量后用于模型训练。
3.3.1 STFT原理与端侧限制
STFT将信号分段加窗后逐段FFT,得到时间-频率二维谱图。其时间分辨率和频率分辨率受窗长制约:窗长越长,频率分辨率越高但时间分辨率越低。对于轴承故障,STFT可观察故障特征频率是否随时间漂移(如转速变化时)。然而,一个256点窗口的STFT需要计算128个频点,若连续滑动则计算量巨大,不适合MCU实时处理。
3.3.2 端侧可行的时频特征替代方案
在资源受限的端侧设备上,可采用以下简化策略:
- 分段统计:将一帧信号分为4~8个子段,分别计算各子段的RMS和峭度,形成特征向量,间接反映时变特性。
- 峰值频率跟踪:仅对FFT谱中幅值最大的前3个频率分量进行跟踪,记录其频率和幅值变化。
- 离线小波分析:在云端或PC端对采集的原始数据进行小波包分解,提取各频带能量比作为训练特征,端侧仅部署训练好的模型。
3.4 特征选择与融合策略
将时域、频域特征组合使用可显著提升诊断准确率,但需注意特征间的相关性和计算开销。下表对比了常用特征在TinyML场景下的适用性:
| 特征类型 | 计算量(1024点) | 故障敏感度 | 端侧适用性 | 典型应用场景 |
|---|---|---|---|---|
| 峰值 | ~200周期 | 冲击故障 | 极高 | 快速预筛查 |
| RMS | ~300周期 | 磨损/不平衡 | 极高 | 整体劣化评估 |
| 峭度 | ~800周期 | 早期点蚀 | 高 | 早期预警 |
| FFT频谱峰值 | ~5000周期 | 故障定位 | 中(需FPU) | 故障类型识别 |
| 包络谱峰值 | ~15000周期 | 早期微弱故障 | 低(需两级触发) | 精密诊断 |
3.4.1 特征融合策略建议
在TinyML模型中,推荐采用两级特征流水线:第一级使用峰值、RMS、峭度三个时域特征进行快速分类(正常/异常),计算量极小;若判定为异常,再触发FFT和包络谱分析,提取故障特征频率,输入轻量级分类器(如决策树或1D-CNN)进行故障定位。这种策略可将平均功耗降低60%以上,同时保证诊断准确性。
3.4.2 常见误区与总结复盘
误区2:忽略转速波动的影响。转速变化会导致故障特征频率漂移,需使用阶比跟踪或归一化处理。
误区3:峭度计算时未去除直流分量,导致峭度值虚高。应先减去均值再计算。
误区4:在MCU上使用double类型计算FFT,导致内存溢出或速度过慢。应使用CMSIS-DSP的q15或f32定点/浮点库。
总结:时域特征(峰值、RMS、峭度)是TinyML端侧轴承故障诊断的基石,计算量小、实时性强;频域特征(频谱、包络谱)提供故障定位能力,但需权衡计算资源;时频分析在端侧受限,可作为离线分析工具。实际工程中,应根据MCU算力、功耗预算和诊断需求,设计合理的特征组合与两级触发策略,在准确性和实时性之间取得最佳平衡。