【经验模态分解】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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux安装DMETL4

Linux安装DMETL4 产品与环境介绍1 规划安装路径2 DM8安装路径2.1 达梦数据库程序安装路径2.2 初始化达梦数据库2.3 创建数据库用户名 DMETL 3 安装DMETL3.1 查看安装包与授权3.2 安装DMETL程序3.3 DMETL安装日志 4 启动DMETL5 DMETL连接数据库后会自动创建相关资源表6 达梦数据…

MySQL索引的数据结构

1. 索引及其优缺点 1.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结…

【每日一题】咒语和药水的成功对数

文章目录 Tag题目来源解题思路方法一:排序二分 写在最后 Tag 【排序二分】【数组】【2023-11-10】 题目来源 2300. 咒语和药水的成功对数 解题思路 方法一:排序二分 我们首先对 points 进行升序排序,然后枚举 spells 中的 x,需…

IDEA 编译项目时报错:java: java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法

1.问题简述 在Intellij IDEA下编译Java项目,报错:java.lang.OutOfMemoryError: …(此处忽略) GC overhead limit exceeded 2.问题分析 错误是发生在编译阶段,而不是运行阶段。通过查询相关资料发现, 1.idea编译Java项目使用的虚…

Adobe Photoshop 2020给证件照换底

1.导入图片 2.用魔法棒点击图片 3.点选择,反选 4.选择,选择并遮住 5.用画笔修饰证件照边缘 6. 7.更换要换的底的颜色 8.新建图层 9.使用快捷键altdelete键填充颜色。 10.移动图层,完成换底。

《开箱元宇宙》:认识香港麦当劳通过 The Sandbox McNuggets Land 的 Web3 成功经验

McNuggets Land 是 The Sandbox 于 2023 年发布的最受欢迎的体验之一。在本期的《开箱元宇宙》系列中,我们采访了香港麦当劳数位顾客体验暨合作伙伴资深总监 Kai Tsang,来了解这一成功案例背后的策略。 在不断发展的市场营销和品牌推广领域,不…

面试复习整理

redis持久化方式和原理 Redis持久化是指将Redis内存中的数据以某种形式保存到磁盘上,以保证在Redis重启后数据不会丢失。Redis支持两种持久化方式:RDB(Redis DataBase)和AOF(Append Only File)。 RDB持久…

深度学习之基于Python+OpenCV(DNN)性别和年龄识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Python和OpenCV的深度学习性别和年龄识别系统是一种利用深度学习模型来自动识别人脸照片中的性别和年龄的技术。…

2013年108计网

第33题 在 OSI 参考模型中, 下列功能需由应用层的相邻层实现的是()A. 对话管理B. 数据格式转换C. 路由选择D. 可靠数据传输 很显然,题目所问的应用层的相邻层是表示层。该层实现与数据表示相关的功能。选项a中的对话管理属于会话层。选项c中的路由选择属于网络层。…

从内存优化视角再看 Glide 图片加载库

前置背景 Glide 作为常用的图片加载框架,框架层面已经对内存方面有不少优化,但作为一个图片框架,确保正确性一定是第一位的,因此在应用层还可以在适当的场景做一些额外的优化,当然你需要了解优化设置可能产生的问题。…

隧道技术的三种应用场景(IPv6,多播,VPN)

目录 1.IPv6的隧道技术 2.多播路由选择 (1)洪泛 (2)隧道技术 (3)基于核心的发现技术 3.隧道技术实现(VPN)虚拟专用网 1.IPv6的隧道技术 IPv6与IPv4的过渡技术中包含了IPv6的隧道技术: http://t.csdnimg.cn/wuvXY 2.多播路由选择 转发…

通达OA V12 引入thinkphp5.1框架,读取OA的.ini文件

通达OA V12 引入thinkphp5.1框架,读取OA的.ini文件 内容绝对原创,希望对您有帮助。您的打赏,是让我持续更新的牛奶和面包 找到ini文件的绝对路径。$path“”;使用parse_ini_file($path,true,INI_SCANNER_RAW),读取ini文件。 代码如…

【Python3】【力扣题】232. 用栈实现队列

【力扣题】题目描述: 栈:线性集合。后进先出。 队列:线性集合。先进先出。 【Python3】代码: 解题思路:两个栈,一个入队的栈,一个出队的栈。出栈时,若出队的栈为空,才将…

Unreal UnLua + Lua Protobuf

Unreal UnLua Lua Protobuf https://protobuf.dev/ protobuf wire format:pb 编译到底层的数据协议 https://github.com/starwing/lua-protobuf/blob/master/README.zh.md buffer 处理 lua string 可以当 buffer 用,# len 不会遇到 0 截断&#xf…

【Word自定义配置,超简单,图文并茂】自定义Word中的默认配置,比如标题大小与颜色(参考科研作图配色),正文字体等

▚ 01 自定义样式Styles中的默认标题模板 自定义标题的显示效果,如下图所示: 1.1 自定义标题的模板Normal.dotm 1.1.1 选择所需修改的标题 新建一个空白Word文档,依次选择菜单栏的开始Home,样式Styles,鼠标右键选择…

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

目录 前言: 一、概述 二、CPU操作和显示 三、安装 四、CPU的选择 前言: 一、概述 西门子S7-1500系列是一系列高性能工业自动化控制器,广泛应用于制造业、自动化生产、物流等领域。这个系列的控制器是设计用来满足高性能、高效能要求的复…

代码审计(某个人发卡系统V6.0(php))

一、前台漏洞 1、前台文件包含漏洞(如果开启了gbc,可远程包含) 注入点1: tyid没任何过滤,存在注入 payload:http://faka.com/ajax.php?actselgo POST传参: tyid1/**/union/**/select/**/*/**/from/**/if_km/**/limit/**/0,1# 注入点2: 也是没加任何…

ElasticSearch的文档、字段、映射和高级查询

1. 文档(Document) 在ES中一个文档是一个可被索引的基础信息单元,也就是一条数据 比如:你可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON&…

Code Review最佳实践

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

系统的讲解 - PHP 接口签名验证

概览 工作中,我们时刻都会和接口打交道,有的是调取他人的接口,有的是为他人提供接口,在这过程中肯定都离不开签名验证。 在设计签名验证的时候,一定要满足以下几点: 可变性:每次的签名必须是不…