来源: matlab官网:滚动体轴承故障诊断
本示例展示了如何根据加速度信号对滚动轴承执行故障诊断,尤其是在存在来自其他机器部件的强屏蔽信号的情况下。该示例将演示如何应用包络频谱分析和谱峭度法来进行诊断轴承故障,并能够扩展到大数据应用。

问题概述

滚动体轴承中的局部故障可能发生在外圈、内圈、保持架或滚动体中。当滚动体撞击外圈或内圈上的局部故障,或滚动体上的故障撞击外圈或内圈时,轴承和响应传感器之间的高频共振被激发[1]。下图显示了滚动体撞击内圈的局部断层。问题是如何检测和识别各种类型的故障。


机械故障预防技术 (MFPT) 挑战数据
MFPT 挑战数据 [4] 包含从各种故障条件下的机器收集的 23 个数据集。前20个数据集是从轴承试验台收集的,其中3个在良好条件下,3个在恒定载荷下有外圈故障,7个在各种载荷下有外圈故障,7个在各种载荷下有内圈故障。其余 3 个数据集来自真实世界的机器:油泵轴承、中速轴承和行星轴承。故障位置未知。在此示例中,仅使用从具有已知条件的测试台收集的数据。

每个数据集都包含一个加速度信号“gs”、采样率“sr”、轴速度“速率”、负载重量“负载”和代表不同故障位置的四个临界频率:球通频率外圈 (BPFO)、球通频率内圈 (BPFI)、基本列车频率 (FTF) 和球旋频率 (BSF)。以下是这些临界频率的公式[1]。

包络谱分析

在MFPT数据集中,轴速度是恒定的,因此无需执行阶次跟踪作为预处理步骤来消除轴速度变化的影响
当滚动体在外圈或内圈撞击局部故障时,或者当滚动体上的故障撞击外圈或内圈时,冲击将调制相应的临界频率,例如BPFO,BPFI,FTF,BSF。因此,幅度解调产生的包络信号传达了原始信号频谱分析无法提供的更多诊断信息。以MFPT数据集中的内争故障信号为例。

dataInner = load(fullfile(matlabroot, 'toolbox', 'predmaint', ...'predmaintdemos', 'bearingFaultDiagnosis', ...'train_data', 'InnerRaceFault_vload_1.mat'));

在时域中可视化原始内争故障数据

xInner = dataInner.bearing.gs;
fsInner = dataInner.bearing.sr;
tInner = (0:length(xInner)-1)/fsInner;
figure
plot(tInner, xInner)
xlabel('Time, (s)')
ylabel('Acceleration (g)')
title('Raw Signal: Inner Race Fault')
xlim([0 0.1])



在频域中可视化原始数据。

figure
[pInner, fpInner] = pspectrum(xInner, fsInner);
pInner = 10*log10(pInner);
plot(fpInner, pInner)
xlabel('Frequency (Hz)')
ylabel('Power Spectrum (dB)')
title('Raw Signal: Inner Race Fault')
legend('Power Spectrum')


现在放大低频范围内原始信号的功率谱,以仔细观察BPFI及其前几次谐波的频率响应。

figure
plot(fpInner, pInner)
ncomb = 10;
helperPlotCombs(ncomb, dataInner.BPFI)
xlabel('Frequency (Hz)')
ylabel('Power Spectrum (dB)')
title('Raw Signal: Inner Race Fault')
legend('Power Spectrum', 'BPFI Harmonics')
xlim([0 1000])


在BPFI及其谐波中看不到清晰的模式。对原始信号进行频率分析不能提供有用的诊断信息。

查看时域数据,观察到原始信号的幅度在一定频率下调制,调制的主频率在1/0.009 Hz左右≈111赫兹。众所周知,滚动体在内圈(即BPFI)撞击局部故障的频率为118.875 Hz。这表明轴承可能存在内圈故障。

figure
subplot(2, 1, 1)
plot(tInner, xInner)
xlim([0.04 0.06])
title('Raw Signal: Inner Race Fault')
ylabel('Acceleration (g)')
annotation('doublearrow', [0.37 0.71], [0.8 0.8])
text(0.047, 20, ['0.009 sec \approx 1/BPFI, BPFI = ' num2str(dataInner.BPFI)])


现在计算包络信号的功率谱,并查看BPFI及其谐波的频率响应。

