【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)

news2024/11/23 21:20:53

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


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


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

📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥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代码实现

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

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

相关文章

动态网站开发讲课笔记06:JSP技术

文章目录零、本节学习目标一、JSP概述&#xff08;一&#xff09;什么是JSP1、JSP的概念2、JSP的特征&#xff08;1&#xff09;跨平台&#xff08;2&#xff09;业务代码相分离&#xff08;3&#xff09;组件重用&#xff08;4&#xff09;预编译&#xff08;二&#xff09;编…

Kettle(9.3.0)连接ClickHouse

注意&#xff1a;低版本的kettle即使装ClickHouse驱动包后也不一定支持ClickHouse数据库连接&#xff08;具体kettle从什么版本开始支持ClickHouse没测试过&#xff09;&#xff0c;只有高版本的kettle在安装ClickHouse驱动包后才支持ClickHouse数据库连接&#xff0c;因此这里…

海康工业相机USB相机问题排查思路—Windows 系统

​第一步骤:固件版本 a) 查看相机固件版本 b) 若较老建议升级成最新固件后再测试异常是否消失。 注意切勿跨大版本升级; 第二步骤:驱动排查查看客户端中 USB 相机枚举列表中的相机图标,正常情况下如图 2-1:若有“2”的字样(如图 2-2),则说明 PC 的 USB 口是 2.0 的,…

故障注入的方法与工具

可靠性是评估软件质量的重要属性&#xff0c;关键安全系统&#xff08;Safety Critical Systems&#xff0c;SCS&#xff09;对可靠性的要求尤为严格&#xff0c;因其一旦失效&#xff0c;将可能对生命、财产或环境造成重大损害。以汽车为例&#xff0c;ISO26262中ASIL D要求相…

TCP三次握手四次挥手及time_wait状态解析

TCP的建立——三次握手 1.服务器必须准备好接受外来的连接。通常通过调用socket&#xff0c;bind&#xff0c;listen这三个函数来完成&#xff0c;我们称之为被动打开(passive open)。 2. 客户端通过调用connect函数发起主动的打开(active open)。这导致客户TCP发送一个SYN(同步…

【分享】除了压缩文件,WinRAR还有这些好用的功能

WinRAR是一款功能强大的压缩软件&#xff0c;可以解压缩RAR、ZIP及其它类型文件。但很多人不知道&#xff0c;除了解压、压缩文件&#xff0c;WinRAR还有其他的功能&#xff0c;今天小编就来分享一下。 功能一&#xff1a;锁定文件&#xff0c;禁止增删或修改压缩包里的文件 W…

国内外人工智能AI工具网站大全(一键收藏,应有尽有)

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 国内外人工智能AI工具网站大全&#xff08;一键收藏&#xff0c;应有尽有&#xff09;摘要一、AI写作工具二、AI图像工具2.1、常用AI图像工具2.2、AI图片插画生成2.3、AI图片背景移除…

基于电子商务平台客户管理系统的设计与实现_kaic

摘要 本论文旨在设计和实现一个基于电子商务平台的客户关系管理系统&#xff0c;以提高企业与客户之间的互动和关系维护效率。本文首先介绍了客户关系管理系统的相关理论和技术&#xff0c;并分析了其在电子商务平台中的应用价值。接着&#xff0c;进行了电子商务平台客户关系管…

微信小程序python+vue今日菜谱美食点赞收藏评价系统

谈到外出就餐&#xff0c;我们除了怕排队&#xff0c;也怕这家餐厅的服务员不够用&#xff0c;没人为我们点餐&#xff0c;那么一餐饭排队一小时&#xff0c;点餐恐怕也要花个半小时&#xff0c;这样不仅给消费者的用餐体验大打折扣同时也给商家的口碑造成了严重负面的影响&…

【LeetCode: 剑指 Offer II 090. 环形房屋偷盗(打家窃舍) | 暴力递归=>记忆化搜索=>动态规划】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

