【轴承故障诊断】加权多尺度字典学习模型(WMSDL)及其在轴承故障诊断上的应用(Matlab代码实现)

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

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

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

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

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

摘要:在强背景噪音和谐波干扰下提取冲击信息对于轴承故障诊断是一个具有挑战性的问题。多尺度变换在提取冲击特征信息方面取得了巨大成功,然而,在强噪声干扰的情况下如何选择合适的变换是一个困难的问题。因此,字典学习方法近年来备受关注。本文提出了一个加权多尺度字典学习模型(WMSDL),将多尺度变换和故障信息整合到一个统一的字典学习模型中,并成功地克服了传统字典学习算法的四个缺点,包括缺乏多尺度特性;将训练样本限制在局部块中;对强谐波干扰敏感;遭受高计算复杂性的困扰。此外,讨论了算法推导、计算复杂性和参数选择。最后,通过数值模拟和实验验证了所提方法的有效性。与其他最先进的方法进行比较进一步证明了该方法的优越性。

📚2 运行结果

部分代码:

%% Estimate the energy of the noise
NoiseSigma = NoiseEstimate(Sig);
%% Perform weighted multi-scale dictionary learning
Params.init_E = Params.init_E * NoiseSigma;
tic
[y_WMSDL] = WMSDL(Sig, Params);
time_WMSDL = toc;
%% Perform KSVD denoising
Params.n = 200;
Params.m = Params.n * 2;
Params.E = 19.5 * NoiseSigma * getConstant(Params.n);
tic
[y_KSVD] = CleanKSVD(Sig, Params);
time_KSVD = toc;
%% Perform the square envelope spectrum (SES)
[ yf_WMSDL, ~ ] = Hilbert_envelope( y_WMSDL , Params.Fs , 1);
[ yf_KSVD, f ] = Hilbert_envelope( y_KSVD , Params.Fs , 1);
%% Plot the results
figure(1)
subplot(311)
plot(t, Sig)
title('Original Signal')
ylabel('Amp (g)')
subplot(312)
plot(t, y_WMSDL)
title(['WMSDL, Computational time = ' num2str(time_WMSDL) 's'])
ylabel('Amp (g)')
subplot(313)
plot(t, y_KSVD)
title(['KSVD, Computational time = ' num2str(time_KSVD) 's'])
ylabel('Amp (g)')
xlabel('Time (s)')
filename = ['results', filesep, sprintf('Demo1_Extracted_Time.pdf')];
print(filename, '-dpdf');
figure(2)
subplot(211)
plot(f(1:800), yf_WMSDL(1:800))
title(['WMSDL, Computational time = ' num2str(time_WMSDL) 's'])
ylabel('Amp (g)')
subplot(212)
plot(f(1:800), yf_KSVD(1:800))
title(['KSVD, Computational time = ' num2str(time_KSVD) 's'])
ylabel('Amp (g)')
xlabel('Frequency (Hz)')

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Zhao, Zhibin; Qiao, Baijie; Wang, Shibin; Shen, Zhixian; Chen, Xuefeng (2019). A weighted multi-scale dictionary learning model and its applications on bearing fault diagnosis. Journal of Sound and Vibration, 446(), 429–452. doi:10.1016/j.jsv.2019.01.042 

🌈4 Matlab代码、数据、文章

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值