3. 信号采集与预处理

振动信号采集是TinyML异常检测系统的物理入口,其质量直接决定后续FFT特征提取与模型推理的上限。在嵌入式环境中,ADC采样率、传感器带宽、信号调理电路与数字预处理算法共同构成一条完整链路。本章围绕采样定理、抗混叠滤波、去直流、去趋势项与归一化五个核心环节,讲解原理、操作流程与工程陷阱,帮助学习者在资源受限的MCU上构建可靠的振动信号预处理流水线。

振动信号采集与预处理链路 振动传感器 IEPE / MEMS 灵敏度 10-100 mV/g 信号调理 放大 / 偏置 抗混叠滤波 ADC 采样 fs = 2.56 × fmax 12-16 bit 数字预处理 去直流 / 去趋势 归一化 / 加窗 采样定理核心约束 • fs ≥ 2 × fmax(奈奎斯特条件),工程上取 fs = 2.56 × fmax • 抗混叠滤波器截止频率 fc = 0.8 × fmax,阻带衰减 ≥ 60 dB • 采样点数 N = fs × T,FFT频率分辨率 Δf = fs / N 数字预处理流程 原始信号 → 去直流(减均值) → 去趋势项(线性/多项式拟合) → 归一化(最大幅值/标准差) → 加窗(Hanning/Hamming) → FFT → 幅值谱/功率谱 → 特征提取 关键参数 fs: 采样率 fmax: 最高分析频率 N: FFT点数 Δf: 频率分辨率 T: 采样时长 窗函数类型 重叠率

采样定理与抗混叠滤波

采样定理是振动信号数字化的第一约束。根据奈奎斯特-香农定理,采样频率必须大于信号最高频率分量的两倍,否则高频成分会折叠到低频区域,产生不可恢复的混叠误差。在工程实践中,由于实际滤波器无法做到理想陡降,通常将采样率设置为最高分析频率的2.56倍,即 fs = 2.56 × fmax。例如,若需要分析到1000 Hz的振动频率,采样率应设为2560 Hz,而非理论上的2000 Hz。

抗混叠滤波器是采样前的硬件防线,通常采用二阶或四阶巴特沃斯低通滤波器,截止频率设置为0.8 × fmax,阻带衰减要求达到60 dB以上。在TinyML设备中,受限于成本和功耗,部分方案使用MEMS传感器内置的抗混叠滤波功能,或采用过采样+数字滤波的方式替代模拟滤波器。过采样技术通过提高采样率(如4倍或8倍过采样),将混叠频率推高,再通过数字低通滤波和抽取降低有效采样率,从而简化模拟滤波器设计。

工程经验:在STM32F4系列MCU上,使用ADC内置的过采样功能(硬件平均模式)可以等效提高分辨率3-4 bit,同时配合软件实现的FIR低通滤波器,能够有效抑制高频噪声。但需注意,过采样会增加CPU负载和功耗,在电池供电的无线传感器节点上需权衡采样率、FFT点数和功耗预算。

去直流与去趋势项

振动传感器输出的信号通常包含直流偏置分量,该分量来源于传感器静态工作点、信号调理电路的偏置电压或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幅值谱的特征值将无法统一比较。常用的归一化方法包括:最大幅值归一化(将信号除以最大绝对值)、标准差归一化(将信号除以标准差)以及峰值因子归一化(除以均方根值)。

在嵌入式实现中,最大幅值归一化计算简单,但容易受异常尖峰干扰;标准差归一化对异常值鲁棒性更好,但需要先计算均值和方差,增加一次数据遍历。对于实时流式处理,可采用滑动窗口内的统计量进行在线归一化。需注意,归一化应在去直流和去趋势项之后进行,否则直流偏置会扭曲归一化结果。

推荐方案:对于旋转机械振动信号,建议采用标准差归一化,即 x_norm = (x - mean) / std。该方法对幅值波动不敏感,且能保留信号的时域波形特征。若后续使用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特征提取和模型训练奠定可靠基础。