3. 振动信号采集与预处理

振动异常检测的板级验证效果,首先取决于采集到的信号是否真实、完整、可复现。TinyML模型在边缘端的推理精度,往往不是被算法本身限制,而是被传感器选型不当、采样率设置错误、噪声混叠以及窗口分割不合理所拖累。本章围绕振动信号从物理世界到模型输入之间的完整链路,系统讲解加速度计/陀螺仪的选型要点、采样率与抗混叠滤波的工程设置、去噪方法的选择依据,以及滑动窗口分割对特征稳定性的影响。以下内容将结合MEMS传感器特性、嵌入式资源约束和实际板级调试经验,给出可直接落地的操作路径。

振动信号采集与预处理链路 传感器选型 加速度计/陀螺仪 量程·带宽·噪声密度 采样率设置 奈奎斯特频率 抗混叠滤波 滤波去噪 高通/低通/带通 移动平均/中值滤波 滑动窗口分割 窗口长度·步长 重叠率·实时性 数据流:物理振动 → MEMS传感器 → I2C/SPI → MCU/DSP → 预处理 → 特征提取 → TinyML模型 关键参数速查 • 加速度计量程:±2g ~ ±16g • 陀螺仪量程:±125°/s ~ ±2000°/s • 采样率:≥10× 最高分析频率 • 窗口长度:包含5~10个振动周期 板级调试要点 • 传感器靠近振动源,减少结构传导损耗 • 电源去耦电容靠近VCC引脚 • SPI速率≥1MHz,避免数据丢失 • 测试点TP1/TP2预留调试接口

3.1 加速度计与陀螺仪的选型逻辑

核心原理

加速度计测量线性加速度,陀螺仪测量角速度。在振动异常检测中,加速度计是主力传感器,因为大多数机械故障(轴承磨损、齿轮断裂、转子不平衡)都会在径向或轴向产生明显的加速度特征。陀螺仪则用于旋转机械的角振动分析,例如电机转子摆动、轴系扭振。MEMS传感器内部由质量块、弹性梁和电容检测极板构成,当外部振动引起质量块位移时,电容变化量经ASIC转换为数字信号。选型的本质是匹配振动信号的幅值范围、频率范围和噪声底噪。

选型参数加速度计陀螺仪说明
量程±2g~±16g±125°/s~±2000°/s量程过小会削波,过大会降低分辨率
带宽0.5Hz~5kHz1Hz~1kHz需覆盖振动信号最高频率的2~3倍
噪声密度25~200 μg/√Hz0.005~0.02 °/s/√Hz噪声密度越低,微弱振动越可辨
接口I2C/SPII2C/SPISPI适合高采样率,I2C适合低功耗
功耗0.5~2mA1~5mA电池供电场景需重点考虑

判断方法

首先估算被测设备的最大振动加速度。例如,一个转速为3000RPM的电机,若转子偏心导致1g的振动加速度,则选择±2g量程即可;若存在冲击载荷,峰值可能达到5g,则需选择±8g或±16g。其次,确定振动频率范围。滚动轴承故障特征频率通常在1kHz~5kHz,齿轮啮合频率可达2kHz~10kHz,因此加速度计带宽至少应为最高分析频率的2倍。最后,检查噪声密度。若目标异常信号幅值接近传感器噪声底噪,则需选择低噪声型号或增加多次采样平均。

经验提醒:在板级验证阶段,建议选择量程可编程的传感器(如ADXL345、LSM6DSOX),通过寄存器配置切换量程,避免因振动幅值预估不准而返工。同时,优先选择带内置FIFO的传感器,可减轻MCU的读取负担。

案例拆解:电机轴承故障检测的传感器选型

