2. 振动基础

振动是自然界和工程设备中最普遍的物理现象之一。从桥梁在风载荷下的微幅摆动,到旋转机械轴承的磨损冲击,再到智能手机中MEMS加速度计感知的每一次晃动,本质上都是物体在其平衡位置附近进行的往复运动。在TinyML振动异常检测的工程实践中,我们通过加速度计或麦克风采集到的原始信号,正是这些机械振动的时域映射。理解振动的基本概念、类型划分以及核心参数,是后续进行FFT频谱分析、特征提取和模型训练的前提。本章将系统梳理振动的基础理论框架,并建立从物理振动到数字信号的认知桥梁。

振动知识框架与信号采集链路 机械振动源 电机/轴承/齿轮/结构 振动类型 自由振动(衰减) 受迫振动(稳态) 自激振动(颤振) 振动三要素 振幅 A (mm / g) 频率 f (Hz / RPM) 相位 φ (° / rad) 时域波形 → 频谱特征 峰值/有效值/峭度 基频/谐波/边带 传感器 加速度计/麦克风 信号调理 放大/滤波/ADC TinyML处理 FFT/特征/分类 异常检测结果 正常/故障/趋势 反馈:特征分布漂移 → 模型更新 / 阈值调整

上图展示了从物理振动源到TinyML异常检测输出的完整链路。机械振动通过传感器转换为电信号,经过信号调理后进入嵌入式处理器进行FFT分析,最终输出检测结果。理解这一链路中的每一个环节,尤其是振动本身的物理特性,是构建可靠检测系统的基石。

振动的基本概念与物理本质

振动是指物体或系统在其平衡位置附近所做的周期性或非周期性的往复运动。从力学角度看,振动系统通常包含三个基本要素:质量(惯性元件)、刚度(弹性元件)和阻尼(能量耗散元件)。以旋转机械为例,转子质量、轴承刚度和润滑油膜阻尼共同决定了系统的振动特性。在TinyML应用中,我们并不直接求解微分方程,而是通过传感器采集振动信号,再以数字信号处理手段提取特征。但理解振动的基本物理模型有助于我们正确选择采样率、分析频段和特征参数。

振动信号在数学上可以表示为位移、速度或加速度随时间变化的函数。对于简谐振动,其位移表达式为:

x(t) = A · sin(2πft + φ)

其中,A为振幅,f为频率,φ为初相位。在实际工程中,加速度计输出的是加速度信号,其与位移和速度之间存在微分/积分关系:速度是位移的一阶导数,加速度是位移的二阶导数。这意味着在FFT频谱中,同一振动源在不同物理量表示下,其频谱幅值会随频率产生不同的加权(加速度谱在高频段幅值相对增大)。因此,在TinyML特征提取时,必须明确使用的是加速度、速度还是位移信号,否则会导致特征不一致。

经验提醒:在嵌入式振动检测中,加速度计是最常用的传感器。由于加速度信号对高频振动更敏感,而位移信号对低频更敏感,建议根据设备转速范围选择分析频段。例如,对于转速为3000 RPM(50 Hz)的电机,重点关注10 Hz ~ 1 kHz频段即可覆盖主要故障特征。

振动类型:自由振动、受迫振动与自激振动

根据振动激励来源的不同,工程振动可分为三大类。理解这些类型有助于判断异常振动的根源。

振动类型 激励来源 典型特征 工程实例
自由振动 初始扰动后无持续外力 频率为系统固有频率,振幅指数衰减 敲击测试、断电后转子的惯性摆动
受迫振动 周期性或随机外部激励 频率等于激励频率,振幅与激励幅值相关 转子不平衡、齿轮啮合、轴承故障
自激振动 系统内部能量反馈 频率接近固有频率,振幅持续增长或极限环 切削颤振、管道流体激振、制动尖叫

自由振动发生在系统受到瞬时冲击后,不再有外部激励作用的情况。其振动频率等于系统的固有频率,由质量和刚度决定:fn = (1/2π)·√(k/m)。由于阻尼的存在,自由振动会逐渐衰减。在TinyML应用中,自由振动常用于模态分析——通过敲击设备并采集响应信号,可以识别结构的固有频率,进而判断结构刚度是否发生变化。

