【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥
🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳ 座右铭:行百里者,半于九十。
📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现
💥1 概述
形态学滤波是从集合论推导出的典型非线性信号处理方法。在这种方法中,可以通过与指定的结构元件(SE)相互作用来挖掘信号中的脉冲特征。SE的参数(即形状、高度和长度)选择对形态过滤结果有重要影响。针对该问题,该文提出一种自适应时变形态滤波(ATVMF)方法。ATVMF可以根据待分析信号的固有特性自适应地确定SE的形状和尺度,有效提高瞬态特征提取能力和计算效率。此外,还提出了广义形态产物算子(GMPO)的定义,可以构造新的形态积算子进行特征提取。
📚2 运行结果
部分代码:
function [ y ] = ATVMF( x, interp_method, operator )
% Algorithm name: Adaptive Time-Varying Morphological Filtering (ATVMF)
%
% Algorithm description: This method can achieve adaptive morphological filtering,
% in which a time-varying structure element (TVSE) is adaptively designed
% based on the characteristics of a signal and is no longer fixed.
%
% Input:
% x: signal to be analyzed (a vector)
% interp_method: selected interpllation method, such as 'spline', 'pchip',
% 'linear' and 'nearest', in which 'spline' is recommended.
% 'spline' -- cubic spline interpolation
% 'pchip' -- cubic Hermitian interpolation
% 'linear' -- piecewise linear interpolation
% 'nearest' -- nearest neighbor interpolation
% operator: selected morphological operator, see sub-function 'MF_operator'
%
% Output:
% y: morphological filtered signal
x = x(:)-mean(x); % a vector
N = length(x);
[indmin, indmax] = extreme_points(x); % Determine the location of local minima and maxima
% indmin -- the position of the local minimum point in the sequence x
% indmax -- the position of the local maximum point in the sequence x
tmin = indmin;
tmax = indmax;
xmin = x(tmin); % The magnitude of the local minimum point
xmax = x(tmax); % The magnitude of the local maximum point
% Sorting of local minimum and maximum points
textra = zeros(1,length(tmin)+length(tmax));
xextra = zeros(1,length(xmin)+length(xmax));
if tmin(1) < tmax(1) % The first extreme point is the minimum point
if tmin(end) > tmax(end) % The last extreme point is the minimum point
textra(1) = tmin(1);
xextra(1) = xmin(1);
for i = 1:length(tmax)
textra(2*i) = tmax(i);
textra(2*i+1) = tmin(i+1);
xextra(2*i) = xmax(i);
xextra(2*i+1) = xmin(i+1);
end
else % The last extreme point is the maximum point
for i = 1:length(tmax)
textra(2*i-1) = tmin(i);
textra(2*i) = tmax(i);
xextra(2*i-1) = xmin(i);
xextra(2*i) = xmax(i);
end
end
else % The first extreme point is the maximum point
if tmin(end) < tmax(end) % The last extreme point is the maximum point
textra(1) = tmax(1);
xextra(1) = xmax(1);
for i = 1:length(tmin)
textra(2*i) = tmin(i);
textra(2*i+1) = tmax(i+1);
xextra(2*i) = xmin(i);
xextra(2*i+1) = xmax(i+1);
end
else % The last extreme point is the minimum point
for i = 1:length(tmin)
textra(2*i-1) = tmax(i);
textra(2*i) = tmin(i);
xextra(2*i-1) = xmax(i);
xextra(2*i) = xmin(i);
end
end
end
% Selection of 'interp_method'
env = interp1(textra,xextra,textra(1):textra(end),interp_method);
delta = textra(1)-1;
S = length(indmin)-1; % number of SE
y = []; % output initialization
for s = 1:S
xnew = x(indmin(s)+1:indmin(s+1));
g = env(indmin(s)+1-delta:indmin(s+1)-delta);
g = g-min(g);
% the morphological filtering result
ynew = MF_operator( xnew, g, operator );
y = [y; ynew];
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% sub-function
function d = dilation(f,g)
% Morphological dilation operation
N = length(f);
M = length(g);
dtmp = f;
for i = 1:N
for j = 1:M
if (i-j) >= 1 && (i-j) <= N
tmp = f(i-j) + g(j);
if tmp > dtmp(i)
dtmp(i) = tmp;
end
end
end
end
d = dtmp;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% sub-function
function e = erosion(f,g)
% Morphological erosion operation
N = length(f);
M = length(g);
dtmp = f;
for i = 1:N
for j = 1:M
if (i+j) >= 1 && (i+j) <= N
tmp = f(i+j) - g(j);
if tmp < dtmp(i)
dtmp(i) = tmp;
end
end
end
end
e = dtmp;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% sub-function
function y = MF_operator( x, g, operator )
% Morphological operators
%
a1 = dilation(x,g); % dilation
a2 = erosion(a1,g); % closing
a3 = erosion(a2,g);
a4 = dilation(a3,g); % closing-opening
%
b1 = erosion(x,g); % erosion
b2 = dilation(b1,g); % opening
b3 = dilation(b2,g);
b4 = erosion(b3,g); % opening-closing
if strcmp(operator,'Gde') == 1
y = a1-b1;
elseif strcmp(operator,'Gco') == 1
y = a2-b2;
elseif strcmp(operator,'Gcooc') == 1
y = a4-b4;
elseif strcmp(operator,'AHde') == 1
y = x-(a1+b1)/2;
elseif strcmp(operator,'AHco') == 1
y = x-(a2+b2)/2;
elseif strcmp(operator,'AHcooc') == 1
y = x-(a4+b4)/2;
elseif strcmp(operator,'MGPO1') == 1
y = (a1-b1).*(a2-b2);
elseif strcmp(operator,'MGPO2') == 1
y = (a1-b1).*(a4-b4);
elseif strcmp(operator,'MGPO3') == 1
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]陈斌, 宋大鹏, 张伟, 程彦, 王志, 一种用于轴承故障诊断的性能增强时变形态滤波方法, 测量学报 (2021) 109163.
[2]陈斌, 程彦, 张文, 梅国, 用于轴承断层特征提取的增强数学形态算子研究, ISA Trans. (2021)
[3]B. Chen, D. Song, W. Zhang, Y. Cheng, Z. Wang, A performance enhanced time-varying morphological filtering method for bearing fault diagnosis, Meas. J. Int. Meas. Confed. 176 (2021) 109163.
[4]B. Chen, Y. Cheng, W. Zhang, G. Mei, Investigation on enhanced mathematical morphological operators for bearing fault feature extraction, ISA Trans. (2021). https://doi.org/10.1016/j.isatra.2021.07.027.
🌈4 Matlab代码实现
相关文章:
【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …...
水羊转债,超达转债,晓鸣转债上市价格预测
水羊转债 基本信息 转债名称:水羊转债,评级:A,发行规模:6.94987亿元。 正股名称:水羊股份,今日收盘价:13.94元,转股价格:13.71元。 当前转股价值 转债面值 /…...
从数据管理到数据资产管理
数据已经与土地、劳动力、资本、技术并称为五种生产要素,数据的价值是毋庸置疑的。数据甚至成为了国家的基础性战略资源,数字经济也正在成为经济增长的强大创新动力。那么—— 数据到底指的是什么? 数据管理又是怎么回事? 数据如何…...
RabbitMQ【#1】是什么,有什么用
RabbiMQ是什么? RabbitMQ是一种开源的消息队列软件,它实现了高级消息队列协议(AMQP)并支持多种编程语言。它可以用于将消息从一个应用程序传递到另一个应用程序或进程,并支持分布式系统中的异步消息通信。RabbitMQ的主…...
RabbitMQ防止消息丢失
生产者没有成功把消息发送到MQ 丢失的原因 :因为网络传输的不稳定性,当生产者在向MQ发送消息的过程中,MQ没有成功接收到消息,但是生产者却以为MQ成功接收到了消息,不会再次重复发送该消息,从而导致消息的丢…...
ImageJ用户手册——第二部分(ImageJ操作)
ImageJ用户手册-第二部分 ImageJ的使用4. 使用键盘快捷键5. 查找命令6. 撤消和重做7. 图像类型和格式原生格式非原生格式 8. 堆栈、虚拟堆栈、超堆栈Stacks(堆栈)Virtual Stacks(虚拟堆栈)Hyperstacks(超堆栈ÿ…...
Java中Lambda表达式(面向初学者)
目录 一、Lambda表达式是什么?什么场景下使用Lambda? 1.Lambda 表达式是什么 2.函数式接口是什么 第二章、怎么用Lambda 1.必须有一个函数式接口 2.省略规则 3.Lambda经常用来和匿名内部类比较 第三章、具体使用场景举例() …...
2023年淮阴工学院五年一贯制专转本数字电子技术考试大纲
2023年淮阴工学院五年一贯制专转本数字电子技术考试大纲 一、考核对象 本课程的考核对象是五年一贯制高职专转本电子科学与技术专业普通在校生考生。 二、考试目的及总体要求 通过本课程的考试,检查学生对掌握数字电路的基础理论知识的掌握程度,是否…...
使用 GO 编写 Web 应用:学习如何使用 GO 语言编写 Web 应用,包括使用 HTTP 路由、模板引擎等。
GO 语言是一个高效、可靠和简洁的编程语言,越来越多的开发者开始选择 GO 语言来编写 Web 应用。本文将介绍如何使用 GO 语言编写 Web 应用,并且将重点关注使用 HTTP 路由和模板引擎。 使用 HTTP 路由 HTTP 路由是 Web 应用中非常重要的一个概念。它可以帮助我们将请求路由到…...
Leetcode-day4【88】【167】【125】【345】
文章目录 88. 合并两个有序数组题目解题思路解题思路【学习】尾插入法 167. 两数之和 II - 输入有序数组题目解题思路 125. 验证回文串题目解题思路 345. 反转字符串中的元音字母题目解题思路 88. 合并两个有序数组 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums…...
【IoT】如何使用软件加密(文件夹加密工具.exe),并破解工具
目录 第一步:显示隐藏的文件。 第二步:将隐藏文件变成文件夹。 第三步:解密文件。 有时候出差或者有些商务场合,需要对一些敏感文件做一下简单的加密,这样在分享内容的时候,可以起到初步的保护作用。 当…...
Spring Boot——优雅的参数校验
🎈 概述 当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验,或者基础校…...
【c语言】typedef的基本用法 | 定义格式
创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…...
深度学习论文分享(二)Data-driven Feature Tracking for Event Cameras
深度学习论文分享(二)Data-driven Feature Tracking for Event Cameras(CVPR2023) 前言Abstract1. Introduction2. Related Work3. Method3.1. Feature Network3.2. Frame Attention Module3.3. Supervision 4. Experiments5. Con…...
蛇优化算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 蛇优化算法算法流程图初始化进化操作搜索阶段(无食物)——全局搜索搜索阶段(有食物)——局部搜索战斗模式交配模式 备…...
循环神经网络(RNN)简单介绍—包括TF和PyTorch源码,并给出详细注释
文章目录 循环神经网络(RNN)入门教程1. 循环神经网络的原理2. 循环神经网络的应用3. 使用keras框架实现循环神经网络3.1导入对应的库及加载数据集3.2.数据预处理3.3定义RNN模型3.4训练模型3.5测试模型 4.使用PyTorch框架实现上述功能—注释详细5.结论 循…...
Struts2 快速入门
Struts2 是一个基于 MVC 设计模式的 Java Web 应用程序框架,它可以帮助我们更加有效地开发 Web 应用程序。Struts2 采用了前端控制器模式,通过核心控制器 DispatchServlet 将所有请求进行集中处理,然后将请求分发到指定的 Action 中ÿ…...
关于PullToRefreshView下拉刷新失效问题
一、问题原因 昨天,突然一个问题丢在了我的头上,用户反馈说某某界面下拉刷新不好使啊,怎么回事。二话不说直接运行项目,经过测试,发现果然不好使。一看代码提交日期好家伙2020年,百思不得其解,…...
JAVA开发中的六大原则
JAVA开发中的六大原则,也被称为SOLID原则,是软件开发中常用的一组设计原则。这些原则提供了实现高质量、易于维护和可扩展软件的基本策略。 以下是JAVA开发中的六大原则以及它们的详细说明: 单一职责原则(Single Responsibility…...
Matplotlib 安装
Matplotlib 安装 本章节,我们使用 pip 工具来安装 Matplotlib 库,如果还未安装该工具,可以参考python 怎么使用pip进行包管理。 安装 matplotlib 库: pip install matplotlib 安装完成后,我们就可以通过 import 来…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
