特征模态分解(FMD):一种小众而又新颖的分解方法

news2024/10/5 9:18:20

       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 

        今天为大家介绍一个小众而又新颖的信号分解方法,这个方法也是2023年刚提出来的一个新算法,最初是用作故障诊断当中。目前,知网和WOS用的都还很少,只有寥寥数篇,非常适合作为创新点,也能让审稿人眼前一亮。

        这个算法发表在SCI一区期刊《IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS》上,这个SCI期刊想必大家心里也都有数,IEEE系列信号处理领域的一区顶刊,想发一篇这个难度还是非常大的。

        传统的EMD分解方法最为人所熟知,但存在模态混叠、理论依据不足等缺点,而理论基础扎实的VMD算法并未考虑信号的脉冲特性和冲击特性。另外,这些分解算法已经快被彻底用烂了,尤其是光伏功率预测、风电功率预测或者是故障诊断等方面,更是重灾区。

        因此,为有效提升信号处理方法的性能,提高特征提取的准确性,我们本期要介绍的是MiaoYH等作者在2023年提出了一种全新非平稳信号处理方法——特征模态分解(FMD)

        简单来说,这个方法以解卷积的相关峭度为目标函数,通过建立自适应有限脉冲响应滤波器组并结合相关函数以实现故障周期的判别最终将信号分解为多个模态分量和的形式。

        不同于其他信号分解方法,FMD充分考虑了信号的周期与冲击特性,在保证对信号故障特征敏感的同时对干扰和噪声成分具有一定的鲁棒性。

        这边以某一原始信号为例(该信号无实际含义),展示一下运行结果。

        首先输入一列Excel信号,当然你有mat文件更好,直接load xx.mat即可在Matlab中读取文件。这边为了方便新手小白,以Excel文件为例,在替换数据时直接替换一列Excel数据即可。

        首先看一下原始信号图:

        设置滤波器个数为30,分解个数为5,最大迭代次数为20,得到的分解图和频谱图如下所示。

        同时计算均方根误差、信噪比与各分量相关系数,结果显示在命令行窗口中。可以看到,这段信号的均方根误差为138.4361,信噪比为-0.8315。

        总体来看,结合论文里的说法,这个算法具有以下几个优点:

        (1)同时考虑信号的冲动性和周期性,FMD分解目标对机械故障具有针对性,对其他干扰和噪声具有鲁棒性。

        (2)采用自适应FIR滤波器提取分解模式。不受滤波器形状、带宽、中心频率的限制,分解更加彻底。

        (3)在不以故障周期为先验知识的情况下,FMD可以准确分解机械故障信息,特别是在不同频带占主导地位的复杂故障。

        如果大家对这个算法有兴趣,想要拿去写论文,也都是完全没有问题的。为了方便大家写作,这边也给出算法的详细计算过程:

        (1)初始化迭代参数及FIR滤波器组加窗数K,令i=1、K=5~10,输入主要分解参数(模态个数n,滤波器长度L)

        (2)根据uik=x*fik获得分解后模态分量其中k=1,2,…,K,*为卷积计算。

        (3)滤波系数根据原始信号x(t)、分解所得模态分量uik以和预估信号故障周期Tik(Tik为uik自相关谱经过零点后所到达局部最大值Rik所对应的时刻)进行更新,令 i=i+1。

        (4)判定当前迭代过程是否达到最大迭代次数,如果达到,则返回步骤(3);否则,继续执行步骤(5)。

        (5)计算两相邻模态分量间相关系数,建立一KxK的相关矩阵CCk*k,并同预估信号故障周期Z计算两者的相关峭度,选取相关峭度较大的模态分量为分解所得分量,令K=K-1。

        (6)判定当前模态数量是否达到设置的数量n,如果达到,则分解停止,输出结果;如果没达到,则返回步骤2,继续上述操作。

        以上所有图片,一键运行main即可全部出图,非常清晰。文件夹里也会输出各结果的Excel,并附带原始参考文献,适合新手小白。

        想要以上Matlab代码的,只需点击下方小卡片,再后台回复关键词,不区分大小写:

FMD

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

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

相关文章

HyperLogLog的使用做UV统计

