当前位置: 首页 > article >正文

【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 稀疏最大谐波噪声比反卷积

2.2 最大相关峰度反卷积

2.3 最大二阶环平稳盲反卷积

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

最小熵反卷积(MED)、最大相关峰度反卷积(MCKD)和最大二阶环平稳盲反卷积(CYCBD)等盲反卷积方法在机械故障诊断中得到了广泛的应用。同时考虑周期性和脉冲性,MCKD,CYCBD可以解决MED偏向于随机脉冲而不是周期性故障脉冲的问题。然而,MCKD和CYCBD的优越性在很大程度上取决于先前的故障周期。在工业应用中,由于转速波动和测量问题,很难准确获得故障周期。

因此,我们首先提出利用迭代算法估计迭代周期,以解决盲反卷积方法中前期的问题。根据自相关原理,即当时延满足周期或其倍数时,将显示较高的值,在MCKD中选择具有局部最大值的位置作为迭代周期。包络谐波积谱(EHPS)最初是为估计CYCBD中的特征频率而定制的。基于BDM迭代算法的周期估计可以帮助MCKD和CYCBD在无需先验知识的情况下应用于机械故障诊断。

📚2 运行结果

2.1 稀疏最大谐波噪声比反卷积

 

 

2.2 最大相关峰度反卷积

2.3 最大二阶环平稳盲反卷积

 

 

 

 

 部分代码:

%%
load sig3
x = x - mean(x);
addpath('..\00 subfunction\')

%%
fs = 20000;
N = length(x);
t = (0:N - 1) / fs;
t = t(:);
BPFI = 38;

%% Raw data
figure;
plot(t, x, 'b');
xlabel('Time [s]')
ylabel('Amplitude')
title('Raw data')
legend(['Kurtosis=', num2str(kurtosis(x))])
setfontsize(20);
set(gcf, 'position', [100, 100, 800, 400])
axis tight
ylim([-2 2.5])

envelope_x = abs(hilbert(x)) - mean(abs(hilbert(x)));
ff = 0:fs / N:fs - fs / N;
amp_envelope_x = abs(fft(envelope_x, N)) * 2 / fs;
figure;
plot(ff, amp_envelope_x, 'b')
xlabel('Frequency [Hz]')
ylabel('Amplitude')
setfontsize(20);
set(gcf, 'position', [100, 100, 800, 400])
axis tight
xlim([0, 200]);
ylim([0 0.025])

%% SMHD

[y_final, f_final, kurtIter] = smhd(fs, x, 100, 30, 1.5 * rms(x), [], 0);

%% Filtered signal
figure;
plot(t, y_final, 'b');
xlabel('Time [s]')
ylabel('Amplitude')
title('Filtered signal by SMHD')
legend(['Kurtosis=', num2str(kurtosis(y_final))])
setfontsize(20);
set(gcf, 'position', [100, 100, 800, 400])
axis tight
ylim([-3.5 4.5])

envelope_y = abs(hilbert(y_final)) - mean(abs(hilbert(y_final)));
amp_envelope_y = abs(fft(envelope_y, N)) * 2 / fs;
figure;
plot(ff, amp_envelope_y, 'b')
xlabel('Frequency [Hz]')
ylabel('Amplitude')
setfontsize(20);
set(gcf, 'position', [100, 100, 800, 400])
axis tight
xlim([0, 200]);
ylim([0 0.3])
 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1] 苗彦, 赵明, 林建军, 雷尹, 改进的最大相关峰度反卷积方法在滚动体轴承故障诊断中的应用, 机械系统与信号处理, 92 (2017) 173-195.

[2] 苗彦, 赵明, 梁国强, 林建军, 改进MCKDA在基于编码器信号的风力发电机齿轮故障检测中的应用, 可再生能源, 151 (2020) 192-203.

[3] 张斌, 苗彦, 林建军, 易玲玲, 自适应最大二阶环平稳性盲反卷积及其在机车轴承故障诊断中的应用, 机械系统与信号处理, 158 (2021) 107736.

