改进的麻雀算法优化最大相关峭度解卷积(SCSSA-MCKD),实现早期微弱故障诊断,MATLAB代码实现

01 引言

由于一些设备的早期故障产生的冲击十分微弱,易被系统噪声干扰,如何有效地对设备的原始故障信号进行降噪并增强信号中微弱冲击成分,是进行该类部件早期故障诊断的关键。

最大相关峭度解卷积(MCKD)通过解卷积运算突出被噪声淹没的连续冲击脉冲,提高原始信号的相关峭度值,非常适用于提取微弱故障信号的连续瞬态冲击。已有很多文献证明MCKD可以用于早期微弱故障诊断。

02 流程介绍

本篇文章的思路大家可以参考这篇文献,这篇文献的被引量和下载次数都是相当高的:张俊,张建群,钟敏等.基于PSO-VMD-MCKD方法的风机轴承微弱故障诊断[J].振动.测试与诊断,2020,40(02):287-296+418.DOI:10.16450/j.cnki.issn.1004-6801.2020.02.011.

流程介绍:

①模拟早期故障信号,并添加强烈的高斯白噪声来模拟实际工况设备被环境噪声所覆盖的微弱故障;

②找最佳IMF分量:采用VMD或者EMD等方式对故障模拟信号分解,计算各IMF分量的包络谱峰值因子,包络谱峰值因子最大的IMF分量即为最佳IMF分量;

③采用对最大相关峭度解卷积(MCKD)的三个参数进行寻优,得到增强的IMF分量;

 

④对IMF分量进行包络谱分析,得到故障特征频率。

03 结果分析

  • ①模拟早期微弱故障信号

信号的原理公式:

af06396d61e751c7ef58f97271e66ac5.png

dbecd22e5138e5614163661b8fd22602.png

信号结果图:

(1)冲击信号,该信号是不加高斯白噪声之前的冲击信号。

1130b6cdf4ee12e1f96a4b1263d944be.png

(2)故障模拟信号,该信号是加高斯白噪声之后的冲击信号,可以看到,周期冲击信号则完全被噪声淹没。

687acd4632c44d6cef07e0aec2d617b8.png

(3)故障模拟信号的包络谱,从这个图中难以发现突出频率,无法辨别故障特征。

c553895cdaf8ca0e3809945b3529293c.png

  • ②找最佳IMF分量

采用VMD对故障信号进行分解,得到若干个IMF分量,然后计算IMF分量的包络谱峰值因子,包络谱峰值因子最大的IMF分量即为最佳IMF分量;

将VMD模态分解数设置为K = 10,这个数字是根据经验自己设置的。(大家如果想通过优化VMD参数的方式得到模态分解数K也是可以的,可以看之前发的有关优化VMD参数的文章,这篇文章就不再讲解优化VMD了)

得到各IMF分量的包络谱峰值因子图如下:

3383dbbe4854c084b3db3fda945886d2.png

可以看到最佳的IMF分量是IMF7。然后接下来的操作都是对这个IMF7展开的。

对IMF7进行包络谱分析,

77cd58bb9f1a4f8cc17f7aa3726921d1.png

想获得更多VMD相关分析的可以看这篇文章:VMD分解,matlab代码,包络线,包络谱,中心频率,峭度值,能量熵,样本熵,模糊熵,排列熵,多尺度排列熵,西储大学数据集为例

③改进的麻雀算法优化MCKD参数

原文献中只对MCKD的[L,T]两个参数进行了优化,作者在这里进行了改进,对[L,T,M]三个参数进行了优化,以确保找到最佳的MCKD参数。

适应度函数依旧选择包络谱峰值因子。改进的麻雀算法优化MCKD适应度曲线如下。

41743c14814ed91850d9a16d321da95a.png

处理过程如下:

8a347b188f6e94a7d3d58fc58b80c2fb.png

得到的最佳参数分别是[L,T,M] = [242,99,1];

