振动信号常用的时域和频域指标

通常振动信号为一时间序列,衡量振动信号的指标常见的有时域指标和频域指标,网上分享计算公式和源程序的比较少,本文给出了一些常用的时域和频域指标的公式定义以及对应的matlab和python源码。

常见时域指标:

对应的Matlab程序

%%%%matlab程序

close all;clear;clc

st = 0.01;
data = sin(0:st:10);
Xr = mean(sqrt(abs(data)))*mean(sqrt(abs(data)));
Xmean = mean(abs(data));
Xrms = rms(data);
Xp=max(max(data), -min(data));

disp(['均方根值:',num2str(Xrms)]);
disp(['峰值指标:',num2str(max(max(data), -min(data)))]);
disp(['峰值因子:',num2str(Xp/Xrms)]);
disp(['峭度因子:',num2str(kurtosis(data))]);
disp(['峰度因子:',num2str(skewness(data))]);
disp(['方根幅度:',num2str(Xr)]);
disp(['裕度系数:',num2str(Xp/Xr)]);
disp(['绝对平均值:',num2str(Xmean)]);
disp(['脉冲因子:',num2str(Xp/mean(abs(data)))]);
disp(['波形指标:',num2str(Xrms/Xmean)]);

运行结果: 

>> 均方根值:0.69054
峰值指标:1
峰值因子:1.4481
峭度因子:1.788
峰度因子:-0.40473
方根幅度:0.55837
裕度系数:1.7909
绝对平均值:0.61575
脉冲因子:1.624
波形指标:1.1215

 对应的python程序

###python程序

import numpy as np
from scipy import stats


st = 0.01
data = np.sin(np.array([st*i for i in range(1001)]))

Xr = np.mean(np.sqrt(abs(data)))*np.mean(np.sqrt(abs(data)))
Xmean = np.mean(abs(data))
Xrms = np.sqrt(np.dot(data,data)/len(data))
Xp = max(max(data), -min(data))

print('均方根值:',Xrms)
print('峰值指标:',Xp);
print('峰值因子:',Xp/Xrms)
print('峭度因子:',stats.kurtosis(data))
print('峰度因子:',stats.skew(data))
print('方根幅度:',Xr)
print('裕度系数:',Xp/Xr)
print('绝对平均值:',Xmean)
print('脉冲因子:',Xp/np.mean(abs(data)))
print('波形指标:',Xrms/Xmean)
print('方差为:',np.var(data))
print('标准差为:',np.std(data))

频域 

注:S是功率谱幅值,功率谱S是幅度谱的二次方 

matlab  

close all;clear;clc

st = 0.01;
data = sin(0:st:10);

fs = 1/st;                 % 采样频率
N = length(data);
y = 2*abs(fft(data))/N;
f = fs*[1:N]/N;

FC = sum(f.*y)/sum(y);
MSF = sum(f.^2.*y)/sum(y);
RMSF = sqrt(MSF);
VF = sum((f-FC).^2.*y)/sum(y);
RVF = sqrt(VF);

disp(['重心频率:',num2str(FC)]);
disp(['均方频率:',num2str(MSF)]);
disp(['均方根频率:',num2str(RMSF)]);
disp(['频率方差:',num2str(VF)]);
disp(['频率标准差:',num2str(RVF)]);

 python

###python程序

fs = 1/st
N = len(data)
y = 2*abs(fft(data))/N
f = np.array([(i+1)*fs/N for i in range(N)])
FC = np.dot(f,y)/np.sum(y)
MSF = np.dot(np.multiply(f,f),y)/np.sum(y)
RMSF = np.sqrt(MSF)
VF = np.dot(np.multiply(f-FC,f-FC),y)/np.sum(y);
RVF = np.sqrt(VF)

print('重心频率:',FC)
print('均方频率:',MSF)
print('均方根频率:',RMSF)
print('频率方差:',VF)
print('频率标准差:',RVF)

振动信号常用的时域和频域指标 - 知乎 (zhihu.com)

对于时域、频域和时频图的理解 可以参照:如何看时频图 - 知乎 (zhihu.com) 

  • 6
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 时域指标频域指标是相互对应的。时域指标是指信号在时间域内的特征,如幅度、周期、频率等;而频域指标则是指信号频域内的特征,如频谱、功率谱密度等。通过傅里叶变换可以将时域信号转换为频域信号,从而得到频域指标。反之,通过傅里叶逆变换可以将频域信号转换为时域信号,从而得到时域指标。 ### 回答2: 时域指标频域指标是描述信号特性的两种不同方法。时域指标是指在时间轴上观察信号的变化,比如信号的幅值、振幅、频率等。而频域指标是指在频率轴上观察信号的变化,即信号的频谱分布和频率成分等。 时域指标频域指标之间存在着一定的对应关系。一方面,可以通过时域指标提取出信号时域特性,进而利用傅里叶变换将信号转换到频域上,得到频域指标。例如,对于一个周期性信号,可以通过观察信号的周期性和振幅变化等时域指标,然后对信号进行傅里叶变换,得到信号的频谱和频率成分等频域指标。 另一方面,通过频域指标可以反推出信号时域特性。利用傅里叶反变换,可以将频域指标重构成时域信号。例如,对于一个具有多个频率成分的信号,可以通过频域指标提取出各个频率成分的信息,然后对这些频率成分进行傅里叶反变换,得到信号时域波形。 总体来说,时域指标频域指标是相辅相成的,彼此之间可以相互转换和补充。通过时域指标可以观察和分析信号的时变特性,而频域指标则提供了信号的频率成分和频谱信息,从而更全面地描述和理解信号的特性。 ### 回答3: 时域指标频域指标是描述信号在不同领域中的特征的指标时域指标是指对信号在时间轴上的变化进行分析,频域指标是对信号在频率轴上的特性进行分析。 时域指标描述了信号在时间轴上的变化情况,例如信号的振幅、频率、周期、脉冲宽度等。通过时域分析可以观察到信号的时间间隔、峰值、衰减、上升时间等特征,适用于对信号的瞬时特性进行观察和分析。 频域指标描述了信号在频率域上的特征,例如信号的频谱分布、频率成分、信噪比等。通过频域分析可以观察到信号的频率成分和频谱特性,适用于对信号的频率特性进行观察和分析。 时域频域指标之间存在紧密的对应关系。例如,时域中的周期与频域中的频率成分对应,时域中的振幅与频域中的幅度谱对应。通过对信号进行傅里叶变换,可以将时域信号转换为频域信号,从而得到信号的频谱特性。 时域频域指标的分析在实际应用中常常是相互转换的。例如,通过傅里叶变换将时域信号转换为频域信号来观察频谱特性;通过反傅里叶变换将频域信号转换为时域信号来重新恢复原始信号时域频域分析的结合可以更全面地了解信号的特性,以便更好地进行信号处理和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值