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

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

        今天为大家介绍一个小众而又新颖的信号分解方法,这个方法也是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

优快云海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b或2023b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪(CEEMDAN)、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 1. EMD(经验模态分解,Empirical Mode Decomposition) 2. TVF-EMD(时变滤波的经验模态分解,Time-Varying Filtered Empirical Mode Decomposition) 3. EEMD(集成经验模态分解,Ensemble Empirical Mode Decomposition) 4. VMD(变分模态分解,Variational Mode Decomposition) 5. CEEMDAN(完全自适应噪声集合经验模态分解,Complementary Ensemble Empirical Mode Decomposition with Adaptive Noise) 6. LMD(局部均值分解,Local Mean Decomposition) 7. RLMD(鲁棒局部均值分解, Robust Local Mean Decomposition) 8. ITD(固有时间尺度分解,Intrinsic Time Decomposition) 9. SVMD(逐次变分模态分解,Sequential Variational Mode Decomposition) 10. ICEEMDAN(改进的完全自适应噪声集合经验模态分解,Improved Complementary Ensemble Empirical Mode Decomposition with Adaptive Noise) 11. FMD(特征模式分解,Feature Mode Decomposition) 12. REMD(鲁棒经验模态分解,Robust Empirical Mode Decomposition) 13. SGMD(辛几何模态分解,Spectral-Grouping-based Mode Decomposition) 14. RLMD(鲁棒局部均值分解,Robust Intrinsic Time Decomposition) 15. ESMD(极点对称模态分解, extreme-point symmetric mode decomposition) 16. CEEMD(互补集合经验模态分解,Complementary Ensemble Empirical Mode Decomposition) 17. SSA(奇异谱分析,Singular Spectrum Analysis) 18. SWD(群分解,Swarm Decomposition) 19. RPSEMD(再生相移正弦辅助经验模态分解,Regenerated Phase-shifted Sinusoids assisted Empirical Mode Decomposition) 20. EWT(经验小波变换,Empirical Wavelet Transform) 21. DWT(离散小波变换,Discraete wavelet transform) 22. TDD(时域分解,Time Domain Decomposition) 23. MODWT(最大重叠离散小波变换,Maximal Overlap Discrete Wavelet Transform) 24. MEMD(多元经验模态分解,Multivariate Empirical Mode Decomposition) 25. MVMD(多元变分模态分解,Multivariate Variational Mode Decomposition)
优快云海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b或2023b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪(CEEMDAN)、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 1. EMD(经验模态分解,Empirical Mode Decomposition) 2. TVF-EMD(时变滤波的经验模态分解,Time-Varying Filtered Empirical Mode Decomposition) 3. EEMD(集成经验模态分解,Ensemble Empirical Mode Decomposition) 4. VMD(变分模态分解,Variational Mode Decomposition) 5. CEEMDAN(完全自适应噪声集合经验模态分解,Complementary Ensemble Empirical Mode Decomposition with Adaptive Noise) 6. LMD(局部均值分解,Local Mean Decomposition) 7. RLMD(鲁棒局部均值分解, Robust Local Mean Decomposition) 8. ITD(固有时间尺度分解,Intrinsic Time Decomposition) 9. SVMD(逐次变分模态分解,Sequential Variational Mode Decomposition) 10. ICEEMDAN(改进的完全自适应噪声集合经验模态分解,Improved Complementary Ensemble Empirical Mode Decomposition with Adaptive Noise) 11. FMD(特征模式分解,Feature Mode Decomposition) 12. REMD(鲁棒经验模态分解,Robust Empirical Mode Decomposition) 13. SGMD(辛几何模态分解,Spectral-Grouping-based Mode Decomposition) 14. RLMD(鲁棒局部均值分解,Robust Intrinsic Time Decomposition) 15. ESMD(极点对称模态分解, extreme-point symmetric mode decomposition) 16. CEEMD(互补集合经验模态分解,Complementary Ensemble Empirical Mode Decomposition) 17. SSA(奇异谱分析,Singular Spectrum Analysis) 18. SWD(群分解,Swarm Decomposition) 19. RPSEMD(再生相移正弦辅助经验模态分解,Regenerated Phase-shifted Sinusoids assisted Empirical Mode Decomposition) 20. EWT(经验小波变换,Empirical Wavelet Transform) 21. DWT(离散小波变换,Discraete wavelet transform) 22. TDD(时域分解,Time Domain Decomposition) 23. MODWT(最大重叠离散小波变换,Maximal Overlap Discrete Wavelet Transform) 24. MEMD(多元经验模态分解,Multivariate Empirical Mode Decomposition) 25. MVMD(多元变分模态分解,Multivariate Variational Mode Decomposition)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值