MCKD处理后的包络谱如下:

be9a376a53c02421d17224301b2f551e.png

可以看到,与优化前的IMF分量包络谱比较,得到了明显的增强。解卷积后的包络谱中故障特征频率fi 及其2倍频、3倍频、4倍频的谱线均清晰可见,表明特征频率被准确提取。

04代码

%% 
clear
clc  
close all
fobj=@mckdcost;       %包络谱峰值因子
%% 选取数据
load data.mat  %注意这里替换为自己的数据即可,数据形式为n行*1列,列数必须为1。
data = best_imf;
%% 设置参数
lb = [100 85 1];    %mckd下限
ub = [1000 142 7];  %mckd上限
dim = 3;            % 优化变量数目
Max_iter=20;       % 最大迭代数目
SearchAgents_no=20;       %种群规模
fs = 12800;   %采样频率
%% 调用SCSSA函数
[fMin , bestX, Convergence_curve ] = SCSSA(SearchAgents_no,Max_iter,lb,ub,dim,fobj,data,fs);%% 画适应度函数曲线图,并输出最佳参数
figure
plot(-Convergence_curve,'Color',[0.9 0.5 0.1],'Marker','>','LineStyle','--','linewidth',1);title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
legend('SCSSA优化MCKD')
display(['The best solution obtained by SCSSA is : ', num2str(fix(bestX))]);  %输出最佳位置
display(['The best optimal value of the objective funciton found by SCSSA is : ', num2str(-fMin)]);  %输出最佳适应度值%% 将最佳的MCKD参数回带,求出结果filterSize = fix(bestX(1));
termIter = 30;
T = fix(bestX(2));
M = fix(bestX(3));
plotMode = 0;
%--------------- Run actual mckd code:数据进行mckd分解---------------------------
[y_final,~,~] = mckd(data,filterSize,termIter,T,M,plotMode);

代码目录如下:

ae97bfb60536c83796c4f50bde1eaee1.png

运行时,先运行Simulate_impact_signal.m可以生成一个故障模拟信号,然后运行main.m即可。

05代码获取

   完整代码获取,点击下方卡片回复关键词:

MCKD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 399-除法求值

法一:并查集 分析示例1: a / b 2.0 a/ b 2.0 a/b2.0,说明 a 2 b a2b a2b, a a a和 b b b在同一个集合中 b / c 3.0 b/c3.0 b/c3.0,说明 b 3 c b3c b3c, b b b和 c c c在同一个集合中 求 a / c a/…

24届近5年重庆邮电大学自动化考研院校分析

今天给大家带来的是重庆邮电大学控制考研分析 满满干货~还不快快点赞收藏 一、重庆邮电大学 学校简介 重庆邮电大学简称"重邮",坐落于直辖市-重庆市,入选国家"中西部高校基础能力建设工程”、国家“卓越工程师教育培养计划…

c51单片机16个按键密码锁源代码(富proteus电路图)

注意了:这个代码你是没法直接运行的,但是如果你看得懂,随便改一改不超过1分钟就可以用 #include "reg51.h" #include "myheader.h" void displayNumber(unsigned char num) {if(num1){P10XFF;P10P11P14P15P160;}else if…

PyCharm新手入门指南

安装好Pycharm后,就可以开始编写第一个函数:Hello World啦~我们就先来学习一些基本的操作,主要包含新建Python文件,运行代码,查看结果等等。 文章主要包含五个部分: 一、界面介绍 主要分为菜单栏、项目目录…

开发工具Eclipse的使用之导入项目(import)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Eclipse使用的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.导读 二.详细操作步骤 1.右击项…