figure
plot(fEnvInner, pEnvInner)
xlim([0 1000])
ncomb = 10;
helperPlotCombs(ncomb, dataInner.BPFI)
xlabel('Frequency (Hz)')
ylabel('Peak Amplitude')
title('Envelope Spectrum: Inner Race Fault')
legend('Envelope Spectrum', 'BPFI Harmonics')


结果表明,大部分能量集中在BPFI及其谐波上。这表明轴承存在内圈故障,与数据的故障类型相匹配。 (dataInner.BPFI = 118.8750)

将包络频谱分析应用于其他故障类型

现在对正常数据和外种族故障数据重复相同的包络频谱分析。

dataNormal = load(fullfile(matlabroot, 'toolbox', 'predmaint', ...'predmaintdemos', 'bearingFaultDiagnosis', ...'train_data', 'baseline_1.mat'));
xNormal = dataNormal.bearing.gs;
fsNormal = dataNormal.bearing.sr;
tNormal = (0:length(xNormal)-1)/fsNormal;
[pEnvNormal, fEnvNormal] = envspectrum(xNormal, fsNormal);figure
plot(fEnvNormal, pEnvNormal)
ncomb = 10;
helperPlotCombs(ncomb, [dataNormal.BPFO dataNormal.BPFI])
xlim([0 1000])
xlabel('Frequency (Hz)')
ylabel('Peak Amplitude')
title('Envelope Spectrum: Normal')
legend('Envelope Spectrum', 'BPFO Harmonics', 'BPFI Harmonics')

正如预期的那样,正常方位信号的包络频谱在BPFO或BPFI处没有显示出任何明显的峰值。

dataOuter = load(fullfile(matlabroot, 'toolbox', 'predmaint', ...'predmaintdemos', 'bearingFaultDiagnosis', ...'train_data', 'OuterRaceFault_2.mat'));
xOuter = dataOuter.bearing.gs;
fsOuter = dataOuter.bearing.sr;
tOuter = (0:length(xOuter)-1)/fsOuter;
[pEnvOuter, fEnvOuter, xEnvOuter, tEnvOuter] = envspectrum(xOuter, fsOuter);figure
plot(fEnvOuter, pEnvOuter)
ncomb = 10;
helperPlotCombs(ncomb, dataOuter.BPFO)
xlim([0 1000])
xlabel('Frequency (Hz)')
ylabel('Peak Amplitude')
title('Envelope Spectrum: Outer Race Fault')
legend('Envelope Spectrum', 'BPFO Harmonics')


对于外部竞赛故障信号,BPFO谐波也没有明显的峰值。包络谱分析是否无法区分具有外圈故障的轴承和健康轴承?让我们退后一步,再次查看不同条件下的时域信号。

首先,让我们再次在时域中可视化信号并计算它们的峭度。峭度是随机变量的四阶标准化矩。它表征信号的冲动性或随机变量尾部的重量。

figure
subplot(3, 1, 1)
kurtInner = kurtosis(xInner);
plot(tInner, xInner)
ylabel('Acceleration (g)')
title(['Inner Race Fault, kurtosis = ' num2str(kurtInner)])
xlim([0 0.1])subplot(3, 1, 2)
kurtNormal = kurtosis(xNormal);
plot(tNormal, xNormal)
ylabel('Acceleration (g)')
title(['Normal, kurtosis = ' num2str(kurtNormal)])
xlim([0 0.1])subplot(3, 1, 3)
kurtOuter = kurtosis(xOuter);
plot(tOuter, xOuter)
xlabel('Time (s)')
ylabel('Acceleration (g)')
title(['Outer Race Fault, kurtosis = ' num2str(kurtOuter)])
xlim([0 0.1])

结果表明,内圈故障信号具有显著较大的脉冲性,使包络谱分析能够有效捕获BPFI处的故障特征。对于外部竞赛故障信号,BPFO的幅度调制略显明显,但被强噪声掩盖。正常信号不显示任何幅度调制。在BPFO下通过幅度调制提取脉冲信号(或增强信噪比)是包络频谱分析之前的关键预处理步骤。下一节将介绍谱峭度和库尔特图,以提取峰度最高的信号,并对滤波后的信号进行包络谱分析。

level = 9;
figure
kurtogram(xOuter, fsOuter, level)


