【经验模态分解】3.EMD模态分解算法设计与准备工作

/*** @poject          经验模态分解及其衍生算法的研究及其在语音信号处理中的应用* @file            EMD模态分解算法设计与准备工作* @author			jUicE_g2R(qq:3406291309)* * @language        MATLAB* @EDA				Base on matlabR2022b* @editor			Obsidian(黑曜石笔记软件)* * @copyright		2023* @COPYRIGHT	    原创学习笔记:转载需获得博主本人同意,且需标明转载源*/

设计原理遵循上一节的3个基本概念

  • 链接直通车:【经验模态分解】2.EMD的3个基本概念

1 处理极限

  • 首先,需要对实际处理过程中 上下包络均值无法为0(无法达到极限) 的问题进行 逼近(取一个阈值作为条件)

一个 逼近值 a n 逼近值a_n 逼近值an 越接近 极限(理论)值 a ∞ 极限(理论)值a_∞ 极限(理论)值a,它与 上一个逼近值 a n − 1 a_{n-1} an1 的差值越小

2 E M D EMD EMD 分解算法 流程

2-1 步骤

2-2 流程图

3 MATLAB代码实现

3-1 定义采样周期与采样频率

  • f = 1 T f=\frac{1}{T} f=T1
SampFreq = 512;			% 采样频率,每秒钟 采集 512个样本
SampPeri = 1/512;		% 采样周期,采集 1个样本 需要 1/512s
t = 0:SampPeri:1;		% 定义时间向量t(这个向量表示了信号的时间点),步长为 1/512 ,范围0~1

3-2 生成源信号

  • 1. x ( t ) = c o s ( w t ) x(t)=cos(wt) x(t)=cos(wt)
  • 2. w = 2 π f w=2\pi f w=2πf
  • 得出: x ( t ) = c o s ( 2 π f t ) x(t)=cos(2\pi ft) x(t)=cos(2πft)
%% 输入的源信号由 wave1与wave2 叠加
AWave1 = 0.5;			% 定义 wave1 的 幅值
AWave2 = 1;				% 定义 wave2 的 幅值
fWave1 = 20;			% 定义 wave1 的 频率
fWave2 = 30;			% 定义 wave2 的 频率
wave1 = AWave1*cos(2*pi*fWave1*t);			% 定义 第一个余弦波分量
wave2 = AWave2*cos(2*pi*fWave2*t);			% 定义 第二个余弦波分量
input = wave1 + wave2;						% 分量合并
x = input;									% 设置初始值

3-3 绘制源信号

figure					% 调出 figure 绘图 图形化窗口
plot(t,x);				% 绘制坐标图:横坐标为 t,纵坐标为 x=x(t)
grid on					% 添加网格线,使得绘图更加方便和准确
xlabel('t');			% 标记 横坐标为 t
ylabel('x');			% 标记 纵坐标为 x=x(t)
title('源输入信号');		% 说明坐标图的含义
legend('x(t)=0.5cos(40πt)+cos(60πt)')		% 说明源输入信号的组成
  • 运行后 f i g u r e figure figure 窗口弹出,编号为1
    在这里插入图片描述

3-4 模态分解

3-4-1 下载相关工具箱

两个软件: E M D EMD EMD 工具箱时频分析工具箱

  • 时频分析工具箱下载链接源
    如下是添加 时频分析工具箱* 的步骤(注:添加最顶的文件夹tftb-0.2即可包含下面所有子文件夹)
    在这里插入图片描述

  • EMD工具箱下载链接源
    同上操作

  • 详细使用教程链接源
    在这里插入图片描述

  • 检查一下工具箱是否正常添加:调用 e m d ( ) emd() emd() 函数执行 I M F IMF IMF 的计算(模态分解)

%% 仅用于调试
imf = emd(x);
emd_visu(x,t,imf);

这样就说明添加成功了
在这里插入图片描述

3-4-2 调用函数

%% Get IMF
[imf,residual] = emd(x);	% imf为一个矩阵,每列为一个模态函数,residual为残差向量
[M,N]=size(imf);			% M:模态数,N:模态长度

参考文献:EMD算法研究及其在信号去噪中的应用_王婷.caj(第二章)
附加:emd.ppt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/186122.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习基础】机器学习概述

目录 前言 一、机器学习概念 二、机器学习分类 三、机器学习术语 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 &#x…

机器视觉工程师注意,没有经历过公司倒闭看下文章,机器视觉公司即将要倒闭的征兆是什么?

很多机器视觉工程师没有经历过公司倒闭,谁也不想自己的公司倒闭,毕竟我们是打工人,拿固定工资的。 机器视觉公司即将要倒闭的征兆有哪些迹象​?​ 1、PM,机器视觉工程师频繁开会,甚至周末强制开会。 2.停…

Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构

目录 一、用于训练的数据架构图像分类(二进制/多类)多标签图像分类对象检测实例分段 二、用于推理的数据格式输入格式输出格式图像分类多标签图像分类对象检测实例分段 了解如何设置Azure中 JSONL 文件格式,以便在训练和推理期间在计算机视觉…

