4. 信号预处理

在设备健康指标与退化趋势分析中,原始振动、电流、温度、压力等信号往往夹杂噪声、漂移、缺失和异常冲击。若直接送入特征提取或趋势模型,退化轨迹会被污染,健康指标可能提前“假报警”或延迟“漏报警”。信号预处理的目标不是让数据“好看”,而是让后续指标具备可重复、可比较、可解释的物理意义。本节围绕去噪、滤波、重采样、归一化、异常值处理与数据质量评估六个环节,给出可落地的处理链路。

一、核心原理:预处理是“保真”与“稳态化”的平衡

设备退化通常表现为缓变趋势叠加周期成分与随机噪声。预处理需要同时满足三点:保留退化敏感频带与冲击成分;抑制与设备状态无关的干扰;把不同工况、不同采样率、不同量纲的数据统一到可比空间。去噪与滤波解决“信噪比”问题,重采样解决“时间基准”问题,归一化解决“量纲与工况”问题,异常值处理解决“污染点”问题,数据质量评估则决定这批数据是否值得进入建模。

关键原则:先评估质量,再选择方法;先物理可解释,再统计最优。任何预处理都应保留原始数据副本,确保可回溯。

二、方法流程:从原始信号到可用样本

推荐按“质量评估 → 异常值处理 → 去噪/滤波 → 重采样 → 归一化 → 二次质量复核”的顺序执行。若先归一化再滤波,异常值会被放大并污染全局尺度;若先重采样再滤波,可能引入混叠。因此顺序本身是工程约束。

信号预处理链路:质量评估贯穿始终 原始信号 振动/电流/温度 质量评估 缺失/饱和/漂移 异常值处理 3σ / IQR / 中值 去噪与滤波 低通/带通/小波 重采样 统一时间基准 归一化 Z-score / Min-Max 质量复核 SNR/缺失率/漂移 可用样本 进入特征提取 质量评估指标: 缺失率 · 饱和比例 · 信噪比SNR · 基线漂移 · 频谱混叠 · 异常点占比 · 时间戳一致性 · 工况覆盖度

三、关键方法:去噪、滤波、重采样、归一化与异常值处理

去噪与滤波。对旋转机械振动,常用带通滤波保留转频与啮合频带;对温度、压力等缓变量,低通滤波即可。小波阈值去噪适合非平稳冲击信号,但阈值过大会削弱早期故障冲击。滤波截止频率应依据设备特征频率与采样定理确定,避免把退化敏感频带滤掉。

# 以 12.8 kHz 采样振动信号为例
# 带通 500–4000 Hz,保留转频与轴承故障频带
from scipy.signal import butter, filtfilt
b, a = butter(4, [500/(12800/2), 4000/(12800/2)], btype='band')
x_filt = filtfilt(b, a, x_raw)   # 零相位滤波,避免时延

# 小波去噪(PyWavelets)
import pywt
coeffs = pywt.wavedec(x_filt, 'db4', level=5)
sigma = np.median(np.abs(coeffs[-1])) / 0.6745
uth = sigma * np.sqrt(2*np.log(len(x_filt)))
coeffs[1:] = [pywt.threshold(c, uth, mode='soft') for c in coeffs[1:]]
x_deno = pywt.waverec(coeffs, 'db4')

重采样。多传感器采样率不一致时,需统一到同一时间基准。降采样必须先抗混叠低通,再抽取;升采样先插值再低通。对非均匀时间戳,可用线性插值或样条插值,但插值会引入虚假相关性,缺失段过长时应标记为无效而非强行填补。

归一化。Z-score 适合近似高斯分布且需保留异常幅度的场景;Min-Max 适合有明确物理上下限的信号;Robust Scaling 使用中位数与四分位距,对异常值更稳健。注意:归一化参数必须只用训练集统计量,避免验证集信息泄漏。

异常值处理。先区分“真实故障冲击”与“传感器毛刺”。3σ 适合高斯噪声,IQR 适合偏态分布,中值滤波适合脉冲噪声。对连续多点异常,应整段标记并评估是否由工况切换引起,而不是简单删除。

环节常用方法关键参数适用场景风险
去噪小波阈值、中值滤波小波基、分解层数、阈值非平稳冲击信号阈值过大削弱早期故障
滤波Butterworth 带通/低通截止频率、阶数周期振动、缓变温度相位失真、频带误删
重采样抗混叠抽取、样条插值目标采样率、插值阶数多源异构数据融合混叠、虚假相关
归一化Z-score、Min-Max、Robust均值/方差、上下限、IQR多工况量纲统一信息泄漏、异常放大
异常值3σ、IQR、中值替换阈值倍数、窗口长度毛刺、丢包、冲击误删真实故障

四、案例场景:轴承退化数据预处理

某风机轴承数据集采样率 25.6 kHz,每小时采集 1 秒。原始数据存在三类问题:偶发传感器毛刺、转速波动导致时间基准漂移、不同负载下振动幅值差异大。处理策略为:先用 IQR 标记毛刺并替换为中值;再用 4 阶 Butterworth 带通 800–6000 Hz 滤波;随后按转速重采样到每转 1024 点,消除转速影响;最后按训练集统计量做 Z-score 归一化。质量复核显示缺失率从 3.2% 降至 0.4%,SNR 提升约 8 dB,退化趋势的单调性明显改善。

实操建议:把预处理参数写入配置文件,与数据版本、设备编号、工况标签一起存档。同一台设备不同批次的归一化参数不可混用。

五、误区与复盘

  • 先归一化后滤波:异常值会拉偏均值与方差,导致滤波后仍残留尺度污染。
  • 用全量数据统计归一化参数:验证集信息泄漏,离线指标虚高,上线后性能骤降。
  • 把异常值一律删除:早期故障冲击可能被误删,退化起点被推迟。
  • 忽视重采样抗混叠:降采样后高频折叠到低频,特征频率出现“鬼影”。
  • 不做质量评估直接建模:缺失、饱和、漂移段会主导模型,健康指标不可信。

复盘时建议固定一张“预处理质量卡”:记录每段数据的缺失率、饱和比例、SNR、异常点占比、重采样前后采样率与归一化参数。只有质量卡达标的数据才进入特征提取与趋势建模,才能让后续健康指标真正反映设备退化,而不是反映数据采集与处理过程的波动。