• 【信号去噪】基于鲸鱼算法优化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代码问题可私信交流。

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

  • 相关阅读:
    Maven
    DDRx寻址原理
    mapbox 导航记录(release-v2.15分支 纯kotlin)
    字节面试题:如何保证缓存和数据库的一致性
    MyBatis-Plus--在xml中使用wrapper的方法
    如何解释”字面量“?
    CPU流水线与指令乱序执行
    Light Image v6.1.8.0批量调整图片大小
    Kafka - 06 Kafka 集群环境搭建(三台虚拟机)
    OpenGl材质
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126673536