受迫振动是旋转机械中最常见的振动类型。当转子存在质量不平衡时,会产生与转速同频的周期性激励;当轴承出现局部损伤时,会产生与滚动体通过频率相关的冲击激励。受迫振动的频率与激励源频率一致,幅值受系统阻尼和激励幅值共同影响。在FFT频谱中,受迫振动表现为明确的谱线,其频率与转速频率(1X、2X、3X…)或故障特征频率(BPFO、BPFI、BSF等)对应。

自激振动则更为复杂,它由系统内部的能量反馈机制维持,振动频率通常接近系统的固有频率,但振幅不衰减甚至增长。典型的例子是机床切削颤振——切削力与振动位移之间存在相位滞后,导致能量不断输入振动系统。在TinyML异常检测中,自激振动往往表现为窄带高频成分,且幅值波动剧烈,需要结合时域特征(如峭度)进行识别。

风险提示:在振动数据采集时,如果采样时长过短(例如仅采集0.1秒),可能无法捕捉到自由振动的衰减过程或自激振动的幅值增长趋势。建议至少采集10个以上振动周期的数据,对于低频振动(如10 Hz),采样时长应不少于1秒。

振动参数:振幅、频率与相位的工程含义

振幅、频率和相位是描述振动的三个核心参数,它们从不同维度刻画了振动的状态。在TinyML特征工程中,这三个参数分别对应不同的特征提取策略。

振幅反映振动的强度或能量大小。常用的振幅指标包括峰值(Peak)、峰峰值(Peak-to-Peak)、有效值(RMS)和平均值。在时域中,峰值对冲击类故障敏感,RMS对稳态振动能量敏感。在频域中,各频率分量的幅值谱反映了振动能量在不同频段的分布。对于旋转机械,通常用振动速度的有效值(mm/s RMS)来评价设备状态,ISO 10816标准给出了不同等级设备的振动限值。在TinyML模型中,振幅特征(如RMS、峰值因子、峭度)是最基础的输入特征。

频率是振动分析中最具诊断价值的参数。频率的单位为Hz(次/秒),对于旋转机械,常用转速频率的倍数(1X、2X、3X…)来表示。不同的故障类型对应不同的频率特征:

  • 不平衡:主要振动频率为1X(转速频率),幅值随转速升高而增大。
  • 不对中:主要振动频率为2X,同时伴有1X和3X成分。
  • 轴承外圈故障:特征频率BPFO ≈ (n/2)·fr·(1 - d/D·cosα),其中n为滚动体数量,fr为转速频率。
  • 齿轮断齿:啮合频率fm = 齿数 × 转速频率,断齿时在啮合频率两侧出现边带。

相位描述振动信号在某一时刻相对于参考点的位置,单位为度或弧度。相位信息在动平衡、轴对中诊断中至关重要。例如,在转子动平衡时,需要测量振动在键相脉冲参考下的相位角,以确定不平衡质量的位置。在TinyML应用中,相位通常不直接作为特征输入,因为单通道传感器难以获得稳定的相位参考。但在多传感器同步采集时,相位差可以用于识别轴系扭振或结构模态。

核心原理:FFT频谱分析的本质是将时域振动信号分解为不同频率的正弦波叠加。频谱中的每个峰值对应一个频率分量,其幅值代表该频率成分的振动能量,相位代表该成分的初始角度。在TinyML中,我们通常取频谱幅值作为特征,而忽略相位信息,因为幅值谱对传感器安装位置不敏感,更具鲁棒性。

振动参数在TinyML特征工程中的应用

