当前位置: 首页 > news >正文

【信号去噪】基于鲸鱼算法优化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开发分支管理
  • 啊哈,一道有趣的Go并发题
  • [编程题]数据库连接池 - 牛客网题解
  • 线性回归模型(OLS)3
  • 如何利用腾讯云轻量应用服务器五分钟搭建一个WordPress博客?
  • 从外到内理解c++引用
  • [极客大挑战 2019]BabySQL
  • vue3+vite+windicss+element-plus+axios+router+cookies 搭建
  • ElasticSearch docker 方式安装
  • Spring——IOC 操作 Bean 管理(FactoryBean,作用域以及bean生命周期)
  • java毕业设计成品源码网站基于javaWeb停车场车辆管理系统的设计与实现|车位
  • 【Python零基础入门篇 · 5】:占位符和格式化输入输出、标识符和保留字
  • L77.linux命令每日一练 -- 第11章 Linux系统管理命令 -- vmstat和mpstat
  • 如何安装GCC?
  • latex(overleaf)制作ppt(演示文稿)笔记
  • Docker: 容器互访的三种方式
  • Elasticsearch 参考指南(升级前重新索引)
  • ES6--对象的扩展
  • HTTP那些事
  • Mithril.js 入门介绍
  • MobX
  • MySQL几个简单SQL的优化
  • PHP 小技巧
  • React 快速上手 - 07 前端路由 react-router
  • React组件设计模式(一)
  • SAP云平台里Global Account和Sub Account的关系
  • 从tcpdump抓包看TCP/IP协议
  • 后端_MYSQL
  • 使用权重正则化较少模型过拟合
  • 通过git安装npm私有模块
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 异步
  • Linux权限管理(week1_day5)--技术流ken
  • 通过调用文摘列表API获取文摘
  • ​ubuntu下安装kvm虚拟机
  • ​决定德拉瓦州地区版图的关键历史事件
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #stm32驱动外设模块总结w5500模块
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (pojstep1.3.1)1017(构造法模拟)
  • (安卓)跳转应用市场APP详情页的方式
  • (四)Linux Shell编程——输入输出重定向
  • (一一四)第九章编程练习
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)winform之ListView
  • .NET : 在VS2008中计算代码度量值
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .net 调用php,php 调用.net com组件 --
  • .NET 读取 JSON格式的数据
  • .NET 解决重复提交问题
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET框架设计—常被忽视的C#设计技巧