• 【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码


    1 内容介绍

    一种基于WOAVMD算法的信号去噪方法,具体为:根据鲸鱼优化算法分别建立目标包围,发泡网攻击以及猎物搜寻的数学模型,然后进行初始化参数,在取值范围内初始化鲸鱼的位置向量,根据位置向量对原始振动信号进行VMD分解,然后计算每个鲸鱼位置下的平均包络熵;更新最小平均包络熵,即获得当前群体中最佳个体的位置更新当前鲸群个体的空间位置;输出最佳鲸鱼个体的位置向量,即得VMD的分解参数组合;根据所得到的分解参数组合对信号进行VMD分解,将分解出IMF分量相加得到重构信号,即得去噪后的信号.本发明解决了现有技术中存在的原始VMD算法的分解参数需要根据经验进行人工确定,导致无法得到最优分解结果,从而影响信号的去噪效果的问题.​

    2 仿真代码

    function ret = select(individuals, sizepop)

        fitness1 = 1 ./ individuals. fitness;

        sumfitness = sum(fitness1);

        sumf = fitness1 ./ sumfitness;

        index = [];

        for i = 1:sizepop

            pick = rand;

            while pick == 0

                pick = rand;

            end

            for i = 1:sizepop

                pick = pick - sumf(i);

                if pick < 0

                    index = [index, i];

                    break;

                end

            end

        end

        individuals. chrom = individuals. chrom(index, :);

        individuals. fitness = individuals. fitness(index);

        ret = individuals;

    end

    3 运行结果

    4 参考文献

    [1]刘嘉敏, 彭玲, 刘军委,等. 基于遗传算法的VMD参数优化与小波阈值的轴承振动信号去噪分析[C]// 第二十七届全国振动与噪声应用学术会议论文集. 2016.

    [2]李辉, 范邦稷, 翟芳,等. 一种基于WOA-VMD算法的信号去噪方法:, CN112597930A[P]. 2021.

    博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

  • 相关阅读:
    猎聘爬虫(附源码)
    git-secret:在 Git 存储库中加密和存储密钥(上)
    iPhone - 如何找到最顶层的视图控制器
    RDD的创建 -Java
    一幅长文细学Redis(一)——NoSQL数据库简介以及Redis安装
    Re50:读论文 Large Language Models Struggle to Learn Long-Tail Knowledge
    目标检测:Generalized Focal Loss(2020)
    FANUC机器人零点复归的报警原因分析和零点标定相关步骤
    【DTEmpower案例操作教程】向导式建模
    JAVA【设计模式】享元模式
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126673536