4. 振动信号分析:时域分析、频域分析与包络分析
各位同行,大家好。今天我们来聊聊振动信号分析。这是状态监测里最核心的环节,没有之一。
我常说一句话:传感器是耳朵,信号分析才是大脑。你装再多的传感器,如果不会分析信号,那跟聋子没啥区别。今天我就把时域、频域、包络分析这三板斧,掰开了揉碎了讲给你听。
核心逻辑:振动信号分析的本质,就是从杂乱无章的波形里,找到设备故障的“指纹”。时域看“有没有问题”,频域看“问题出在哪”,包络看“早期故障”。
4.1 时域分析:最直观的“体检报告”
时域分析,说白了就是看波形本身。你想想看,一个正常的轴承,它的振动波形应该是平稳的、随机的。但如果出现了故障,波形就会“长毛”、出现尖刺、或者变得不对称。
我个人习惯,拿到数据第一件事,先看时域波形。这就像医生看病先看气色一样,能快速建立直觉。
4.1.1 峰值(Peak)
峰值就是波形上的最大值。它反映的是瞬时冲击力。我在项目中遇到过一台离心泵,时域波形峰值突然翻了三倍,但均方根值变化不大。当时很多人觉得没事,我坚持拆检——结果发现叶轮上卡了一小块金属碎片。峰值对冲击性故障非常敏感。
我的小技巧:峰值适合检测“打齿”、“碰磨”这类突发性故障。但要注意,单个噪声尖峰也可能导致峰值虚高。我一般会结合“峰值因子”(峰值/均方根)来判断,大于3就要警惕了。
4.1.2 均方根(RMS)
均方根,也叫有效值。它反映的是振动的总能量。这是ISO 10816等国际标准里最常用的指标。
均方根的好处是稳定、重复性好。坏处是——它对早期故障不敏感。为什么?因为早期故障的能量占比太小,被正常振动“淹没”了。我曾经用RMS监测一台风机,连续三个月数据都很平稳,结果第四周突然轴承烧毁。后来复盘才发现,其实峭度指标早在两个月前就报警了。
| 指标 | 物理含义 | 适用场景 | 我的建议 |
|---|---|---|---|
| 峰值 | 最大冲击力 | 打齿、碰磨、松动 | 配合峰值因子使用 |
| 均方根 | 振动能量 | 整体状态评估、标准合规 | 作为长期趋势指标 |
| 峭度 | 波形脉冲性 | 早期故障、轴承点蚀 | 我最看重的早期预警指标 |
4.1.3 峭度(Kurtosis)
峭度,这个指标很有意思。它衡量的是波形“有多尖”。正常振动信号的峭度值接近3(高斯分布)。如果峭度大于3,说明波形里出现了“尖脉冲”——这往往是早期故障的信号。
我记得有一次给某石化厂做预测性维护,一台减速机的峭度从3.2慢慢爬升到5.8,但RMS一直很稳定。我建议他们安排检修,打开一看,齿轮表面已经出现了微小的点蚀坑。如果再晚一个月,可能就要断齿了。
⚠️ 避坑指南:我曾经犯过一个错误——只看峭度不看趋势。峭度对单个冲击很敏感,但如果故障发展到后期,波形变成连续冲击,峭度反而会下降。所以一定要看趋势,而不是看绝对值。
4.2 频域分析:故障诊断的“显微镜”
时域只能告诉你“有没有问题”,但频域能告诉你“问题出在哪”。
为什么?因为每种故障都有自己独特的“频率指纹”。比如:
- 不平衡 → 1倍转频(1X)
- 不对中 → 2倍转频(2X)
- 轴承外圈故障 → 特定的故障特征频率(BPFO)
- 齿轮断齿 → 啮合频率及其边频
4.2.1 FFT与频谱图
FFT(快速傅里叶变换)就是把时域信号转换到频域的工具。说白了,就是把“波形”变成“频率柱状图”。
频谱图的横轴是频率(Hz),纵轴是幅值(振动能量)。每个峰值对应一个频率成分。我拿到频谱图,第一件事就是找“转频”在哪,然后看有没有异常的峰值。
这里有个关键点:采样率和采样点数。采样率不够,高频成分会混叠;采样点数太少,频率分辨率不够。我一般遵循一个原则:采样率至少是最高分析频率的2.56倍,采样点数保证频率分辨率小于转频的1/10。
# 一个简单的FFT示例(Python)
import numpy as np
import matplotlib.pyplot as plt
# 生成模拟信号:1X + 2X + 噪声
fs = 1000 # 采样率 1000 Hz
t = np.arange(0, 1, 1/fs)
signal = 1.0 * np.sin(2*np.pi*50*t) + 0.5 * np.sin(2*np.pi*100*t) + 0.2*np.random.randn(len(t))
# FFT
N = len(signal)
freq = np.fft.rfftfreq(N, 1/fs)
amp = np.abs(np.fft.rfft(signal)) * 2 / N
# 找峰值
peak_idx = np.argsort(amp)[-5:] # 取前5个最大峰值
print("主要频率成分:", freq[peak_idx])
# 输出:主要频率成分: [ 50. 100. ...]
实战经验:看频谱图时,别只盯着幅值最大的峰。有时候故障特征频率的幅值很小,但它的“边频带”才是关键。比如齿轮故障,啮合频率两侧会出现间隔为转频的边频。这个细节,新手很容易忽略。
4.3 包络分析:揪出早期故障的“侦察兵”
包络分析,也叫解调分析。它是专门用来对付早期微弱故障的。
你想想看,一个轴承早期出现点蚀,每次滚珠滚过缺陷处,会产生一个短暂的冲击。这个冲击能量很小,在原始频谱里几乎看不见。但是,这个冲击会“调制”到高频共振频率上。包络分析就是先把高频共振信号“提取”出来,然后解调,得到冲击的重复频率——也就是故障特征频率。
我个人认为,包络分析是预测性维护里最被低估的技术。很多工程师只会看原始频谱,错过了最佳的预警时机。
4.3.1 包络分析怎么做?
步骤其实不复杂:
- 带通滤波:选择一个高频共振频带(通常是加速度传感器灵敏度最高的频段)
- 希尔伯特变换:计算信号的包络线(即瞬时幅值)
- FFT:对包络线做频谱分析,得到包络谱
包络谱里的峰值,对应的就是故障特征频率。比如轴承外圈故障频率BPFO,内圈BPFI,滚动体BSF等。
关键点:包络分析的效果,很大程度上取决于带通滤波器的选择。滤波频段选错了,故障信号就被滤掉了。我一般会先看原始频谱,找到共振峰所在的频段,然后以这个频段为中心进行带通滤波。
4.3.2 一个真实案例
某钢厂轧机轴承,温度正常,振动RMS正常,原始频谱也看不出异常。但我用包络分析,在包络谱里清晰地看到了BPFO频率及其谐波。我判断轴承外圈已经出现早期疲劳剥落。建议他们利用检修窗口更换轴承。拆下来一看,外圈滚道果然有一条细小的裂纹,长度约5mm。如果再运行两个月,很可能造成抱轴事故。
⚠️ 注意:包络分析不是万能的。它对冲击性故障敏感,但对磨损类故障(比如均匀磨损)效果不佳。磨损类故障更适合看RMS趋势和频谱的底噪抬升。所以,三种方法要结合使用,不要迷信任何一种。
4.4 三域联动:我的实战框架
讲了这么多,最后分享一个我自己的分析框架:
- 第一步:时域筛查 → 看峰值、峭度,判断有无异常冲击
- 第二步:频域定位 → 看频谱图,识别故障特征频率
- 第三步:包络确认 → 对早期或微弱故障,用包络谱做最终确认
这三步走下来,90%的故障都能准确定位。剩下的10%,需要结合工况、历史数据、以及一点经验判断。嗯,经验这东西,没法写在书里,只能靠项目积累。
好了,振动信号分析就讲到这里。记住一句话:时域看“有没有”,频域看“是什么”,包络看“早不早”。三者缺一不可。
公众号:蓝海资料掘金营,微信deep3321