第4章 信号处理基础:时域与频域分析在故障诊断中的应用

各位工程师朋友,大家好。这一章我们聊聊信号处理。说实话,很多搞设备维护的兄弟一听到“信号处理”就头大,觉得那是搞算法的人的事。但我在现场摸爬滚打这么多年,越来越觉得——不懂信号处理,你连设备在“喊救命”都听不懂。

信号处理说白了就两件事:时域分析频域分析。一个看波形长什么样,一个看波形里藏着什么频率成分。两者结合,故障诊断的准确率能提升一大截。

核心观点:时域告诉你“设备出问题了”,频域告诉你“问题出在哪”。

信号处理基础 时域分析 频域分析 均值 峰值 峭度 FFT 频谱图 故障诊断应用 时域 + 频域 = 完整的设备健康画像

4.1 时域分析——看波形,抓异常

时域分析,就是直接看信号随时间变化的波形。你想想看,一个正常运转的轴承,它的振动波形应该是平稳的、有规律的。一旦出现故障,波形就会“变脸”。

均值(Mean)——反映信号的直流分量或趋势。我习惯用均值来判断传感器有没有偏置漂移。有一次在现场,一个加速度传感器测出来的均值从0.02g慢慢飘到了0.15g,我就知道传感器该换了。

实战技巧:均值对早期故障不敏感,但用来做传感器自检非常靠谱。我建议每次采集数据前先算一下均值,超出±0.1g范围就要警惕。

峰值(Peak)——信号的最大绝对值。这个指标对冲击类故障特别敏感。比如齿轮断齿,正常时峰值在5g左右,断齿瞬间能冲到20g以上。但要注意,峰值容易受噪声干扰,单次峰值高不一定是故障。

峭度(Kurtosis)——这个指标有意思。它衡量信号分布的“尖锐程度”。正常设备的振动信号接近正态分布,峭度值在3左右。一旦出现冲击故障,峭度值会飙升到5、6甚至更高。

注意:峭度对早期故障非常敏感,但也是个“双刃剑”。我曾经遇到过一台设备,峭度值从3.2跳到了8.5,我以为是轴承坏了,结果拆开一看——是传感器没拧紧。所以峭度要结合其他指标一起看,别被它骗了。

4.2 频域分析——把信号“拆开”看

时域分析能告诉你“出事了”,但很难告诉你“哪里出事了”。频域分析就是干这个的——把复杂的波形拆解成不同频率的成分。

FFT(快速傅里叶变换)——这是频域分析的核心工具。说白了,就是把时域信号转换到频域,让你看到信号里包含哪些频率成分,每个成分的能量有多大。

# Python示例:对振动信号做FFT分析
import numpy as np
import matplotlib.pyplot as plt

# 假设采集了1秒的振动数据,采样率1024Hz
fs = 1024  # 采样率
t = np.arange(0, 1, 1/fs)

# 模拟一个正常轴承信号(50Hz转频 + 噪声)
signal_normal = 0.5 * np.sin(2 * np.pi * 50 * t) + 0.1 * np.random.randn(len(t))

# 模拟一个故障轴承信号(出现120Hz的故障频率)
signal_fault = 0.5 * np.sin(2 * np.pi * 50 * t) + \
               0.3 * np.sin(2 * np.pi * 120 * t) + \
               0.1 * np.random.randn(len(t))

# FFT计算
fft_normal = np.fft.fft(signal_normal)
fft_fault = np.fft.fft(signal_fault)
freqs = np.fft.fftfreq(len(t), 1/fs)

# 取正频率部分
half = len(freqs) // 2
freqs = freqs[:half]
amp_normal = np.abs(fft_normal[:half]) * 2 / len(t)
amp_fault = np.abs(fft_fault[:half]) * 2 / len(t)

print("正常信号主要频率成分:", freqs[np.argsort(amp_normal)[-3:]])
print("故障信号主要频率成分:", freqs[np.argsort(amp_fault)[-3:]])

频谱图(Spectrum)——把FFT结果画出来,横轴是频率,纵轴是幅值。我每次做故障诊断,第一件事就是看频谱图。为什么?因为每个机械部件都有自己独特的“频率指纹”。

故障类型 时域特征 频域特征
轴承外圈故障 周期性冲击,峭度升高 出现BPFO频率及其谐波
齿轮断齿 大幅值冲击,峰值飙升 啮合频率两侧出现边频带
转子不平衡 正弦波形态,均值稳定 1倍转频幅值异常增大
松动故障 波形杂乱,无规律 出现大量高次谐波

我的经验:频谱分析最怕“假峰”。有一次我在一个化工厂做诊断,频谱上出现了明显的100Hz峰值,我以为是轴承故障。后来发现是旁边的电机变频器干扰。所以做频谱分析前,一定要先确认哪些频率是“背景噪声”。

4.3 时域+频域:双剑合璧

单独使用时域或频域,就像只用一只眼睛看世界。两者结合,才能看到完整的设备健康画像。

我的诊断流程:

  1. 先看时域——算均值、峰值、峭度。如果三个指标都在正常范围,大概率设备没问题。
  2. 再看频谱——如果时域指标异常,立刻做FFT,找异常频率成分。
  3. 对照故障频率表——把频谱上的峰值频率和轴承、齿轮的故障频率对照,定位具体故障位置。
  4. 趋势跟踪——把每天的时域指标和频谱峰值画成趋势图,看变化速率。

避坑指南:我曾经只靠峭度值做决策,结果误判了三次。后来我给自己定了个规矩——“三指标确认法”:时域至少两个指标异常 + 频域有对应频率成分,才下诊断结论。准确率从70%提到了95%以上。

4.4 实战案例:离心泵轴承故障诊断

说个我亲身经历的例子。某化工厂一台离心泵,操作工反映声音有点“闷”。我过去测了振动数据:

  • 时域:均值0.08g(正常),峰值3.2g(偏高),峭度4.8(明显偏高)
  • 频域:在236Hz处出现明显峰值,旁边还有边频带

我查了轴承型号的故障频率表,236Hz正好是外圈故障频率(BPFO)的3倍频。再结合峭度偏高,基本可以断定——轴承外圈已经出现疲劳剥落。

建议立即停机更换。拆开一看,外圈滚道已经有一条2mm宽的剥落带。再晚一周,可能就要烧轴了。

关键点:时域指标(峭度)给了预警信号,频域分析(236Hz峰值)锁定了故障位置。两者缺一不可。

好了,这一章的内容就到这里。信号处理是故障诊断的“眼睛”,把时域和频域用好了,设备在你面前就是“透明”的。下一章我们聊聊更高级的特征提取方法——包络分析和小波变换,到时候见。

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