在TinyML振动异常检测中,我们并不直接使用原始时域波形作为模型输入,而是提取具有物理意义的特征。以下是一个典型的特征提取流程:

  1. 时域特征:计算RMS、峰值、峰峰值、峭度、波形因子、脉冲因子等统计量。这些特征计算简单,适合在MCU上实时运行。
  2. 频域特征:对时域信号加窗(如汉宁窗)后进行FFT,得到功率谱或幅值谱。提取频谱峰值、峰值频率、频谱质心、频带能量比等特征。
  3. 特征融合:将时域和频域特征组合成特征向量,输入分类器(如决策树、随机森林或轻量级神经网络)。

以一个简单的轴承故障检测为例:假设采样率为12.8 kHz,采样点数为1024点,则频率分辨率为12.5 Hz。对于转速为1800 RPM(30 Hz)的轴承,其外圈故障特征频率BPFO约为107 Hz。在FFT频谱中,我们可以在100~115 Hz范围内搜索峰值,若该频段能量显著高于正常状态,则判定为外圈故障。

// 伪代码示例:计算频段能量比
float band_energy = 0;
for (int i = freq_start; i <= freq_end; i++) {
    band_energy += spectrum[i] * spectrum[i];
}
float total_energy = 0;
for (int i = 0; i < NFFT/2; i++) {
    total_energy += spectrum[i] * spectrum[i];
}
float ratio = band_energy / total_energy;
if (ratio > threshold) { fault_detected = true; }
实战建议:在MCU上实现FFT时,建议使用定点数运算或CMSIS-DSP库的浮点FFT函数。对于Cortex-M4/M7内核,1024点FFT运算时间约为1~2 ms,可以满足实时性要求。同时,注意避免频谱泄漏——在FFT前对信号施加汉宁窗,并确保采样点数包含整数个振动周期。

案例拆解:电机轴承外圈故障的振动特征识别

下面通过一个简化的案例,说明如何利用振动参数进行故障诊断。某工厂一台三相异步电机,额定转速为1470 RPM(24.5 Hz),轴承型号为6205,滚动体数量为9,滚动体直径d=7.94 mm,节圆直径D=39.04 mm,接触角α=0°。根据公式计算外圈故障特征频率:

BPFO = (n/2) × f_r × (1 - d/D × cosα)
     = (9/2) × 24.5 × (1 - 7.94/39.04)
     = 4.5 × 24.5 × 0.7966
     ≈ 87.8 Hz

在电机轴承座上安装加速度计,采样率为2560 Hz,采样时长为2秒。对采集信号进行FFT分析,频谱中在87.5 Hz处出现明显峰值,幅值为0.45 g,而正常状态该频段幅值小于0.05 g。同时,在175 Hz(2×BPFO)处也出现较小峰值。时域波形中,RMS值从正常的0.12 g上升到0.38 g,峭度从3.1上升到5.8。综合判断,该轴承存在外圈局部损伤。

在TinyML部署时,我们将上述特征(RMS、峭度、87.5 Hz频段能量比)作为输入,训练一个简单的决策树模型。模型在测试集上准确率达到96%,推理时间仅需0.8 ms,内存占用约2 KB,完全满足嵌入式实时检测要求。

注意事项:上述案例中,BPFO的计算依赖于轴承几何参数,实际应用中这些参数可能未知。此时可以通过频谱峰值搜索自动识别特征频率,或使用机器学习方法直接从频谱中学习故障模式,无需人工计算特征频率。

常见误区与总结复盘

在振动基础学习和TinyML应用中,初学者常犯以下错误:

  • 混淆加速度、速度与位移:三者频谱形状不同,特征提取时必须保持一致。
  • 忽略采样定理:采样率必须大于最高分析频率的2倍,否则产生混叠。例如,要分析1 kHz以内的振动,采样率至少为2 kHz,实际工程中建议取5~10倍。
  • 频谱分辨率不足:频率分辨率Δf = 采样率/FFT点数。若Δf过大,可能无法区分相邻的故障特征频率。
  • 仅看幅值谱忽略相位:对于某些故障(如不对中),相位信息具有诊断价值,但单通道系统难以利用。
  • 特征冗余:将大量时域和频域特征直接输入模型,导致计算量大且过拟合。应通过特征选择或降维(如PCA)减少特征维度。