一维振动信号的时域特征python

1.1 有量纲特征值8个——最大值、最小值、峰峰值、均值、方差、标准差、均方值、均方根值

下面介绍这几个参量,再扩充表达了均方根均方根误差。原始信号X=\left ( x_{1},x_{2}......,x_{n} \right ),信号长度为N

1.均值:\overline{x}=\frac{1}{N}\sum_{i=1}^{N}x_{i}信号的平均,为一阶矩

import numpy as np
x = np.loadtxt('/.txt')
N = len(data)

x1 = np.sum(x)/N

2.方差:S^{2}=\frac{\sum_{i=1}^{N}\left ( x_{i}-\overline{x} \right )^{2}}{N}每个样本值与全体样本值的平均数之差的平方值的平均,反应数据间的离散程度,是二阶中心矩

S2 = np.sum((x-x1)**2)/N

3.均方根:rms=\sqrt{\frac{\sum_{i=1}^{N}x_{i}^{2}}{N}}又叫有效值。将所有值平方求和,求其均值,再开平方,就得到均方根值。

rms = np.sqrt(np.sum(x**2)/N)

4.均方值:P1=\frac{\sum_{i=1}^{N}x_{i}^{2}}{N}

P1 = np.sum(x**2)/N

均方值是信号的平方的平均,是二阶矩

5.标准差:\sigma =\sqrt{\frac{\sum_{i=1}^{N}\left ( x_{i}-\overline{x} \right )^{2}}{N}}标准差又叫均方差,是方差的算数平方根。标准差反应的也是数据的离散程度,在一些场合比方差更要靠谱一些

P2 = np.sqrt(S2)

6.均方误差:比如在做数据预测时,我们有一个原始信号x,预测信号为p,需要均方误差MSE评价数据的偏离程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。

MSE = \frac{\sum_{i=1}^{N}\left ( x-p \right )^{2}}{N}

P = np.loadtxt(./.txt)
MSE = np.sum((x-p)**2)/N

7.均方根误差:RMSE=\sqrt{MSE} 就是均方误差的算术平方根.

RMSE = np.sqrt(MSE)

8.峰峰值:最大值和最小值的差值,反映了信号的波动范围。

FFZ = max-min

max = np.max(x)
min = np.min(x)
FFZ = max-min

1.2 无量纲特征值6个——峭度、偏度、波形因子、峰值因子、脉冲因子、裕度因子

1.峭度:峭度K是反映随机变量分布特性的数值统计量,是4阶累积量,反映着数据分散程度。在工业生产应用广泛,对冲击信号特别敏感,特别适用于表面损伤类故障、尤其是早期故障的诊断。

K = \frac{\sum_{i=1}^{N}\left ( x-x1 \right )^{4}}{N}/\left ( \frac{\sum_{i=1}^{N}\left ( x-x1 \right )^{2}}{N} \right )^{2}

K = (np.sum((x-x1)**4)/N) / ((np.sum((x-x1)**2)/N)**2)

2.偏度S:用来度量随机变量概率分布的不对称性。

S=\frac{\sum_{i=1}^{N}\left ( \frac{x-x1}{P2} \right )^{3}}{N}其中P2为标准差,x1是均值。

S = np.sum(((x-x1)/P2)**3) / N

3.波形因子bxz:波性因子是有效值(RMS)与整流平均值(平均值的绝对值)的比值

bxz = \frac{rms}{\left | x1 \right |}, x1为平均值,rms均方根。

bxz = rms / (np.abs(x1))

4.峰值因子fzz:是信号峰值(fz)与有效值(RMS)的比值,代表的是峰值在波形中的极端程度。

fzz = \frac{fz}{rms}

fz = np.max(np.abs(x))
fzz = fz/rms

5.脉冲因子mcz:是信号峰值与整流平均值的比值。

mcz = \frac{fz}{\left | x1 \right |}

mcz = fz / (np.abs(x1))

6.裕度因子ydz:裕度因子是信号峰值与方根幅值的比值。方根幅值(fgz)是算术平方根的平均值的平方。fgz=\left ( \frac{\sum_{i=1}^{N}\sqrt{\left |x _{i} \right |}}{N} \right )^{2},ydz=\frac{fz}{fgz}

ydz = fz / fgz

  • 8
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
Python是一个功能强大的编程语言,可以用于处理和分析振动信号时域数据。在Python中,我们可以使用许多库和工具来处理振动信号数据,例如NumPy、SciPy和Matplotlib。 首先,我们可以使用NumPy库来创建和操作数组,从而存储和处理振动信号时域数据。通过使用NumPy的功能,我们可以进行常见的数学运算,例如加法、减法、乘法和除法,以及数组的切片和索引。 其次,SciPy库提供了许多用于信号处理的函数和算法。例如,我们可以使用SciPy中的滤波器函数来对振动信号进行滤波,以去除噪声和不必要的频谱成分。此外,SciPy还提供了一些常见的时域分析函数,例如自相关函数和互相关函数,用于分析信号的相关性和相似性。 最后,Matplotlib库可以用于绘制振动信号时域图表。我们可以使用Matplotlib的函数来创建折线图或散点图,以显示振动信号的振幅随时间变化的情况。此外,Matplotlib还提供了许多其他图表类型,例如柱状图、饼图和直方图,可以用于进一步分析振动信号的统计特征和频谱信息。 总之,Python提供了丰富的工具和库,可以用于处理和分析振动信号时域数据。通过使用NumPy、SciPy和Matplotlib库,我们可以进行各种操作,例如操作数组、滤波信号、计算相关性、绘制时域图表等,从而深入挖掘振动信号特征和信息。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

似水不惧

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值