3、振动信号与故障特征:时域特征(峰值、均方根、峭度)、频域特征(频谱、包络谱)、时频分析简介

轴承异常识别在TinyML端侧落地时,最核心的挑战并非模型结构本身,而是如何从原始振动信号中提取出稳定、可区分且计算开销可控的特征。振动信号本质上是机械系统在运行过程中产生的动态响应,其幅值、能量分布和统计特性会随故障类型、故障程度及工况变化而呈现规律性改变。本章围绕时域、频域及时频分析三条主线,系统讲解轴承故障特征提取的原理、计算方法和端侧实现要点,为后续模型训练与部署奠定数据基础。

轴承振动信号特征提取技术路线 加速度传感器 原始振动信号 信号预处理 去直流/带通滤波 时域特征 峰值/均方根/峭度 频域特征 FFT频谱/包络谱 时频分析 STFT/小波(端侧受限) 特征融合 降维/归一化 TinyML模型 决策树/CNN/异常检测 端侧实现要点: • 时域特征计算量小(O(n)),适合MCU实时计算;峭度对冲击敏感但需注意窗口长度 • FFT需2的幂次长度,Cortex-M4/M7可用CMSIS-DSP硬件加速;包络谱需先带通滤波再解调 • 时频分析(STFT)计算量大,端侧通常只做离线分析或提取低频段统计量 • 特征选择原则:区分度优先、计算量可控、对转速/负载变化鲁棒

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甚至更高。
端侧计算优化:在Cortex-M4等带FPU的MCU上,计算RMS和峭度时可采用单精度浮点累加,避免使用double类型以节省周期。峭度计算涉及四次方运算,可先计算方差再平方,减少乘法次数。对于1024点窗口,三个特征的总计算量约需3000~5000个周期,在100MHz主频下耗时不到50μs,完全满足实时性要求。

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作为第二层确认特征。

常见误区:峭度对随机冲击干扰(如外部敲击)也敏感,需结合带通滤波(如1kHz~10kHz)去除低频干扰后再计算。另外,窗口长度过短(如<256点)会导致峭度估计方差增大,建议窗口长度至少包含10个以上轴承旋转周期。

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难以识别。包络谱分析(又称高频共振解调)通过以下步骤提取故障特征:

  1. 带通滤波:选择轴承系统固有共振频带(通常3kHz~10kHz),滤除低频振动和噪声。
  2. 包络提取:对滤波后的信号取值,再通过低通滤波(或Hilbert变换)得到包络信号。
  3. FFT分析:对包络信号做FFT,得到包络谱,在故障特征频率处出现谱峰。
端侧实现要点:包络谱计算量较大(带通滤波+FFT),在Cortex-M7上处理2048点数据约需2~5ms。若MCU资源紧张,可简化方案:先计算时域峭度,仅当峭度>4时触发包络谱分析,实现两级诊断策略,降低平均功耗。

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 常见误区与总结复盘

误区1:直接对原始信号做FFT而不进行带通滤波,导致低频振动(如不平衡、不对中)淹没故障特征频率。
误区2:忽略转速波动的影响。转速变化会导致故障特征频率漂移,需使用阶比跟踪或归一化处理。
误区3:峭度计算时未去除直流分量,导致峭度值虚高。应先减去均值再计算。
误区4:在MCU上使用double类型计算FFT,导致内存溢出或速度过慢。应使用CMSIS-DSP的q15或f32定点/浮点库。

总结:时域特征(峰值、RMS、峭度)是TinyML端侧轴承故障诊断的基石,计算量小、实时性强;频域特征(频谱、包络谱)提供故障定位能力,但需权衡计算资源;时频分析在端侧受限,可作为离线分析工具。实际工程中,应根据MCU算力、功耗预算和诊断需求,设计合理的特征组合与两级触发策略,在准确性和实时性之间取得最佳平衡。