某工厂需要对一台4极异步电机(转速1450RPM)进行轴承外圈故障检测。初始方案选用量程±2g的加速度计,实测发现电机启动瞬间振动峰值达到3.8g,导致信号削波。分析后确认,启动冲击和负载突变是主要原因。将量程切换至±8g后,信号完整度提升,但发现正常运行时振动幅值仅0.2g,量化噪声明显。最终采用双量程策略:正常运行使用±2g高分辨率模式,启动和负载突变时通过中断自动切换至±8g。同时,将采样率从1kHz提升至4kHz,以捕捉轴承外圈故障特征频率(约2.3kHz)的2倍频。更换传感器后,故障特征信噪比从6dB提升至18dB,模型准确率从82%提升至96%。

3.2 采样率设置与抗混叠滤波

核心原理

采样率决定了振动信号在频域的可分析范围。根据奈奎斯特采样定理,采样率必须大于信号最高频率的2倍,工程上通常取5~10倍。例如,若关注频率上限为2kHz,采样率应设为10kHz~20kHz。但采样率过高会带来数据量激增、MCU处理压力增大、功耗上升等问题。因此,采样率设置需在频率覆盖和资源消耗之间取得平衡。抗混叠滤波是采样前必须执行的步骤,用于滤除高于奈奎斯特频率的高频噪声,否则这些频率成分会折叠到低频段,污染真实信号。

// 采样率与频率覆盖关系示例
#define SAMPLE_RATE  16000  // 16kHz采样率
#define MAX_FREQ     2000   // 关注最高频率2kHz
// 奈奎斯特频率 = SAMPLE_RATE / 2 = 8kHz
// 抗混叠滤波器截止频率应设为 2kHz ~ 3kHz
// 实际可分析频率范围:0 ~ 8kHz(但有效信号集中在0~2kHz)

操作流程

  1. 确定振动信号的最高分析频率f_max,可通过FFT预扫描或查阅设备故障特征频率表。
  2. 设置采样率fs ≥ 5×f_max,推荐10×f_max以保证波形细节。
  3. 配置抗混叠滤波器(硬件RC或数字FIR),截止频率设为f_max的1.5~2倍。
  4. 验证采样数据:采集一段已知频率的正弦信号,检查FFT频谱是否在预期频率处出现峰值。
风险提示:许多MCU内置ADC的采样率上限受限于转换时间和DMA带宽。例如,STM32F4系列ADC在12位分辨率下最高采样率约2.4Msps,但实际使用中受限于传感器接口速率和内存带宽,建议预留30%的余量。若采样率不足,可考虑使用传感器内置FIFO批量读取,或降低分辨率换取更高采样率。

3.3 滤波去噪策略

核心原理

振动信号中的噪声来源包括:传感器自身电子噪声、电源纹波、机械结构共振、电磁干扰等。滤波去噪的目标是保留与故障相关的特征频率成分,抑制无关噪声。高通滤波用于去除低频漂移(如温度变化引起的基线偏移)和重力分量;低通滤波用于去除高频电磁干扰和结构共振噪声;带通滤波则针对特定频段进行分析。数字滤波器相比模拟滤波器具有更好的稳定性和可调性,但会引入相位延迟,需在实时性要求高的场景中权衡。

滤波器类型截止频率设置适用场景注意事项
高通1Hz~10Hz去除重力分量、低频漂移截止频率过高会滤除低速轴转频
低通0.5×fs~0.8×fs去除高频噪声、抗混叠阶数过高会增加相位延迟
带通f_low~f_high聚焦特定故障频段需先通过频谱分析确定频带
中值滤波窗口3~7点去除脉冲尖峰、毛刺窗口过大会平滑真实冲击特征

判断方法

首先对原始信号做FFT频谱分析,识别噪声频段和信号频段。若噪声为宽频白噪声,采用移动平均或FIR低通滤波;若存在50Hz工频干扰,使用陷波滤波器;若存在随机脉冲干扰,使用中值滤波。滤波参数的选择需结合信号特征:例如,轴承故障信号具有高频冲击特征,低通截止频率应设置在5kHz~10kHz,同时保留冲击的陡峭上升沿,因此滤波器阶数不宜过高(建议4~8阶)。