吐血整理,Python接口自动化测试-接口关联依赖处理(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 场景说明 在面试…

cpolar的基础使用方法

如何使用cpolar内网穿透? 文章目录 如何使用cpolar内网穿透?前言1. 在群辉NAS系统下安装cpolar套件2. 管理隧道列表3. 创建固定数据隧道 前言 群晖作为大容量存储系统,既可以作为个人的私有存储设备,也可以放在小型企业中作为数据…

基于微信小程序的传染病酒店隔离平台设计与实现(Java+spring boot+MySQL+微信小程序)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的传染病酒店隔离平台设计与实现(Javaspring bootMySQL微信小程序) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:…

回归决策树模拟sin函数

# -*-coding:utf-8-*- import numpy as np from sklearn import tree import matplotlib.pyplot as pltplt.switch_backend("TkAgg") # 创建了一个随机数生成器对象 rng rngnp.random.RandomState(1) print("rng",rng) #5*rng.rand(80,1)生成一个80行、1列…

clion run qt 问题汇总

一、Error copying file “D:/soft/QT/5.15.2/mingw81_64/bin/Qt5Cored.dll” to “D:/work/Ccode/qtproject/cmake-build-debug-qtmingw”.报错 查看路径下确实没有Qt5Cored.dll,只有Qt5Core.dll 注释掉cmakelist中的这三行 重新执行后成功 二、使用CLion编辑u…

【学习】若依源码(前后端分离版)之 “ 分页以及查询的功能实现”

大型纪录片:学习若依源码(前后端分离版)之 “ 分页以及查询的功能实现” 前端部分后端部分结语 包括代码生成也好,最原始的系统也好,若依里每个页面只要有数据,基本上就有分页的功能,所以理解分…

机器学习实战2决策树算法

文章目录 决策树算法核心是要解决两个的关键问题sklearn中的决策树模型sklearn建模步骤分类树Criterionrandom_state && splitter剪枝参数max_depthmin_samples_leaf&&min_samples_splitmax_features&&min_impurity_decrease确认最优剪枝参数目标权重参…

VR全景智慧文旅,用科技助力旅游业振兴

引言: 近年来,科技的迅猛发展将我们带入一个全新的数字化时代,而虚拟现实(Virtual Reality,简称VR)技术则以其令人惊叹的全新方式,影响着各个领域。其中,旅游业作为人们探索世界、体…

Camunda 7.x 系列【12】创建流程引擎

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. ProcessEngine2. 创建流程引擎2.1 Java API2.2 XML 配置2.3 Spring2.4 Spring Boot1. Pr…

【2.1】Java微服务:详解Hystrix

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: Java微服务 ✨特色专栏: 知识分享 &am…

VGG16模型详解

VGG16模型详解 0、VGG16介绍 VGG16是一种深度卷积神经网络,由牛津大学的研究团队于2014年开发。 VGG16在2014年的ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 竞赛中取得了显著的成绩。它在图像分类任务中获得了当年的第二名,其准确…

matplotlib 笔记 plt.grid

用于添加网格线 主要参数 visible 布尔值,True表示画网格 which表示要显示的刻度线类型,可以是 major(主刻度)或 minor(次刻度),或者同时显示(both)alpha 透明度 …

音视频--视频数据传输

参考文献 H264码流RTP封装方式详解:https://blog.csdn.net/water1209/article/details/126019272H264视频传输、编解码----RTP协议对H264数据帧拆包、打包、解包过程: https://blog.csdn.net/wujian946110509/article/details/79129338H264之NALU解析&a…

【Redis】初学Redis

目录 使用Redisyum安装redis启动redis操作redis设置远程连接 Redis路线Redis 使用Redis yum安装redis 使用命令,直接将Redis安装到linux服务器: yum -y install redis启动redis redis-server /etc/redis.conf &操作redis redis-cli设置远程连接…

Shopee虾皮买家号注册时需要注意什么问题

虾皮是一家在线购物平台,如果您打算在虾皮上注册一个买家账号,以下是一些需要注意的问题: 账号安全:确保您选择一个安全的密码,并定期更改密码,以保护您的账号免受未经授权的访问。 个人信息:…