3、故障诊断基础流程:信号采集、预处理、特征提取、模式识别

做MEMS振动传感器故障诊断这些年,我最大的体会是——诊断流程就像破案。你不能一上来就拍脑袋说「这传感器坏了」,得一步步来。我个人习惯把整个流程拆成四个环节:信号采集、预处理、特征提取、模式识别。少一步,结果就可能跑偏。

今天咱们就聊聊这四个环节。说白了,这就是一套从原始数据到故障结论的「流水线」。你想想看,传感器输出的原始信号里,噪声、干扰、漂移全混在一起,不经过处理,根本没法用。

核心观点:故障诊断的成败,80%取决于前三个环节做得好不好。模式识别只是最后那临门一脚。

信号采集 原始数据获取 预处理 去噪·滤波·校准 特征提取 时域·频域·统计 模式识别 分类·诊断结论 故障诊断基础流程:从原始信号到诊断结论的完整链路

3.1 信号采集——地基不牢,地动山摇

信号采集是第一步,也是最容易被忽视的一步。我记得刚入行时,有个项目测出来的振动数据总是怪怪的,频谱上多了一堆莫名其妙的峰值。折腾了两天,最后发现是采样率设得太低,信号混叠了。嗯,从那以后我再也不敢随便设采样率了。

信号采集要关注三个关键参数:

  • 采样率:至少是目标信号最高频率的2倍,实际工程中我建议取5~10倍。比如你要分析1kHz的振动,采样率至少设到5kHz以上。
  • 采样时长:决定了频率分辨率。采样时间越长,频率分辨率越高。公式很简单:Δf = 1/T。
  • 量程设置:别让信号削波,也别让信号太小。我一般让信号峰值占满量程的70%~80%。

小技巧:现场采集时,先用手摸一下传感器外壳。如果温度异常高,八成是内部电路有问题。这个「土办法」帮我省了不少排查时间。

3.2 预处理——把脏数据洗干净

原始信号采集回来后,别急着分析。先做预处理。说白了,就是把信号里的「垃圾」清理掉。

预处理我一般做三件事:

  1. 去直流分量:MEMS传感器常有直流偏置,直接减掉均值就行。
  2. 滤波:根据故障类型选滤波器。轴承故障用带通滤波,不平衡故障用低通滤波。我个人习惯先用巴特沃斯滤波器,过渡带平滑,不容易引入额外振荡。
  3. 异常值剔除:有时候传感器会突然跳一个离谱的值,比如100g的加速度。这种明显是干扰,直接剔除或插值替换。

我曾经遇到过一个案例,某产线的振动监测系统天天误报警。查了半天,发现是预处理环节没做滤波,把电源的50Hz工频干扰当成了故障特征。加上一个50Hz陷波器后,世界清净了。

注意:滤波不是越狠越好。过度滤波会把真实的故障特征也滤掉。我见过有人用低通滤波把轴承的故障冲击信号全滤没了,诊断结果自然一塌糊涂。

3.3 特征提取——从数据里「挖」出故障信息

预处理完的信号,还是太「原始」。你得从中提取出能反映故障状态的特征。特征提取分三个维度:

特征类型 常用指标 适用场景
时域特征 峰值、均方根值、峭度、波形因子 冲击类故障(轴承点蚀、齿轮断齿)
频域特征 频谱峰值、边频带、谐波成分 旋转机械故障(不平衡、不对中)
时频域特征 小波包能量、短时傅里叶变换 非平稳信号(变转速工况)

举个例子。峭度这个指标,正常振动信号的值在3左右。如果峭度突然飙到10以上,基本可以断定有冲击性故障。我在风电齿轮箱诊断中就用这招,准确率很高。

特征提取的代码示例(Python):

import numpy as np
from scipy import stats

def extract_features(signal):
    # 时域特征
    peak = np.max(np.abs(signal))
    rms = np.sqrt(np.mean(signal**2))
    kurtosis = stats.kurtosis(signal)
    
    # 频域特征
    spectrum = np.fft.fft(signal)
    freq = np.fft.fftfreq(len(signal), d=1/fs)
    
    return {
        'peak': peak,
        'rms': rms,
        'kurtosis': kurtosis,
        'spectrum': spectrum,
        'freq': freq
    }

3.4 模式识别——给故障「贴标签」

特征提取完了,最后一步就是模式识别。说白了,就是根据提取到的特征,判断传感器或设备到底出了什么问题。

模式识别的方法有很多,我按经验排个序:

  • 阈值法:最简单,也最实用。比如峭度超过10就报警。适合单一故障场景。
  • 机器学习:数据量大、故障类型多的时候用。SVM、随机森林我都试过,效果不错。
  • 深度学习:信号特别复杂、传统方法搞不定的时候上。但别一上来就上深度学习,容易过拟合。

我的建议:能用手工规则解决的,就别上模型。我在产线上做过对比,一个精心调参的阈值法,准确率能到95%以上,而且解释性强。黑盒模型出了问题,你都不知道该调哪里。

模式识别的输出,就是诊断结论。比如「传感器灵敏度下降,建议校准」或者「轴承外圈故障,建议更换」。结论要具体,别含糊其辞。

好了,四个环节讲完了。信号采集是基础,预处理是保障,特征提取是核心,模式识别是收尾。每一步都有坑,但踩过一次就记住了。做故障诊断,耐心比技术更重要。


公众号:蓝海资料掘金营,微信deep3321