振动信号幅值成分分析手段

提示:振动信号幅值成分分析手段


提示:以下是本篇文章正文内容,下面案例可供参考

一、特征值分析

在这里插入图片描述

  • 均值和平均幅值可以用于描述信号中的直流分量,反映能量波动的情况。
  • 方根幅值和均方根体现了所包含能量的多少。
  • 最大值、最小值和峰值可以用于观察振动信号强度的变化,它们与瞬时脉冲呈正相关,故障脉冲越大,相应的值也会越大。
  • 标准差体现了偏移中心的变化。

在运行过程中,随着故障的产生和发展,有量纲指标的参数值也会不断变化。

  • 平均幅值:是对原始信号时域幅值求绝对值然后再求和。
  • 方根幅值:是对原始信号时域幅值求绝对值再开根号然后在求和,根据根号的特点可以放大幅值较小的值,可以缩小幅值较大的值(如果是开4次甚至是6次方根呢?)。
  • 均方根:是对原始信号时域幅值求平方然后再求和,根据平方的特点可以放大幅值较大的值,可以缩小幅值较小的值(如果是开4次(峭度)甚至是6次方呢?)。
    在这里插入图片描述

这些特征是有量纲的特征,有量纲特征会因负载、转速等外界因素产生改变,所以根据值来做故障诊断就很可爱了。
如果跟踪这三个值,可以初步分析原始信号时域幅值的成分的变化。

二、概率密度分析

2.1、原理

概率密度函数给出了信号取不同幅值大小的概率, 在随机振动、 随机疲劳试验
等应用场合, 常常利用它来检测信号的正态性和了解信号的幅值大小分布情况。
在这里插入图片描述
经过大量的实践证明, 多数情况下, 正常滚动轴承的振动信号是各态历经过程, 且其幅值的概率分布为高斯分布 (正态分布)。 但轴承在运行过程中, 如果出现点蚀、 剥落、 划伤等局部损伤类故障时就会引起冲击, 其振动信号幅值的概率密度会偏离正态分布, 从得出的轴承振动幅值概率分布直方图中能够大概看出轴承是否已经出现了故障。

2.2、代码

# 绘制概率密度图
plt.figure(figsize=(8, 5))
# i:故障信号,画成条形图
hist, bins = np.histogram(i, bins=100, density=True)
plt.bar(bins[:-1], hist, edgecolor="white", zorder=1, width=bins[1] - bins[0])
# j:和故障信号同工况的健康信号,化成折线图
hist, bins = np.histogram(j, bins=100, density=True)
plt.plot(bins[:-1], hist,color="y")

plt.title("故障说明")
plt.savefig(".\\picture\\crwu1\\" + str(i_index) + "-" + mapdata_all1[i_index] + ".png")
# 显示图表
plt.show()

2.3、结果分析

在这里插入图片描述

可以看到在发生故障时,幅值高的成分变多。

三、总结(自己的思想)

  1. 要用变化的思想去做信号分析
  2. 要用对比的思想去做信号分析
  3. 故障信号和正常不一样,这个不一样可以是幅值较高的成分所占的比例,这个是绝对的。
  4. 故障信号之所以是故障信号不是因为故障信号的最大值多大,而是最大值发生了突变。
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简谐振动信号幅值分析可以通过计算其峰值、均方根值和有效值等指标来实现。在Matlab中,可以使用以下代码来计算简谐振动信号幅值分析: ```matlab % 生成简谐振动信号 f = 50; % 频率为50Hz A = 10; % 振幅为10V t = 0:0.0001:0.1; % 时间范围为0到0.1秒 x = A*sin(2*pi*f*t); % 生成简谐振动信号 % 计算幅值分析 peak = max(x); % 峰值 rms = sqrt(mean(x.^2)); % 均方根值 effective = rms/sqrt(2); % 有效值 disp(['峰值为:', num2str(peak), 'V']); disp(['均方根值为:', num2str(rms), 'V']); disp(['有效值为:', num2str(effective), 'V']); ``` 分布函数分析是指根据简谐振动信号的概率密度函数来计算其各阶矩,从而得到其分布特性。在Matlab中,可以使用以下代码来进行分布函数分析: ```matlab % 生成简谐振动信号 f = 50; % 频率为50Hz A = 10; % 振幅为10V t = 0:0.0001:0.1; % 时间范围为0到0.1秒 x = A*sin(2*pi*f*t); % 生成简谐振动信号 % 计算概率密度函数 pd = makedist('Normal', 'mu', 0, 'sigma', 1); % 正态分布函数 pdf_x = pdf(pd, x); % 生成简谐振动信号的概率密度函数 % 计算分布函数 cdf_x = cdf(pd, x); % 生成简谐振动信号的累积分布函数 % 计算矩 mean_x = mean(x); % 一阶矩(均值) var_x = var(x); % 二阶矩(方差) skew_x = skewness(x); % 三阶矩(偏度) kurt_x = kurtosis(x); % 四阶矩(峰度) disp(['均值为:', num2str(mean_x), 'V']); disp(['方差为:', num2str(var_x), 'V^2']); disp(['偏度为:', num2str(skew_x)]); disp(['峰度为:', num2str(kurt_x)]); ``` 矩分析可以通过计算简谐振动信号的各阶矩来描述其分布特性,如均值、方差、偏度和峰度等指标。在Matlab中,可以使用以下代码来进行矩分析: ```matlab % 生成简谐振动信号 f = 50; % 频率为50Hz A = 10; % 振幅为10V t = 0:0.0001:0.1; % 时间范围为0到0.1秒 x = A*sin(2*pi*f*t); % 生成简谐振动信号 % 计算矩 mean_x = mean(x); % 一阶矩(均值) var_x = var(x); % 二阶矩(方差) skew_x = skewness(x); % 三阶矩(偏度) kurt_x = kurtosis(x); % 四阶矩(峰度) disp(['均值为:', num2str(mean_x), 'V']); disp(['方差为:', num2str(var_x), 'V^2']); disp(['偏度为:', num2str(skew_x)]); disp(['峰度为:', num2str(kurt_x)]); ``` 以上代码演示了如何利用Matlab实现简谐振动信号幅值分析、分布函数分析以及矩分析

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值