建议收藏!16种常用时域指标,附Python与MATLAB代码

在做故障诊断,机器学习预测等常常会用到这些指标,通过综合分析这些时域指标,能够对信号的特性有更深入的了解,从而为进一步的信号处理、模型建立和决策制定提供依据。

16种常用时域指标如下:

6ae5e3dde221141e62f1461bdbdca80a.png

每种指标的解释如下:

  1. 最大值:反映数据中的最大观测值。

  2. 最小值:反映数据中的最小观测值。

  3. 均值:数据的算术平均值,反映中心趋势。

  4. 绝对平均值:数据绝对值的平均,忽略正负符号影响。

  5. 方差:数据平方的均值。

  6. 标准差:数据偏离均值的平均离散程度。

  7. 均方根,也称有效值(RMS):信号能量的有效强度。

  8. 方根幅值:平方根后平均再平方,反映幅值特征。

  9. 峰值:数据的最大绝对值,衡量瞬时强度。

  10. 峰峰值:最大值与最小值的差,表征整体波动范围。

  11. 峰值因子:峰值与有效值之比,评估信号冲击特性。

  12. 裕度因子:峰值与方根幅值之比,常用于机械故障诊断。

  13. 脉冲因子:峰值与均值之比,检测瞬态冲击。

  14. 波形因子:有效值与均值之比,描述能量分布特性。

  15. 偏斜度:衡量数据分布不对称性。

  16. 峭度:评估数据分布尖锐或平坦程度。


MATLAB代码:

clear
clc
% 生成一个10行1000列的随机数据
data = rand(10,1000);
for i = 1:size(data,1)  
    xdata = data(i,:); %遍历每一行
    max_data = max(xdata); %1.最大值
    min_data = min(xdata); %2.最小值
    mean_value = mean(xdata);  %3.均值
    Absolute_mean_value=mean(abs(xdata));  %4.绝对均值
    variance_value = mean((xdata-mean_value).^2);   %5.方差
    standard_deviation_value = std(xdata);  %6.标准差
    r=rms(xdata); %7.均方根,有效值
    h = mean(sqrt(abs(xdata)))^2;   % 8.方根幅值
    p=max(abs(xdata))-min(xdata);  %9.峰值
    p_p = max(xdata)-min(xdata);  % 10.峰峰值
    c=p/r;    %11. 峰值因子
    ma=p/mean(sqrt(abs(xdata)))^2;  %12. 裕度因子
    v=p/mean(abs(xdata)); %13. 脉冲因子
    s=r/mean(abs(xdata));  %14. 波形因子
    skewness_value = skewness(xdata);%15.偏斜度
    k=kurtosis(xdata)-3;  %16. 峭度
    Feature_data(i,:) = [max_data,min_data,mean_value,Absolute_mean_value,...
        variance_value,standard_deviation_value,r,h,p,p_p,c,ma,v,s,skewness_value,k];
end

python代码:

import numpy as np
from scipy.stats import skew, kurtosis


# 生成一个10行1000列的随机数据
data = np.random.rand(10, 1000)


# 初始化存储特征数据的数组
Feature_data = np.zeros((10, 16))  # 10行,16个特征


# 遍历每一行
for i in range(data.shape[0]):
    xdata = data[i, :]  # 获取当前行数据


    # 计算各个特征
    max_data = np.max(xdata)  # 1. 最大值
    min_data = np.min(xdata)  # 2. 最小值
    mean_value = np.mean(xdata)  # 3. 均值
    Absolute_mean_value = np.mean(np.abs(xdata))  # 4. 绝对均值
    variance_value = np.mean((xdata - mean_value) ** 2)  # 5. 方差
    standard_deviation_value = np.std(xdata, ddof=1)  # 6. 标准差(样本标准差)
    r = np.sqrt(np.mean(xdata**2))  # 7. 均方根(有效值)
    h = np.mean(np.sqrt(np.abs(xdata))) ** 2  # 8. 方根幅值
    p = np.max(np.abs(xdata)) - np.min(xdata)  # 9. 峰值
    p_p = np.max(xdata) - np.min(xdata)  # 10. 峰峰值
    c = p / r  # 11. 峰值因子
    ma = p / h  # 12. 裕度因子
    v = p / np.mean(np.abs(xdata))  # 13. 脉冲因子
    s = r / np.mean(np.abs(xdata))  # 14. 波形因子
    skewness_value = skew(xdata)  # 15. 偏斜度
    k = kurtosis(xdata)  # 16. 峭度


    # 将特征存储到数组中
    Feature_data[i, :] = [
        max_data, min_data, mean_value, Absolute_mean_value,
        variance_value, standard_deviation_value, r, h, p, p_p,
        c, ma, v, s, skewness_value, k
    ]


# 打印结果
print("特征数据矩阵:")
print(Feature_data)

测试:

随机写了一个

data = [1, 55, 3, 5, 6, 8, 9, 5, 1, 23, 2, 1, 5, 6, 1, 2, 3, 1, 5, 2, 3, 2, 1, 2, 3, 5, 4, 6, 2, 1, 3, 21];

matlab输出结果为:

1ed674c40a5fbfd6df459764d8af1e59.png

Python输出结果为:

1689b1019c7753ed8dd830fc24d59034.png

结果一致,完美!


后台回复关键词获取WORD文档公式以及代码:

时域指标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘个代码_

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值