库尔图表明,以2.67 kHz为中心,带宽为0.763 kHz的频带峰度最高,为2.71。

现在使用库尔图建议的最佳窗口长度来计算光谱峰度。

figure
wc = 128;
pkurtosis(xOuter, fsOuter, wc)


要在频谱图上可视化频带,请计算频谱图并将频谱峰度放在侧面。为了以另一种方式解释频谱峰度,高频谱峰度值表示相应频率下的功率方差很大,这使得频谱峰度成为定位信号非平稳分量的有用工具

helperSpectrogramAndSpectralKurtosis(xOuter, fsOuter, level)


通过使用建议的中心频率和带宽对信号进行带通滤波,可以增强峰度,并检索外竞赛故障的调制幅度。

[~, ~, ~, fc, ~, BW] = kurtogram(xOuter, fsOuter, level);bpf = designfilt('bandpassfir', 'FilterOrder', 200, 'CutoffFrequency1', fc-BW/2, ...'CutoffFrequency2', fc+BW/2, 'SampleRate', fsOuter);
xOuterBpf = filter(bpf, xOuter);
[pEnvOuterBpf, fEnvOuterBpf, xEnvOuterBpf, tEnvBpfOuter] = envspectrum(xOuter, fsOuter, ...'FilterOrder', 200, 'Band', [fc-BW/2 fc+BW/2]);figure
subplot(2, 1, 1)
plot(tOuter, xOuter, tEnvOuter, xEnvOuter)
ylabel('Acceleration (g)')
title(['Raw Signal: Outer Race Fault, kurtosis = ', num2str(kurtOuter)])
xlim([0 0.1])
legend('Signal', 'Envelope')subplot(2, 1, 2)
kurtOuterBpf = kurtosis(xOuterBpf);
plot(tOuter, xOuterBpf, tEnvBpfOuter, xEnvOuterBpf)
ylabel('Acceleration (g)')
xlim([0 0.1])
xlabel('Time (s)')
title(['Bandpass Filtered Signal: Outer Race Fault, kurtosis = ', num2str(kurtOuterBpf)])
legend('Signal', 'Envelope')

可以看出,带通滤波后峰度值增加。现在在频域中可视化包络信号。

figure
plot(fEnvOuterBpf, pEnvOuterBpf);
ncomb = 10;
helperPlotCombs(ncomb, dataOuter.BPFO)
xlim([0 1000])
xlabel('Frequency (Hz)')
ylabel('Peak Amplitude')
title('Envelope Spectrum of Bandpass Filtered Signal: Outer Race Fault ')
legend('Envelope Spectrum', 'BPFO Harmonics')


结果表明,通过带通滤波原始信号和峰度图建议的频带,包络频谱分析能够揭示BPFO及其谐波的故障特征。

总结

首先基于包络频谱分析法,得到出现BPF1故障时,大部分能量集中在BPF1频率及其谐波上,存在内圈故障。 以同样得方法对外部故障数据进行分析,包络谱分析法失效,在BPFO及其谐波处没有明显得峰值。则转到时域信号,基于谱峭度法对时域信号进行分析,精确定位到峰值最高得频段后,对原始信号应用带通滤波器进行滤波,对信号进行特征增强。在此基础上,在进行包络谱分析,揭示BPFO及其谐波的故障特征。

