3、时域分析基础:均值、方差、均方根值、峰值因子、峭度等时域指标的计算与解读

各位同行,咱们今天聊聊时域分析。说实话,很多刚入行的朋友一上来就盯着频谱图看,觉得那才叫“高级”。但我个人习惯,拿到一段振动信号,第一件事永远是先看时域波形,算几个最基本的统计指标。

为什么?因为时域指标就像人的体检报告——体温、血压、心率。这些基础数据虽然简单,但能告诉你设备当前“身体状态”的大致方向。频谱分析是CT扫描,时域指标就是血常规,各有各的用处。

核心观点:时域指标是故障诊断的“第一道防线”。它们计算简单、物理意义明确,能快速判断设备是否存在异常。

3.1 均值(Mean)——信号的中心位置

均值,说白了就是信号的平均水平。对于一段离散的振动信号 \( x_1, x_2, ..., x_N \),它的计算公式是:

\[ \bar{x} = \frac{1}{N} \sum_{i=1}^{N} x_i \]

嗯,这里要注意:对于理想的正弦振动信号,均值应该接近于0。因为正半周和负半周会相互抵消。但实际中,如果传感器有直流偏置,或者轴心位置发生了偏移,均值就会偏离0。

我在项目中遇到过一次,某台离心压缩机的振动均值从0.02mm突然跳到了0.15mm。当时现场工程师以为是传感器坏了,我坚持让他们检查轴瓦温度——结果发现是轴瓦磨损导致转子下沉了。你看,一个简单的均值变化,背后可能是严重的机械故障。

实用技巧:均值的变化通常与以下故障相关:

  • 轴心位置偏移(轴承磨损、不对中)
  • 传感器直流偏置故障
  • 转子热弯曲

3.2 方差(Variance)与标准差(Standard Deviation)——信号的波动程度

均值告诉你信号的中心在哪,方差则告诉你信号“散开”的程度。方差的计算公式:

\[ \sigma^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2 \]

标准差就是方差的平方根:\(\sigma = \sqrt{\sigma^2}\)。为什么要有标准差?因为它的量纲和原始信号一致,方便直观理解。

你想想看,一个健康的轴承,振动信号的方差应该相对稳定。如果方差突然变大,说明信号的能量分布变散了——可能是出现了冲击、摩擦或者松动。

我曾经帮一个电厂诊断引风机的振动问题。频谱图上能看到一些边频,但不太明显。我算了一下标准差,发现比历史数据大了将近3倍。后来拆机检查,发现轴承保持架已经断裂了。标准差这个指标,有时候比频谱更敏感。

注意:方差对异常值非常敏感。如果信号中存在单个大幅值的噪声尖峰,方差会被严重拉高。建议在计算前先做简单的异常值剔除处理。

3.3 均方根值(RMS)——信号的有效能量

均方根值,也叫有效值。它是振动信号最常用的指标之一。公式:

\[ X_{RMS} = \sqrt{\frac{1}{N} \sum_{i=1}^{N} x_i^2} \]

均方根值有什么好处?它同时考虑了信号的幅值和持续时间。一个幅值大但持续时间短的冲击,RMS可能并不高;而一个幅值中等但持续稳定的振动,RMS反而会更高。

在ISO 10816标准中,振动烈度就是用RMS来定义的。比如,对于大型旋转机械,RMS值在4.5 mm/s以下属于良好,4.5~11.2 mm/s属于报警区,超过11.2 mm/s就要停机检查了。

RMS范围 (mm/s) 设备状态 建议措施
< 4.5 良好 正常监测
4.5 ~ 11.2 报警 加强监测,安排检修
> 11.2 危险 立即停机检查

我个人习惯,在设备巡检时,会先看RMS的趋势曲线。如果RMS在缓慢上升,说明故障在逐渐发展;如果RMS突然跳变,那就要警惕突发性故障了。

3.4 峰值因子(Crest Factor)——冲击的敏感指标

峰值因子的定义很简单:

\[ C_f = \frac{X_{peak}}{X_{RMS}} \]

其中 \( X_{peak} \) 是信号的峰值(最大绝对值)。

为什么这个指标有用?你想想看,一个纯正弦波的峰值因子是 \(\sqrt{2} \approx 1.414\)。如果信号中存在冲击成分,峰值会变大,但RMS变化不大,所以峰值因子会升高。

对于滚动轴承,早期故障(比如点蚀)会产生周期性冲击,峰值因子会明显上升。但随着故障发展,冲击变得连续,RMS也跟着上升,峰值因子反而可能下降。所以,峰值因子更适合检测早期故障。