使用Jedis连接Redis并操作HyperLogLog import redis.clients.jedis.Jedis;public class RedisHyperLogLogExample {public static void main(String[] args) {// 连接到本地的Redis服务Jedis jedis new Jedis("localhost", 6379);String hyperLogLogKey "hll…

智慧安防系统:构建更安全的社区环境

随着科技的不断进步,人们的生活质量得到了显著提高。然而,与此同时,社会治安问题也日益凸显。为了维护社会的和谐稳定,提高人们的生活安全感,智慧安防系统应运而生。本文将为您详细介绍智慧安防系统的项目背景、需求分…

默认成员函数:析构、深浅拷贝

析构函数 析构函数:与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 特性 析构函数名时在类名前面加上字符~ class D…

Python 全栈体系【四阶】(四十三)

第五章 深度学习 九、图像分割 3. 常用模型 3.4 DeepLab 系列 3.4.1 DeepLab v1(2015) 3.4.1.1 概述 图像分割和图像分类不一样,要对图像每个像素进行精确分类。在使用CNN对图像进行卷积、池化过程中,会导致特征图尺寸大幅度下降、分辨率降低&…

旧手机-基于Termux配置服务器(不用拿去换钢盆了)

Hi,大家好,我是抢老婆酸奶的小肥仔。 大家用手机这么多年了,手上或多或少都有一两个被替换下来的旧手机,也不用拿去换啥钢盆了,使用Termux可以将旧手机改造成一个服务器。 不多说,直接开干。 1、安装app…

Java应用程序的本地内存跟踪分析

本文将讨论本机内存跟踪 (NMT),我们可以使用它来隔离在 VM 级别增长的任何异常内存。 1.什么是本机内存? 本机内存是指计算机系统上运行的应用程序或程序可直接访问的内存空间。它是程序在执行期间存储和操作数据的内存区域。本机内存不同于托管内存&a…

单调栈练习

最大矩形面积 如果栈为空&#xff0c;或者新的元素是大于栈顶元素的&#xff0c;那么新来的元素不会破坏栈的单调性&#xff0c;那么就把这个柱子入栈。 特别注意&#xff1a;这里的s.empty()和s.top().height < a不能调换顺序&#xff0c;包括后面的判断也要先判断栈是否为…

分析 vs2019 cpp20 规范的 STL 库模板 function ,源码注释并探讨几个问题

&#xff08;1 探讨一&#xff09;第一个尝试弄清的问题是父类模板与子类模板的模板参数的对应关系&#xff0c;如下图&#xff1a; 我们要弄清的问题是创建 function 对象时&#xff0c;传递的模板参数 _Fty , 传递到其父类 _Func_class 中时 &#xff0c;父类的模板参数 _Ret…

QT状态机4-使用并行状态来避免组合爆炸

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent):

基于EKF扩展卡尔曼滤波的一阶环形倒立摆控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于EKF扩展卡尔曼滤波的一阶环形倒立摆控制系统simulink建模与仿真。基于扩展卡尔曼滤波&#xff08;Extended Kalman Filter, EKF&#xff09;的一阶环形倒立摆控制系统&…

分布式搜索-elaticsearch基础 安装es

这里是在虚拟机的Linux系统里安装es的教程: 1.创建网络 在Finashell终端输入指令 docker network create es-net 2.将es.tar安装包放入tmp的目录下 输入指令加载镜像&#xff1a;docker load -i es.tar 3.再运行docker 命令 docker run -d \--name es \-e "ES_JAVA_O…

NVM安装及VUE创建项目的N种方式

VUE 参考官网&#xff1a;https://cli.vuejs.org/zh/guide/ NVM安装 我们开发过程中常常遇到nodejs版本不适配的问题&#xff0c;需要切换到不同版本的nodejs&#xff0c;nodejs卸载安装麻烦&#xff0c;这就需要用到nvm了。 nvm 全名 node.js version management 顾名思义是…

基于SVPWM的飞轮控制系统的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于SVPWM的飞轮控制系统的simulink建模与仿真。SVPWM的核心思想是将逆变器输出的三相电压矢量在两相静止坐标系&#xff08;αβ坐标系&#xff09;中表示&#xff0c;通过控…

苹果智能戒指新专利,用于与VR头显或Vision Pro配合使用

近日&#xff0c;美国专利商标局向苹果公司授予了一项新专利&#xff0c;该专利涉及一种可扩展的智能戒指配件。最新的专利指出&#xff0c;该配件专门用于与VR头显或Vision Pro配合使用&#xff0c;这比戴VR手套更准确&#xff0c;用户可以根据应用场景佩戴一个或多个戒指。 …

一本书打通SLAM在智能汽车/自动驾驶领域应用

自动驾驶技术已成为当今数字化时代汽车行业的热点话题之一。随着技术的不断成熟&#xff0c;越来越多的车辆采用激光SLAM&#xff08;即时定位与地图构建&#xff09;和视觉SLAM技术&#xff0c;实现更高层次的智能网联汽车。SLAM技术在智能网联汽车中的应用是非常重要的&#…

数据结构——01-抽奖数人-链表-实验题目与解答

数据结构抽奖数人链表实验题目与解答 一、**实验题目** 抽奖游戏&#xff1a; n个人围成一圈&#xff0c;由第一个人开始&#xff0c;依次报数&#xff0c;数到第m人&#xff0c;便抽出来作为中奖人&#xff0c;然后从他的下一个人数起&#xff0c;数到第m人&#xff0c;再抽…

免费思维13招之十一:利润型思维

免费思维13招之十一:利润型思维 免费思维的另一大战略思维——利润型思维。 什么是利润型思维呢?就是用后期的利润来支付现在的成本。也就是“花未来的钱,办现在的事”。 我们在销售自己的产品时候,最容易犯的一个件事,就是降价,我们先来看一个案例: 前几年,有一个卖…

2025CISP深圳国际体育展引领运动潮流,展中国体育辉煌

2025CISP深圳国际体育展将于2月27日至3月1日在深圳福田会展中心举行&#xff0c;参展企业超300家&#xff0c;展览规模达20000平方米&#xff0c;参展企业数量、品牌和产品品类均创历史新高。现场汇集了全球最前沿的体育用品&#xff0c;成为体育产业的风向标。无论你是体育爱好…

ubuntu20.04 ROS 环境下使用速腾80线激光雷达

1.相关系统环境 系统版本:ubuntu 20.04 ROS版本&#xff1a;ROS1 - noetic 激光雷达型号&#xff1a;RoboSense Ruby &#xff08;更新于2024.5.14&#xff09; 2.网口配置&#xff1a; 将PC/工控机的网口配置为&#xff1a; ipv4&#xff0c;方式设置为手动 ip地址、掩码以…

WD—C++课前作业—30题

怎么会手和脚都在桌子上 目录 31&#xff0c;声明一个类 String,其数据成员为 char head[100],构造函数 String(char*Head)实现 head 的初始化&#xff0c;成员函数 void reverse()实现 head 内字符串的逆序存放&#xff0c;成员函数 void print()实现 head 内字符串的输出。…