滚动体轴承故障诊断(matlab谱峭度法)相关推荐

  1. 轴承故障诊断之快速谱峭度法 Matlab 代码说明

    文章目录 文章介绍 代码说明 1.主程序 2.Fast_Kurtogram(快速谱峭度主函数) 3.kurt(计算峭度) 4.max_IJ(搜索最大峭度对应的信号子带) 5.K_wpQ(计算峭度矩阵) ...

  2. 滚动轴承故障诊断MATLAB程序:快速谱峭度、谱峭度+包络谱分析

    滚动轴承故障诊断MATLAB程序:快速谱峭度.谱峭度+包络谱分析 YID:17100643891920088

  3. MATLAB环境下基于包络谱和谱峭度的一维振动信号分析

    依旧是信号处理相关的东西,本文再次讲解如何应用包络谱和谱峭度分析一维振动信号进而诊断轴承故障,运行环境为MATLAB R2021B. 面包多第三方代码:

  4. 快速谱峭度matlab,一种基于快速谱峭度分析的泵潜在空化故障检测方法与流程

    本发明属于信号处理领域,尤其涉及一种基于快速谱峭度分析泵的实时状态并且检测其潜在空化故障的方法. 背景技术: 高性能离心泵在当今社会上广泛应用和需求巨大.由于工作在高压高速等复杂条件下,离心泵的空化故 ...

  5. 基于EEMD-改进小波阈值-快速谱峭度(FSK)的滚动轴承故障诊断

    西储大学轴承数据为研究对象,得出的结果与理论故障频率相差不大,效果较好.

  6. ​【故障诊断分析】基于 FFT轴承故障诊断matlab代码

    1 简介 快速傅里叶变换( FFT) 是 1965 年 J W Cooley 和 J W Tukey 巧妙地利用 WN 因子的周期性和对称性,构造了离散傅里叶变换( DFT) 的快速算法,即快速离散傅 ...

  7. 基于EEMD方法的降噪与解调在轴承故障诊断中的应用实证研究

    基于EEMD方法的降噪与解调在轴承故障诊断中的应用实证研究 摘要 1 引言 2 EEMD简介 2.1 EMD简介 2.2 EEMD简介 3 基于阈值处理的EEMD降噪方法 3.1 相关系数 3.2 基 ...

  8. 【故障诊断】基于粒子群和多元宇宙算法优化最大相关峭度解卷积(MCKD)实现信号处理附matlab代码

    1 内容介绍 1.1研究背景及意义 制造业的发展支撑着国家经济的稳定快速发展,是人民生活幸福和国家局势 稳定的保障.发展制造业离不开科技创新.加强制造业创新.推动产业转型升级是 提升我国国际地位.实现 ...

  9. 机械故障诊断01——峭度

    机械故障诊断_峭度 定义 利用公开数据计算峭度 定义 峭度: (衡量实数随机变量概率分布的的峰态:表示样本的函数图形顶峰的凸平度),其他资料上说正常轴承振动信号的峭度为3左右,故障轴承振动信号的峭度大 ...

最新文章

  1. Servlet的第一个程序HelloWorld
  2. 路由热备份(HSRP)DynamipsGUI小试牛刀
  3. android 多线程概述
  4. crack翻译成中文_crack是什么意思_crack在线翻译_英语_读音_用法_例句_海词词典
  5. css3 display.,CSS3 display知识详解
  6. 使用Service Installer在.NET Core中配置依赖注入而无需任何代码
  7. LeetCode 96. Unique Binary Search Trees
  8. 利用junit对springMVC的Controller进行测试
  9. mysql编码utf8改为g_修改MySQL的编码为UTF8
  10. 简明python教程 沈洁元_Python简明教程-沈洁元
  11. 在Microsoft Windows XP中使用NetMeeting
  12. 抛弃clover,爱上QTTabBar
  13. 请收藏ANSYS Fluent电子风扇效能及噪音仿真攻略
  14. gwas snp 和_新的高密度玉米SNP芯片可用于基因组选择、GWAS和群体遗传学
  15. 相比REG007 不仅免费还好用 的手机号绑定查询工具
  16. 【第一个Vue上手小项目Day4】史上最简单的Element-table表格+Pagination 分页(前后端结合)
  17. 仙人掌树学习1:仙人掌图 洛谷:[SHOI2008]仙人掌图 II
  18. 【转载】贵妃醉酒百态(原创)
  19. 数字电视业务PSI/SI学习系列
  20. 安卓游戏广告加速插件_【安卓】玩LOL手游吗?这有教程

热门文章

  1. 【编译原理】构造DFA例题
  2. 不是发生中断请求的条件_英语语法:虚拟语气在条件句中的用法
  3. HashMap?面试?我是谁?我在哪? 侵立删
  4. CSAPP 并发编程 ——深入理解计算机系统
  5. 马斯克特斯拉内部邮件火了:痛恨开会,少说黑话
  6. 法兰克oitf操作_TALENT系列
  7. 牛津、剑桥、哈佛的血缘关系
  8. web前端期末大作业 简单的学生网页作业源码 基于html css javascript绿色的在线教育平台网站响应式企业网站模板
  9. u盘固定盘符_个性人士必备!U盘盘符固定3步妙招
  10. 微信小程序-路线规划,地图导航功能基于高德地图API