4. 时域分析:均值、方差、均方根值、峰值因子、峭度等统计特征提取
各位同学,咱们今天聊聊时域分析。说白了,就是把振动信号直接拿来算数,不搞什么傅里叶变换。你想想看,传感器采集到的原始波形,里面藏着大量信息。我做了十几年故障诊断,最深的体会就是——时域特征虽然基础,但往往最管用。
很多新手一上来就搞频谱分析,觉得高大上。但我个人习惯,拿到数据第一件事,先算几个时域统计量。为什么?因为计算快,物理意义明确,而且能快速判断设备有没有大问题。嗯,这里要注意,时域特征不是万能的,但绝对是诊断工具箱里的“瑞士军刀”。
4.1 均值与方差:信号的基础画像
均值,说白了就是信号的平均水平。对于振动信号,均值反映的是信号的直流分量。如果齿轮箱正常运转,均值应该稳定在某个小值附近。我在项目中遇到过,有一次测得的均值突然漂移,排查后发现是传感器安装松动导致的。所以,均值异常不一定代表齿轮坏了,也可能是测量系统出了问题。
均值的计算公式很简单:
μ = (1/N) * Σ x_i
其中N是采样点数,x_i是第i个采样值。
方差呢,描述的是信号偏离均值的程度。方差越大,说明振动越剧烈。我建议把方差和均值结合起来看。比如,均值没变,方差突然增大,那大概率是出现了冲击性故障。
σ² = (1/N) * Σ (x_i - μ)²
4.2 均方根值:振动能量的度量
均方根值(RMS)是时域分析里最常用的特征之一。它反映的是信号的有效值,也就是振动能量的大小。对于旋转机械,RMS值能很好地反映整体磨损程度。
RMS = sqrt((1/N) * Σ x_i²)
我记得有一次给某化工厂做齿轮箱诊断,他们一直用峰值指标做报警,结果频繁误报。我建议改用RMS值,配合趋势分析,准确率大幅提升。为什么?因为RMS对持续性的磨损更敏感,而峰值容易受偶然冲击干扰。
| 故障类型 | RMS变化趋势 | 典型特征 |
|---|---|---|
| 均匀磨损 | 缓慢上升 | RMS稳定增加,无突变 |
| 齿面点蚀 | 波动上升 | RMS随负载变化明显 |
| 断齿 | 突然增大 | RMS瞬间跳变,伴随冲击 |
4.3 峰值因子与峭度:捕捉冲击信号
这两个指标是专门用来抓冲击信号的。你想想看,齿轮出现点蚀或断齿时,每次啮合都会产生一个冲击脉冲。这种信号在时域上表现为“尖刺”。
峰值因子是峰值与RMS的比值:
Crest Factor = Peak / RMS
正常齿轮箱的峰值因子一般在3-5之间。如果突然飙升到8以上,那就要警惕了。我建议设置两个阈值:黄色预警(5-8)和红色报警(>8)。
峭度(Kurtosis)是描述信号分布形态的统计量。正态分布的峭度是3。如果峭度大于3,说明信号有更多的极端值,也就是冲击成分多。
Kurtosis = (1/N) * Σ ((x_i - μ) / σ)⁴
核心经验: 我在实际项目中发现,峭度对早期故障非常敏感。有一次,RMS和峰值因子都没变化,但峭度从3.2跳到了4.5。拆开检查,果然发现一个齿面有微小裂纹。所以,我建议把峭度作为早期预警的首选指标。
4.4 特征提取的工程实践
说了这么多理论,咱们看看实际怎么操作。我一般用Python做特征提取,代码很简单:
import numpy as np
def extract_time_features(signal):
# 信号长度
N = len(signal)
# 均值
mean_val = np.mean(signal)
# 方差
var_val = np.var(signal)
# 均方根值
rms_val = np.sqrt(np.mean(signal**2))
# 峰值
peak_val = np.max(np.abs(signal))
# 峰值因子
crest_factor = peak_val / rms_val
# 峭度
kurtosis_val = np.mean((signal - mean_val)**4) / (var_val**2)
return {
'mean': mean_val,
'variance': var_val,
'rms': rms_val,
'peak': peak_val,
'crest_factor': crest_factor,
'kurtosis': kurtosis_val
}
这段代码我用了好多年,基本没改过。你直接复制就能用。不过要注意,实际工程中信号可能有直流偏置,建议先做去均值处理。
4.5 特征选择的避坑指南
我曾经犯过一个错误,把所有时域特征都扔进模型,结果过拟合得一塌糊涂。后来总结出几条经验:
- 不要贪多: 6-8个时域特征足够,多了反而增加噪声
- 关注趋势: 单个时刻的特征值意义有限,要看变化趋势
- 结合工况: 转速和负载变化会影响特征值,要归一化处理
- 验证有效性: 每个特征都要做显著性检验,没用的果断去掉
嗯,这里还要强调一点。时域特征虽然好用,但不要孤立使用。我通常的做法是:先用时域特征做快速筛查,发现异常后再用频域或时频域方法精确定位故障位置。这样效率最高。
这张图把咱们今天讲的内容串起来了。你仔细看看,从均值到峭度,每个特征都有明确的物理意义和工程用途。我个人建议,刚开始做诊断时,先把这六个特征吃透,比盲目学一堆高级算法管用得多。
好了,时域分析就讲到这里。记住一句话:简单的东西往往最可靠。下次拿到振动数据,先算算这些统计量,你会对设备状态有个清晰的判断。