基于改进麻雀算法优化变分模态分解(IAMSSA—VMD)的信号分解方法

0、前言

        前期博文提出了融合Cat混沌映射+精英反向策略+tent扰动+柯西变异的改进麻雀优化算法(IAMSSA),本期博文将IAMSSA应用于VMD模态数K与 惩罚因子(也称平衡参数)alpha的优化,适应度函数为包络熵,以最小化包络熵为目标优化VMD的模态数K与 惩罚因子alpha。

1、优化实现

        融合Cat混沌映射+精英反向策略+tent扰动+柯西变异的改进麻雀优化算法(IAMSSA)的理论

点击。确定VMD待优化参数及范围以及改进麻雀优化算法(IAMSSA)的相关参数:

%% 设定改进的麻雀搜索算法参数
popsize =10;   % 种群大小,可更改
iter = 10;   % 最大迭代次数,可更改
dim = 2;   % VMD变量个数
lb = [100 3];   % alpha范围 K范围   下限
ub = [2000 7];  % 上限
ST = 0.6;%预警值
PD = 0.7;%发现者的比列,剩下的是加入者
SD = 0.2;%意识到有危险麻雀的比重

PDNumber = round(SearchAgents_no*PD); %发现者数量
SDNumber = round( SearchAgents_no*SD);%意识到有危险麻雀数量

        参数优化过程:

   

 进化曲线:

优化结果:

最小的局部包络熵为: 10.2873
最优参数alpha K分别为: 1.0e+03 *1.1829    0.0070
各IMF分量的包络熵分别为: 
    9.8120
    9.7683
    9.7608
    9.8388
    9.5426
    9.7379
    9.7879

  优化后的VMD分解结果:

   (1)时域分解结果

 (2)分解所得imf分量的频域分析:

 未优化VMD分解分析:

按照经验设置参数:

%% 未优化VMD分解结果
alpha=1000;  % 惩罚因子,也称平衡参数
K=5;  % 分解的模态数
tau = 0;            % 噪声容忍度
DC = 0;             % 无直流分量
init = 1;           % 初始化中心频率为均匀分布
tol = 1e-7;         % 收敛准则容忍度

(1)时域分解结果

(2)频域分析 

 

 3、代码列表

 

 

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
鲸鱼算法优化变分模态分解算法 Python 版本是一种基于鲸鱼算法优化方法,用于优化变分模态分解算法变分模态分解是一种有效的信号处理技术,可用于提取原始信号中的成分并进行分析。 鲸鱼算法是一种基于自然界中鲸鱼集群行为的优化算法。这种算法受到鲸鱼族群中领导者和追随者之间的关系的启发,通过在搜索空间中更新候选解来优化问题。 为了将鲸鱼算法应用于变分模态分解中,我们需要将优化问题定义为最小化目标函数的形式。这个目标函数可以是变分模态分解算法中的残差平方和,在该过程中,我们通过优化过程来寻找最佳的模态函数和成分矩阵,以最小化残差。 下面是使用 Python 编写鲸鱼算法优化变分模态分解算法的基本步骤: 1. 初始化鲸鱼种群,包括鲸鱼位置和速度信息。 2. 对于每个鲸鱼,基于当前位置和速度计算目标函数的值。 3. 找到当前种群中最优解,并记录其适应度值。 4. 根据鲸鱼间的距离和适应度值,更新鲸鱼的速度和位置。 5. 根据鲸鱼的速度和位置信息,对变分模态分解算法进行优化。 6. 重复步骤2至5,直到达到最大迭代次数或收敛。 通过使用鲸鱼算法优化变分模态分解算法,我们可以获得更准确的成分矩阵和模态函数,从而提高信号处理的效果。Python 是一种强大的编程语言,具有丰富的函数库和工具,可以方便地实现鲸鱼算法变分模态分解算法优化过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值