不可区分混淆:GGH+13

参考资料&#xff1a; Joe Kilian. Founding cryptography on oblivious transfer. In Janos Simon, editor, STOC, pages 20–31. ACM, 1988.Barak B, Goldreich O, Impagliazzo R, et al. On the (im) possibility of obfuscating programs[C]//Advances in Cryptology—CRY…

音视频八股文(2)--ffmpeg常见命令(1)

官方文档&#xff1a; https://www.ffmpeg.org/ffplay-all.html https://www.ffmpeg.org/ffmpeg-all.html 01-Windows FFMPEG命令行环境搭建 要在Windows系统上使用FFmpeg命令行&#xff0c;可以按照以下步骤搭建环境&#xff1a; 1.访问FFmpeg官方网站&#xff0c;下载已经…

《趣学数据结构》大纲

文章目录趣学数据结构一、数据结构入门&#xff08;一&#xff09;数据结构的基础知识1、基本概念&#xff08;1&#xff09;数据&#xff08;2&#xff09;数据元素&#xff08;3&#xff09;数据项&#xff08;4&#xff09;数据对象&#xff08;5&#xff09;数据结构2、逻辑…

利用在线Linux内核代码阅读分析网站linux kernel map分析CFS调度器代码调用链路

linux kernel map网址 https://makelinux.github.io/kernel/map/ 源码分析 点击Scheduler标签内的kernel/sched/ 左侧菜单&#xff0c;选择一个内核版本 Search Identifier搜索框输入要搜索的函数&#xff0c;回车执行搜索 结果列出了一处函数定义及两处引用 新窗口打开定义 …

14.Java面向对象----Object类

Object类 Java中Object 类是所有类的父类&#xff0c;也就是说 Java 的所有类都继承了 Object&#xff0c;子类可以使用 Object 的所有方法。 Object 类位于 java.lang 包中&#xff0c;编译时会自动导入&#xff0c;我们创建一个类时&#xff0c;如果没有明确继承一个父类&am…

【Spark】介绍 快速入门

目录 介绍 Spark and Hadoop Spark or Hadoop 核心模块 Spark Core Spark SQL Spark Streaming Spark MLlib Spark GraphX 快速上手 来源&#xff1a; 介绍 Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 Spark and Hadoop HadoopHadoop 是由 java…

Linux 网络I/O模型

一、Linux下面的I/O模型 Linux下面一共有五种可以使用的I/O模型&#xff0c;如下&#xff1a; 1&#xff09;阻塞式I/O 2&#xff09;非阻塞式I/O 3&#xff09;I/O多路复用&#xff08;select与epoll&#xff09; 4&#xff09;信号驱动式I/O 5&#xff09;异步I/O 下面重点介…

知识图谱-实体抽取

命名实体识别&#xff08;Named Entity Recognition&#xff0c;简称NER&#xff09;是信息抽取、问答系统、句法分析、机器翻译等应用领域的重要基础工具&#xff0c;在自然语言处理技术走向实用化的过程中占有重要地位。一般来说&#xff0c;命名实体识别的任务就是识别出待处…

【产品设计】电商后台系统设计--库存

电商后台产品&#xff0c;涉及众多模块&#xff0c;而以商品、订单、库存为核心模块&#xff0c;模块间存在大量交互。库存决定商品是否可售卖&#xff0c;下单是否能成功。 电商中的库存管理是为了保证前台商品的正常售卖&#xff0c;库存的管理和仓库密不可分&#xff0c;而仓…

Midjourney详细注册和使用教程

来源&#xff1a;Midjoureny详细注册使用教程【探索ChatGPT】 Midjourney&#xff0c;用户只需要输入一段图片的文字描述&#xff0c;即可生成精美的绘画&#xff0c;相信了解Midjourey的小伙伴已经对它强大之处而赞叹&#xff01; 下面是用通俗易懂的步骤教会大家如何注册和…