[4] 苗彦, 张斌, 林建军, 赵明, 刘海, 刘忠, 李海, 盲反卷积在机械故障诊断中的应用研究进展, 机械系统与信号处理, 163 (2022) 108202.

[5] 苗彦, 赵明, 林建, 徐晓, 用于轴承弱故障特征检测的稀疏最大谐波噪声比反卷积, 测量科学与技术, 27 (2016) 105004.

[6] 苗彦, 张斌, 林建军, 赵明, 刘海, 刘忠, 李海, 盲反卷积在机械故障诊断中的应用研究进展, 机械系统与信号处理, 163 (2022) 108202.

[1] Y. Miao, M. Zhao, J. Lin, Y. Lei, Application of an improved maximum correlated kurtosis deconvolution method for fault diagnosis of rolling element bearings, Mechanical Systems and Signal Processing, 92 (2017) 173-195.

[2] Y. Miao, M. Zhao, K. Liang, J. Lin, Application of an improved MCKDA for fault detection of wind turbine gear based on encoder signal, Renewable Energy, 151 (2020) 192-203.

The matlab codes of period estimation using EHPS permit to reproduce some results in the papers:

[1] B. Zhang, Y. Miao, J. Lin, Y. Yi, Adaptive maximum second-order cyclostationarity blind deconvolution and its application for locomotive bearing fault diagnosis, Mechanical Systems and Signal Processing, 158 (2021) 107736.

[2] Y. Miao, B. Zhang, J. Lin, M. Zhao, H. Liu, Z. Liu, H. Li, A review on the application of blind deconvolution in machinery fault diagnosis, Mechanical Systems and Signal Processing, 163 (2022) 108202.

In addition, the matlab codes of the deconvolution method, Sparse maximum harmonics-to-noise-ratio deconvolution (SMHD), permit to reproduce some results in the papers:

[1] Y. Miao, M. Zhao, J. Lin, X. Xu, Sparse maximum harmonics-to-noise-ratio deconvolution for weak fault signature detection in bearings, Measurement Science and Technology, 27 (2016) 105004.

[2] Y. Miao, B. Zhang, J. Lin, M. Zhao, H. Liu, Z. Liu, H. Li, A review on the application of blind deconvolution in machinery fault diagnosis, Mechanical Systems and Signal Processing, 163 (2022) 108202.

🌈4 Matlab代码实现


http://www.kler.cn/a/6297.html

相关文章:

  • GPU-Z重磅更新,Blackwell架构全面支持
  • Oracle(windows安装遇到的ORA-12545、ORA-12154、ORA-12541、ORA-12514等问题)
  • 基于ansible部署elk集群
  • 专题:剑指offer
  • Javascript 日期计算如何实现当前日期加一天或者减去一天
  • python3中错误与异常初识
  • vue尚品汇商城项目-day03【20.获取Banner轮播图的数据+21.使用swiper轮播图插件】
  • 【ZGC】为什么初始标记需要STW(stop the world) ?
  • 操作系统-AOSOA
  • AnaXNet: Anatomy Aware Multi-label Finding Classification in Chest X-ray
  • java14 使用增强的模式匹配切换表达式
  • Android 热修复小结
  • 从零开始实现一个C++高性能服务器框架----IO协程调度模块
  • word打latex公式显示不成功,出现【 打不出左大括号
  • Springboot高级(一)缓存
  • (七)Tomcat源码阅读:Host组件分析
  • 熬夜肝完~ 阿里P8的Java进阶知识典藏版,我从18K飙到30K
  • 【js】超详细js函数基础
  • React createContext 与 useContext 的基本使用
  • 【Mysql】事务原理
  • MySQL安装部署02-VirtualBox虚拟机上Centos6.8安装MySQL5.1.73
  • sql注入靶场练习
  • (五)MyBatis源码阅读: MyBatis基础模块-类型转换模块
  • Flink (六) --------- Flink 中的时间和窗口函数
  • 系统上线前,SQL脚本的9大坑
  • 【Java项目】SpringBoot实现一个请求同时上传多个文件和类并附上代码实例