经验值参考:

  • 正常轴承:峰值因子 3 ~ 5
  • 早期故障:峰值因子 5 ~ 10
  • 严重故障:峰值因子可能反而下降(因为RMS也大了)

3.5 峭度(Kurtosis)——信号分布的“尖峰”程度

峭度是衡量信号概率分布形状的指标。公式:

\[ K = \frac{1}{N} \sum_{i=1}^{N} \left( \frac{x_i - \bar{x}}{\sigma} \right)^4 \]

对于正态分布信号,峭度值约为3。如果峭度大于3,说明信号分布比正态分布更“尖”——也就是有更多的极端值(冲击)。如果峭度小于3,说明信号分布更“平”——可能是随机噪声占主导。

我记得有一次在风电齿轮箱的故障诊断中,频谱图上几乎看不出异常,但峭度值达到了8.5。我判断是齿轮出现了早期裂纹。后来用内窥镜一看,果然在齿根发现了微裂纹。峭度这个指标,对早期微弱冲击特别敏感。

实用建议:峭度与峰值因子配合使用效果更好。峰值因子对单个大冲击敏感,峭度对连续的小冲击更敏感。两者结合,可以更全面地判断冲击特征。

3.6 代码实现:一键计算所有时域指标

说了这么多理论,咱们来点实际的。下面是我常用的一个Python函数,可以一次性计算所有时域指标:

import numpy as np

def time_domain_features(signal):
    """
    计算时域统计指标
    参数:
        signal: 一维数组,振动信号
    返回:
        字典,包含所有时域指标
    """
    # 均值
    mean_val = np.mean(signal)
    
    # 方差和标准差
    var_val = np.var(signal)
    std_val = np.std(signal)
    
    # 均方根值
    rms_val = np.sqrt(np.mean(signal**2))
    
    # 峰值
    peak_val = np.max(np.abs(signal))
    
    # 峰值因子
    crest_factor = peak_val / rms_val if rms_val != 0 else 0
    
    # 峭度
    kurtosis_val = np.mean((signal - mean_val)**4) / (std_val**4) if std_val != 0 else 0
    
    return {
        '均值': mean_val,
        '方差': var_val,
        '标准差': std_val,
        '均方根值': rms_val,
        '峰值': peak_val,
        '峰值因子': crest_factor,
        '峭度': kurtosis_val
    }

# 示例:生成一段模拟信号并计算
np.random.seed(42)
t = np.linspace(0, 1, 1000)
normal_signal = np.sin(2 * np.pi * 50 * t) + 0.2 * np.random.randn(1000)
fault_signal = normal_signal.copy()
fault_signal[100:110] += 2.0  # 模拟冲击

print("正常信号指标:")
for k, v in time_domain_features(normal_signal).items():
    print(f"{k}: {v:.4f}")

print("\n故障信号指标:")
for k, v in time_domain_features(fault_signal).items():
    print(f"{k}: {v:.4f}")

运行这段代码,你会发现故障信号的峰值因子和峭度明显升高,而均值变化不大。这就是时域指标的魅力——用简单的数学,揭示复杂的故障特征。

3.7 知识体系总览

为了让大家更直观地理解这些指标之间的关系,我画了一张图:

时域分析指标知识体系 振动信号时域指标 均值 (Mean) 方差 / 标准差 均方根值 (RMS) 峰值因子 / 峭度 应用场景 轴心位置偏移 传感器直流偏置检测 应用场景 信号能量波动检测 松动、摩擦故障 应用场景 ISO 10816振动烈度 设备状态趋势监测 应用场景 轴承早期故障检测 齿轮裂纹诊断 ⚠ 注意事项 单一指标不可靠,建议多指标联合分析 注意异常值对方差和峭度的影响

这张图把咱们今天讲的内容串起来了。从振动信号出发,四个分支对应不同的时域指标,每个指标都有其特定的应用场景。最下面那条注意事项,是我用真金白银换来的教训——千万别只看一个指标就下结论。

3.8 小结

好了,今天的内容就到这里。咱们回顾一下:

  • 均值:信号的中心位置,反映轴心偏移
  • 方差/标准差:信号的波动程度,反映能量分散
  • 均方根值:信号的有效能量,ISO标准的核心指标
  • 峰值因子:冲击的敏感指标,适合早期故障
  • 峭度:信号分布的尖峰程度,对微弱冲击敏感

这些指标虽然简单,但用好了就是利器。我建议你在实际项目中,先把这些指标算出来,画成趋势图,再结合频谱分析,诊断准确率能提高不少。

下一章咱们会聊频域分析,到时候你会发现,时域和频域其实是“一枚硬币的两面”。


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