3. 信号采集与预处理
振动信号采集是TinyML异常检测系统的物理入口,其质量直接决定后续FFT特征提取与模型推理的上限。在嵌入式环境中,ADC采样率、传感器带宽、信号调理电路与数字预处理算法共同构成一条完整链路。本章围绕采样定理、抗混叠滤波、去直流、去趋势项与归一化五个核心环节,讲解原理、操作流程与工程陷阱,帮助学习者在资源受限的MCU上构建可靠的振动信号预处理流水线。
采样定理与抗混叠滤波
采样定理是振动信号数字化的第一约束。根据奈奎斯特-香农定理,采样频率必须大于信号最高频率分量的两倍,否则高频成分会折叠到低频区域,产生不可恢复的混叠误差。在工程实践中,由于实际滤波器无法做到理想陡降,通常将采样率设置为最高分析频率的2.56倍,即 fs = 2.56 × fmax。例如,若需要分析到1000 Hz的振动频率,采样率应设为2560 Hz,而非理论上的2000 Hz。
抗混叠滤波器是采样前的硬件防线,通常采用二阶或四阶巴特沃斯低通滤波器,截止频率设置为0.8 × fmax,阻带衰减要求达到60 dB以上。在TinyML设备中,受限于成本和功耗,部分方案使用MEMS传感器内置的抗混叠滤波功能,或采用过采样+数字滤波的方式替代模拟滤波器。过采样技术通过提高采样率(如4倍或8倍过采样),将混叠频率推高,再通过数字低通滤波和抽取降低有效采样率,从而简化模拟滤波器设计。
去直流与去趋势项
振动传感器输出的信号通常包含直流偏置分量,该分量来源于传感器静态工作点、信号调理电路的偏置电压或ADC的参考电压偏移。直流分量在FFT频谱中表现为0 Hz处的极大值,会掩盖低频振动特征,并可能造成频谱泄漏。去直流的常用方法是计算信号均值并减去,即 x_dc[n] = x[n] - mean(x)。对于平稳振动信号,均值估计在时域上即可完成;但对于非平稳信号,需采用高通滤波器(截止频率1-5 Hz)实现动态去直流。
趋势项是指信号中缓慢变化的低频成分,可能由传感器温度漂移、机械结构松动或电缆摩擦产生。趋势项在频谱中表现为低频段能量异常升高,影响对旋转机械故障特征(如转频、倍频)的识别。去趋势项的方法包括:线性拟合去除(一阶多项式)、多项式拟合去除(二阶或三阶)以及高通滤波。在嵌入式实现中,线性去趋势项计算量小,适合实时处理;高阶多项式拟合需要矩阵运算,通常离线完成。
| 预处理方法 | 适用场景 | 计算复杂度 | 嵌入式实现建议 |
|---|---|---|---|
| 均值去直流 | 平稳振动信号 | O(N) | 实时计算,适合MCU |
| 高通滤波去直流 | 非平稳信号、变转速工况 | O(N) 需滤波器系数 | IIR滤波器,注意稳定性 |
| 线性去趋势项 | 温度漂移、缓慢变化 | O(N) | 最小二乘拟合,适合MCU |
| 多项式去趋势项 | 非线性漂移 | O(N×M²) | 离线处理或高算力MCU |
归一化方法
归一化是消除信号幅值差异对特征提取影响的关键步骤。在TinyML异常检测中,不同传感器、不同安装位置或不同工况下的振动幅值可能存在数量级差异,若不归一化,FFT幅值谱的特征值将无法统一比较。常用的归一化方法包括:最大幅值归一化(将信号除以最大绝对值)、标准差归一化(将信号除以标准差)以及峰值因子归一化(除以均方根值)。
在嵌入式实现中,最大幅值归一化计算简单,但容易受异常尖峰干扰;标准差归一化对异常值鲁棒性更好,但需要先计算均值和方差,增加一次数据遍历。对于实时流式处理,可采用滑动窗口内的统计量进行在线归一化。需注意,归一化应在去直流和去趋势项之后进行,否则直流偏置会扭曲归一化结果。
案例拆解:电机轴承振动信号预处理
某工业电机轴承监测系统采用ADXL345 MEMS加速度计,量程±16g,灵敏度3.9 mg/LSB,采样率设为3200 Hz,FFT点数1024,频率分辨率3.125 Hz。原始信号经ADC采集后,发现频谱在0 Hz处有巨大峰值,且低频段(0-10 Hz)能量异常偏高。
分析过程:首先检查传感器静态输出,发现偏置电压约为1.65V(对应0g),确认存在直流偏置。其次,电机启动过程中温度升高导致传感器灵敏度漂移,产生缓慢变化的趋势项。处理步骤:第一步,计算1024点均值并减去,消除直流分量;第二步,采用一阶线性拟合去除趋势项,拟合系数通过最小二乘法计算;第三步,计算标准差并归一化,使信号幅值在±3σ范围内;第四步,加Hanning窗后进行FFT。
处理前后对比:去直流后,0 Hz处峰值从原始幅值的85%降至0.5%以下;去趋势项后,5 Hz以下频段能量降低约40%;归一化后,不同转速下的频谱幅值可比性显著提升。最终,轴承外圈故障特征频率(BPFO)在频谱中清晰可见,幅值稳定在0.2-0.3之间,为后续异常检测模型提供了可靠输入。
常见误区与总结复盘
- 误区一:采样率越高越好。过高的采样率导致数据量增大、功耗上升,且FFT频率分辨率下降(N固定时)。应根据最高分析频率合理选择采样率。
- 误区二:忽略抗混叠滤波。部分开发者直接使用ADC采样,未配置模拟或数字抗混叠滤波器,导致高频噪声折叠到低频段,污染故障特征。
- 误区三:先归一化再去直流。若先归一化,直流偏置会被当作有效信号放大,导致后续去直流失效。
- 误区四:固定窗函数。Hanning窗适合随机振动,矩形窗适合瞬态冲击,应根据信号特性选择窗函数。
总结:振动信号预处理是TinyML异常检测的基础工程,采样定理决定数据采集的物理边界,抗混叠滤波保证频谱真实性,去直流和去趋势项消除系统误差,归一化统一特征尺度。在嵌入式实现中,需综合考虑计算量、存储和功耗,合理分配预处理任务到硬件(模拟滤波)和软件(数字滤波)层面。建议在开发初期建立标准化的预处理流程,并在不同工况下验证参数鲁棒性,为后续FFT特征提取和模型训练奠定可靠基础。