【2025年1区SCI】最新信号分解方法-JMD的参数优化:15种适应度函数-matlab代码

引言

针对信号分解算法的参数优化,前期已经推出了VMD,CEEMDAN,FMD,SVMD,TYV-EMD等优异方法的参数优化(见:信号分解算法的参数优化还在火!发论文侧重点在哪儿?)。

本期推出2025年一款小众、最新、性能强大信号分解方法,Jump Plus AM-FM Mode Decomposition,JMD发表在信号领域顶级期刊 IEEE Transactions on signal processing(简称IEEE TSP),全新方法,知道的人很少,这口饭赶紧趁快吃呀

现实世界信号同时表现出两种行为,即跳跃和振荡。目前还没有一种方法可以直接从数据中提取跳变和AM-FM振荡分量。目前还没有一种方法可以直接从数据中提取跳变和AM-FM振荡分量。在新方法中,设计并解决了一个变分优化问题来完成这项任务。该方法解决了传统AM-FM信号分解方法在提取跳变方面的局限性,以及现有跳变提取方法在分解多尺度振荡方面的局限性。证明了该方法在合成、真实世界、单通道和多元数据上的有效性,强调了它在三个特定应用中的实用性:地球电场信号、心电图(ECG)和脑电图(EEG)。

然而,JMD的性能受到其参数的影响。手动调参是繁琐的、不经济的。可选择群智能优化算法(【重磅升级】超过410种!群智能优化算法Matlab代码免费获取(截至2025.10.21))对其参数进行自适应的选择

参照其他模态分解方法的参数优化方式,JMD参数优化的创新方式可以有两种:1,改进优化算法用于优化;2,提出新的适应度函数 。第一种很常见,第二种却不多。本期整理并复现了一些高水平EI、SCI期刊中的适应度函数,加上一些常规的适应度函数,目前一共15 种用以参数优化的适应度函数**。**

如有其他的适应度函数,可以告知我们文章链接进行复现,持续更新

复制代码
包络熵最小,Envelope entropy(水烂了)信息熵最小,Information entropy(水烂了)排列熵最小,Permutation entropy(水烂了)样本熵最小,Sample entropy(水烂了)能量熵最小,energy entropy能量差最小,energy error峭度最小,kurtosis平均包络熵最小,Average Envelope entropy模糊熵最小,Fuzzy entropy包络峭度因子最小,Envelope kurtosis包络谱峰值因子最小,crest factor of envelope spectrum最大互信息系数皮尔逊相关系数残差指数最小,residual error index (REI)互信息熵最小,Mutual Information

02. 使用说明

您仅需要做的工作是:

  1. 导入一维数据 。比如振动、声音、脑电、肌电、地震波、电能质量、径流、风速、交通流等一维数据。根据数据的格式,txt,csv,mat,dat,xlsx等,选择对应的导入方式(请灵活使用百度)。

  2. 选择适应度函数 。15种适应度函数繁琐、复杂的的编码工作已经帮各位小侠客们集成好了,方便调用和管理,自由切换 ,只需要输入1-15其中一个整数,就可以选择对应的适应度函数。非常方便,代码改动的工作量只有一个数字的量

    其中基于 最大互信息系数 的适应度函数是源自仪器、测量领域顶级期刊IEEE Transactions on Instrumentation and Measurement,质量保障基于 皮尔逊相关系数 的适应度函数是仿照最大互信息系数 全网首创 的适应度函数 (新的创新点、手慢无)。这些函数可构建复合指标函数,如果按两种排列组合,算一算也有15*14=210种!!!idea永动机

  3. 选择喜爱的优化算法 。示例代码中选择了利用灰狼优化算法GWO优化JMD的5个参数。依照参考文献设定了参数具体的范围,如下:

    公众号也发布了很多算法,它们大多都是以函数的形式编写,调用仅需一行代码。替换GWO即可,非常方便,代码工作量也仅一行 。比如使用哈里斯鹰优化算法HHO,下载HHO的代码,放在和GWO同一个文件下,然后在主程序相应位置里按HHO的输入、输出形式调用即可,即插即用。如果你想使用的算法不是函数的形式,请把它修改成函数形式,方便调用。

  4. 点击运行。你只管点运行,剩下的交给算法。imf分解结果自动保存为mat和excel中,还有丰富的结果图

03. 结果展示

我们以一段长度为1024的信号数据作为待分解数据,利用灰狼优化算法GWO优化JMD参数。为了快速验证算法,这里GWO的迭代次数为10次,种群个数为20。

迭代曲线

分解结果展示

2D,3D分解结果

各imf的幅值谱,频谱结果

希尔伯特谱结果

参考文献

Matlab代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

https://mp.weixin.qq.com/s/7BUJenbCFWS3ZOcO9VcoOA

点击链接跳转

400多种优化算法免费下载-matlab

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLihttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLi

求解cec测试函数-matlab

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

《一行破万法》:80余种改进策略仅需一行,可改进所有优化算法(附matlab代码)

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4Chttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4C

【有经典,有最新】24种信号分解方法(附matlab代码)

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

【分类新范式】28种一维数据转换成二维图像的方法-matlab代码

2025年故障诊断的创新思路在哪里?赶紧来学习这28种创新方法!https://mp.weixin.qq.com/s/EdRYeziIhnZE5zK0ZZhwmg

相关推荐
zmzb01033 小时前
C++课后习题训练记录Day44
开发语言·c++
smile_Iris3 小时前
Day 30 函数定义与参数
开发语言·python
老华带你飞3 小时前
医院挂号|基于Java医院挂号管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
豐儀麟阁贵3 小时前
9.6使用正则表达式
java·开发语言·数据库·mysql
kgduu3 小时前
go ethreum之Trie
开发语言·后端·golang
Aurorar0rua3 小时前
C Primer Plus 14.17 复习题
c语言·开发语言·数据结构
拾忆,想起3 小时前
Dubbo序列化异常终结指南:从精准诊断到根治与防御
开发语言·前端·微服务·架构·php·dubbo·safari
waves浪游3 小时前
进程控制(中)
linux·运维·服务器·开发语言·c++
0 0 04 小时前
CCF-CSP 36-3 缓存模拟(cache)【C++】
开发语言·c++·算法