【经验模态分解】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.mzph.cn/news/136524.shtml

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

相关文章

Unity3d C#实现编辑器不运行状态下执行的脚本

第一章方式: 函数前面 [ContextMenu("Play")] ,Inspector面板右键调用 第二种方式: OnValidate() ,值改变自动执行 using UnityEngine; using System.Linq;public class NightController : MonoBehaviour {pub…

已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

17.复制字符串 ,包括\0

#include<stdio.h> #include <cstring>int main(){int len1,len2;char s1[44];char s2[33];scanf("%s",s1);scanf("%s",s2);len1strlen(s1)1;printf("先s1的字符长度为&#xff1a;%d\n",len1) ;strcpy(s1,s2) ;printf("复制字…

CCF ChinaSoft 2023 论坛巡礼 | 云计算标准化论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

03【远程协作开发、TortoiseGit、IDEA绑定Git插件的使用】

上一篇&#xff1a;02【Git分支的使用、Git回退、还原】 下一篇&#xff1a;【已完结】 目录&#xff1a;【Git系列教程-目录大纲】 文章目录 一、远程协作开发1.1 远程仓库简介1.1.1 Github1.1.2 Gitee1.1.3 其他托管平台 1.2 发布远程仓库1.2.1 创建项目1&#xff09; 新…

视频编软件会声会影2024中文版功能介绍

会声会影2024中文版是一款加拿大公司Corel发布的视频编软件。会声会影2024官方版支持视频合并、剪辑、屏幕录制、光盘制作、添加特效、字幕和配音等功能&#xff0c;用户可以快速上手。会声会影2024软件还包含了视频教学以及模板素材&#xff0c;让用户剪辑视频更加的轻松。 会…

计讯物联高精度GNSS接收机:担当小型水库大坝安全监测解决方案的“护航者”

应用背景 水库大坝作为水利工程建筑物&#xff0c;承担着灌溉、发电、供水、生态等重任。一旦水库大坝发生安全事故&#xff0c;后果将不堪设想。因此&#xff0c;水库大坝的安全监测对保障水利工程顺利运行具有重要意义。 计讯物联作为水利行业专家型企业&#xff0c;多年来…

Docker本地部署Drupal并实现公网访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS&#xff0c;适用于各种不同的网站项目&#xff0c;从小型个人博客到大型企业级门户网站。它的学习…

逐次变分模态分解(Sequential Variational Mode Decomposition,SVMD)(附代码)

代码原理 逐次变分模态分解&#xff08;Sequential Variational Mode Decomposition&#xff0c;SVMD&#xff09;是一种用于信号处理和数据分析的方法。它可以将复杂的信号分解为一系列模态函数&#xff0c;每个模态函数代表了信号中的一个特定频率成分。SVMD的主要目标是提取…

银河麒麟等 Linux系统 安装 .net 3.1,net 6及更高版本的方法

确定 系统的版本。华为鲲鹏处理器是 Arm64位的。 于是到windows 官网下载对应版本 .net sdk 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet 2.下载完成后&#xff0c;再linux 服务器 上进入到文件所在目录&#xff0c;建议全英文路径。 然后依次输入以下命令 …

【c++】——类和对象(中)——赋值运算符重载

作者:chlorine 专栏:c专栏 你站在原地不动,就永远都是观众。 【学习目标】 拷贝复制——赋值运算符重载 目录 &#x1f393;运算符重载的初步认识 &#x1f308;运算符重载 &#x1f308;赋值运算符重载格式 (上) &#x1f308;operator__判断俩个日期是否相等 &#x…

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

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

使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一&#xff0c;特别是智能设备的大面积使用&#xff0c;无论是个人…

“Python+高光谱遥感数据处理与机器学习教程

详情点击链接&#xff1a;“Python高光谱遥感数据处理与机器学习教程 第一&#xff1a;高光谱 一&#xff1a;高光谱遥感 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二&#xff1a;高光谱传感器与数据获取 01)高光谱遥感成像原理与传感器 02…

ubuntu 20.04 server安装

ubuntu 20.04 server安装 ubuntu-20.04.6-live-server-amd64.iso 安装 安装ubuntu20.04 TLS系统后&#xff0c;开机卡在“A start job is running for wait for network to be Configured”等待连接两分多钟。 cd /etc/systemd/system/network-online.target.wants/在[Servi…

Node Sass version 9.0.0 is incompatible with ^4.0.0.

1.错误产生原因&#xff1a; node、 node-sass 和sass-loader的版本对应问题 2.解决方案&#xff1a; 删除之前的 npm uninstall node-sass sass-loader 安装指定的 npm i node-sass4.14.1 sass-loader7.3.1 --save -dev

排序算法之-冒泡

顺序排序算法原理 从头开始遍历未排序数列&#xff0c;遍历时比较相邻的两个元素&#xff0c;前面的大于后面的&#xff0c;则双方交换位置&#xff0c;一直比较到末尾&#xff0c;这样最大的元素会出现在末尾&#xff0c;接着再依次从头开始遍历剩余未排序的元素&#xff0c;…

[架构之路-246]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:获取、分析、定义、验证

目录 前言&#xff1a; 架构师为什么需要了解需求分析 一、需求工程概述 1.1 概述 1.2 需求工程的两大部分 &#xff08;1&#xff09;需求开发&#xff1a;系统工程师的职责、目标系统开发角度 &#xff08;2&#xff09;需求管理&#xff1a;项目管理者的职责、项目管…

微服务注册中心之安装+实例搭建zookeeper

1.下载安装包并上传到Linux服务器 Apache ZooKeeper 可以使用wget或者curl命令 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz连接失败也可以本地下载之后上传到服务器 scp /本地/文件的/路径 用户名远程服务器IP或主…

CAN总线协议的理解以及移植stm32代码并使用

什么是CAN总线协议 是一种异步半双工的通讯协议&#xff0c;只有CAN_High与CAN_Low两条信号线。 有两种连接形式&#xff1a;闭环总线&#xff08;高速&#xff09;和开环总线&#xff08;远距离&#xff09; 他使用的是一种差分信号来传输电信号 所谓差分信号就是两条信号线…