debian 已安装命令找不到 解决方法

前言:安装了debian系统,更新完软件包安装软件之后发现很多命令找不到,查找命令路径发现命令已经安装了,但是没办法直接使用 更新软件包 (第一次安装的系统一定要执行,不然可能无法安装软件) apt…

Code Review最佳实践

Code Review最佳实践 Code Review 我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求&…

【寒武纪(3)】媒体处理系统的系统控制、视频输入和后处理子系统

系统控制 文章目录 系统控制1、配置视频缓存池Video Pool2、配置硬件IP为在线工作(不通过DDR数据交互)/ 离线工作(写入DDR)模式3、硬IP可以使用 非Video Block (VB)内存4、配置是否启动内存传递的压缩 视频…

Android自定义 View惯性滚动效果(不使用Scroller)

效果图: 前言: 看了网上很多惯性滚动方案,都是通过Scroller 配合 computeScroll实现的,但在实际开发中可能有一些场景不合适,比如协调布局,内部子View有特别复杂的联动效果,需要通过偏移来配合…

Centos7安装配置中文输入法

Centos7安装配置中文输入法 在安装CentOS时,我们为了方便使用,语言选择了中文,但是我们发现,在Linux命令行或者是浏览器中输入时,我们只能输入英文,无法输入汉字。 来,跟随脚步,设…

【工具】OCR方法|不用下载额外的软件,提取扫描中英文PDF的目录文本的最优解!(一)

需求: 1)从PDF里快速提取目录; 2)不想下载任何软件。 我提取出来的目录文本会用于嵌入到PDF中,向PDF批量添加目录的软件以及软件的使用方法可以看我上一篇文章:PDF批量插入目录。 以下是我自己能想到的方…

智能AI系统ChatGPT系统源码+支持GPT4.0+支持ai绘画(Midjourney)/支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

无人机红外相机的畸变矫正

在项目开展过程中,发现大疆M30T的红外相机存在比较明显的畸变问题,因此需要对红外图像进行畸变矫正。在资料检索过程中,发现对红外无人机影像矫正的资料较少,对此,我从相机的成像原理角度出发,探索出一种效…

基于安卓android微信小程序的校园互助平台

项目介绍 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整…

电销行业获客的精准客源从哪里来的?

在电话营销行业中找到精确的客户资源对电话营销的成功至关重要。 这里有几种方法可以找到准确的客户资源: 1、自身数据库:首先,使用现有的客户信息数据库,如客户电话号码、电子邮件和地址,来推广和营销现有客户。 2…

Mysql 不同存储引擎数据文件的形式详解

目录 MyISAM MERGE InnoDB Memory Archive CSV BLACKHOLE MySQL 中的每一个数据表在磁盘上至少被表示为一个文件,即存放着该数据表结构定义的 .frm 文件。不同的存储引擎还有其它用来存放数据和索引信息的文件。 从 MySQL 8.0 版本开始,frm 表结构…

「随笔」浅谈2023年云计算的发展趋势

在2023年,云计算的发展趋势将受到政治、经济、社会和科技四个维度的影响。以下是对这些维度的具体分析: 1.1 政治维度: 全球政策推动: 随着全球各国政策对云计算的重视程度不断提高,云计算服务将获得更广泛的市场准入…

[工业自动化-7]:西门子S7-15xxx编程 - PLC主站 - 电源模块

目录 前言: 一、主站电源PM VS PS 1.1 主站PM电源模块(PM) 1.2 主站PS电源模块 1.3 PM/PS电源模块区别 1.4 如何选择PM/PS电源 1.5 什么时候必须使用PM模块 1.6 什么时候必须使用PS模块 二、背板总线 三、电源模块的安装 前言: 一、主站电源PM…

后台管理系统解决方案-中大型-Vben Admin

后台管理系统解决方案-中大型-Vben Admin 官网 Vben Admin 在线演示 Vben Admin 为什么选择它 github现有20K星,并且它有个可视化生成表单,我很喜欢 快速开始 # 拉取代码 git clone https://github.com/vbenjs/vue-vben-admin-doc# 安装依赖 yarn#…

Effective C++ 系列和 C++ Core Guidelines 如何选择?

Effective C 系列和 C Core Guidelines 如何选择? 如果一定要二选一,我会选择C Core Guidelines。因为它是开源的,有300多个贡献者,而且还在不断更新,意味着它归纳总结了最新的C实践经验。最近很多小伙伴找我&#xff…

通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理[RoarCTF 2019]Easy Calc 1

题目环境: 依此输入以下内容并查看回显结果 11 1’ index.php ls 到这里没思路了 F12查看源代码 一定要仔细看啊,差点没找到,笑哭 访问calc.php文件 果然有点东西 PHP代码审计 error_reporting(0);关闭错误报告 通过GET方式传参的参数num sho…

基于SSM的演唱会购票系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…