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


    1 内容介绍

    为准确提取轴承故障特征信息,提出以包络熵为综合目标函数的变分模态分解(variational mode decomposition,VMD)参数优化方法,并改进了诊断流程实现了无需指定参数优化范围的自适应参数优化算法.通过遗传算法对综合目标函数最小值进行搜索,以确定模态分量个数及惩罚参数的最佳组合.原始故障信号经最佳参数组合下的VMD方法分解为若干个本征模态函数,选择最小综合目标函数值对应的模态分量进行包络解调分析,进而通过模态分量的包络谱判断轴承故障类型.通过实测故障信号分析表明,该方法能够从噪声干扰中有效提取到早期故障信号的微弱故障特征,实现了轴承故障类型的准确判定,验证了该方法的有效性.​

    2 仿真代码

    function ret = Mutation(pmutation, lenchrom, chrom, sizepop, pop, bound)

        for i = 1:sizepop

            pick = rand;

            while pick == 0

                pick = rand;

            end

            index = ceil(pick * sizepop);

            pick = rand;

            if pick > pmutation

                continue;

            end

            flag = 0;

            while flag == 0

                pick = rand;

                while pick == 0

                    pick = rand;

                end

                pos = ceil(pick * sum(lenchrom));

                v = chrom(i, pos);

                v1 = v - bound(pos, 1);

                v2 = bound(pos, 2) - v;

                pick = rand;

                if pick > 0.5

                    delta = v2 * (1 - pick^((1 - pop(1) / pop(2))^2));

                    chrom(i, pos) = v + delta;

                else

                    delta = v1 * (1 - pick^((1 - pop(1) / pop(2))^2));

                    chrom(i, pos) = v - delta;

                end

                flag = test(lenchrom, bound, chrom(i, :));

            end

        end

        ret = chrom;

    end

    3 运行结果

    4 参考文献

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

    [2]郑顾平, 李强, 李刚. 基于遗传算法的奇异值分解信号去噪算法[J]. 计算机应用研究, 2015, 32(8):5.

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

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

  • 相关阅读:
    L02 Laravel 教程 - Web 开发实战进阶 - 笔记
    算法|每日一题|做菜顺序|贪心
    数据库云管平台 zCloud v3.5发布,智能化和国产数据库支持能力再增强
    Numpy的各种下标操作
    深入理解JVM虚拟机第四篇:一些常用的JVM虚拟机
    kubernetes集群搭建Zabbix监控平台
    淘宝api接口大全(参数返回值说明)
    远程访问技术是什么
    剑指offer--重建二叉树
    CLK_CFG_AD9516时钟芯片(配置代码使用说明)
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126325675