实战要点:在TinyML场景中,滤波器系数需量化为定点数以适配MCU的整数运算单元。例如,将浮点FIR系数乘以2^15后取整,滤波后再右移15位恢复幅值。量化误差会导致滤波器频率响应偏移,需在板级验证时对比量化前后的频谱差异。

3.4 滑动窗口分割

核心原理

滑动窗口将连续振动信号切分为固定长度的片段,每个片段作为TinyML模型的一个输入样本。窗口长度决定了频率分辨率(窗口越长,频率分辨率越高)和特征稳定性(窗口越长,特征越平滑)。步长决定了相邻窗口的重叠率,影响推理频率和计算负载。窗口分割的核心矛盾是:窗口过长导致实时性差、特征被平均化;窗口过短导致频率分辨率不足、特征波动大。

操作流程

  1. 确定窗口长度L:L ≥ 5×振动周期,例如转速3000RPM(50Hz)时,窗口至少100ms(5个周期),推荐200ms。
  2. 确定步长S:S = L×(1-重叠率),重叠率通常设为50%~75%。
  3. 验证窗口效果:计算窗口内信号的均方根值(RMS)和峰值,若波动超过20%,需增大窗口或增加重叠率。
  4. 考虑实时性:若MCU推理时间大于窗口时长,需降低重叠率或使用流式处理。
// 滑动窗口参数示例
#define WINDOW_LEN  256   // 256个采样点 @16kHz = 16ms
#define STEP_LEN    64    // 步长64点,重叠率75%
#define OVERLAP_RATIO 0.75
// 每秒推理次数 = SAMPLE_RATE / STEP_LEN = 16000/64 = 250次

案例拆解:旋转机械实时监测的窗口优化

某风机制造商需要在边缘设备上实时监测齿轮箱振动,MCU为Cortex-M4(168MHz),TinyML模型推理时间为8ms。初始方案采用窗口长度512点(@4kHz采样率,128ms),步长128点(重叠率75%),每秒推理31次。实测发现,当风机转速波动时,窗口内振动周期数不稳定,导致特征方差增大。分析后,将窗口长度改为动态调整:根据转速传感器信号计算当前转频,窗口长度设为5个转频周期(例如转频20Hz时窗口250ms)。同时,将步长固定为窗口长度的25%,保证重叠率恒定。优化后,模型在转速变化±10%范围内准确率保持稳定,且推理频率仍满足实时性要求(每秒约10次)。

3.5 常见误区与总结复盘

  • 误区一:采样率越高越好。高采样率导致数据量爆炸,MCU存储和处理压力增大,且高频噪声可能掩盖低频故障特征。正确做法是根据故障特征频率设置采样率,并配合抗混叠滤波。
  • 误区二:滤波越干净越好。过度滤波会滤除真实故障特征,尤其是冲击信号的高频成分。建议先做频谱分析,再针对性设计滤波器。
  • 误区三:窗口长度固定不变。对于转速变化的设备,固定窗口会导致窗口内周期数不稳定,特征波动大。应采用转速同步窗口或自适应窗口。
  • 误区四:忽略传感器安装位置。传感器安装位置对信号幅值和频率响应影响显著。应靠近振动源,使用刚性安装(螺栓或胶粘),避免使用磁吸座(会衰减高频成分)。
总结复盘:振动信号采集与预处理的本质是“保真”和“降维”。保真要求传感器选型匹配振动幅值和频率范围,采样率满足奈奎斯特条件,滤波不损伤特征;降维要求通过窗口分割和特征提取,将高维原始信号转化为适合TinyML模型输入的紧凑表示。在板级验证阶段,建议使用信号发生器注入已知振动信号,验证整个链路的幅值精度和频率响应,再接入真实设备进行标定。