经验模式分解(EMD)——简介及Matlab工具箱安装

  最近在做脑电信号分析,在导师的建议下学习了一点经验模式分解(下面简称EMD)的皮毛,期间也是遇到了很多问题,在这里整理出来,一是为了自己备忘,二是为了能尽量帮到有需要的朋友。

一、EMD简介

  经验模态分解(Empirical Mode Decomposition,EMD)法是黄锷(N. E. Huang)在美国国家宇航局与其他人于1998年创造性地提出的一种新型自适应信号时频处理方法,特别适用于非线性非平稳信号的分析处理。对经过EMD处理的信号再进行希尔伯特变换,就组成了大名鼎鼎的“希尔伯特—黄变换”(HHT)。由于脑电信号处理很少在EMD之后接上希尔伯特变换,在这里仅介绍EMD的相关基础知识。
  EMD其实就是一种对信号进行分解的方法,与傅里叶变换、小波变换的核心思想一致,大家都想将信号分解为各个相互独立的成分的叠加;只不过傅里叶变换以及小波变换都要求要有基函数,而EMD却完全抛开了基函数的束缚,仅仅依据数据自身的时间尺度特征来进行信号分解,具备自适应性。由于无需基函数,EMD几乎可以用于任何类型信号的分解,尤其是在非线性、非平稳信号的分解上具有明显的优势。
  EMD的目的是将信号分解为多个本征模函数(IMF)的叠加。IMF必需要满足以下两个条件:
  (1)函数在整个时间范围内,局部极值点和过零点的数目必须相等,或最多相差一个;
  (2)在任意时刻点,局部最大值的包络(上包络线)和局部最小值的包络(下包络线) 平均必须为零。
  为什么IMF一定要满足这两个条件呢?经黄锷等人的研究,满足这两个条件的信号都是单组分的,相当于序列的每一个点只有一个瞬时频率,无其他频率组分叠加。这就为后续的希尔伯特变换铺平了道路,也使得瞬时频率有了意义。
  值得一提的是,EMD在数学上还有一些细节无法证明,但是EMD已经在工程领域取得了辉煌的成就,这也是在科学界工程领先理论的一个例子。

二、EMD方法的实现

  EMD的实现我决定简单说一下,毕竟我们是使用者而已嘛^_^,有需要的朋友可以自行研究一下。
  EMD方法是基于如下假设基础上的:
  (1)信号至少有两个极值点,一个极大值和一个极小值;
  (2)特征时间尺度通过两个极值点之间的时间定义;
  (3)若数据缺乏极值点但有形变点,则可通过数据微分一次或几次获得极值点,然后再通过积分来获得分解结果。
  算法流程如下所示:
          这里写图片描述  

三、Matlab工具箱安装

  在这里我们需要下载两个工具箱,第一个是时频分析工具箱,下载地址为:http://tftb.nongnu.org/;另一个就是EMD工具箱,下载地址为:http://perso.ens-lyon.fr/patrick.flandrin/emd.html。有些同学反映无法下载,现给出百度云地址:https://pan.baidu.com/share/init?surl=-jOdWceZebqnK6kzO2Hhyg,密码 stim。
  第一步安装时频分析工具箱,安装这个工具箱是因为EMD工具箱中的一些功能依赖于这个工具箱。安装步骤如下:
  (1)解压下载的工具箱,将其复制到matlab的toolbox文件夹下
  (2)建立搜索路径,matlab->设置路径->添加并包含子文件夹->找到在toolbox目录下的时频分析工具箱->保存->关闭
  第二步为安装EMD工具箱,这个就简单一些了,下载完毕直接运行“install_emd.m”就可以啦。如果在安装之后,Matlab提示“cemdc2_fix.c等文件安装失败”,如果想让其编译成功则可以参考这篇文章:http://forum.vibunion.com/thread-79866-1-1.html,如果嫌麻烦的话,也可以不用修复,不会影响到使用EMD功能的。

四、程序演示

  在这里贴上一个小程序作为演示,也可以用来测试工具箱有没有安装好。 

fs = 1000;
ts = 1/fs;
t=0:ts:0.3;
z = sin(2*pi*10*t) + sin(2*pi*100*t);
imf=emd(z);
emd_visu(z,t,imf)  % EMD专用画图函数

运行完会出现3张图,如下所示:
EMD处理之后分出的各个IMF,最后一项为余量
从细到粗复现信号
从粗到细复现信号

### 回答1: 要安装emd工具箱,首先需要确保你已经安装MATLAB 2016或更高版本的软件。接下来,按照以下步骤操作: 1. 首先,从互联网上下载emd工具箱的压缩文件。可以使用搜索引擎来寻找可靠的下载来源。 2. 下载完成后,将压缩文件解压缩到一个你容易找到的文件夹中。 3. 打开MATLAB软件,点击顶部菜单栏上的"Set Path"按钮。 4. 在弹出的窗口中,点击"Add with Subfolders"按钮。 5. 在新弹出的窗口中,浏览到你解压缩emd工具箱的文件夹,选择该文件夹并点击"OK"。 6. 返回主界面,点击顶部菜单栏上的"Home"按钮。 7. 在"Home"菜单中,找到"Environment"部分,点击"PackageManager"按钮。 8. 在"PackageManager"界面中,选择"Install"选项卡。 9. 在"Install"选项卡中,可以找到你已添加的emd工具箱,点击其旁边的复选框。 10. 点击"Install"按钮,等待安装完成。 11. 安装完成后,重新启动MATLAB软件。 现在,你已经成功安装emd工具箱,可以在MATLAB中使用该工具箱进行相关的数据分析和处理了。希望以上步骤对你有所帮助! ### 回答2: 在MATLAB 2016中安装EMD工具箱的方法如下: 1. 打开MATLAB软件,在主界面的"主页"选项卡下找到"添加-Ons"按钮,点击进入添加-Ons界面。 2. 在添加-Ons界面的搜索框中输入"EMD",然后点击"Go"按钮进行搜索。 3. 在搜索结果中找到EMD工具箱,并点击"安装"按钮。MATLAB会自动下载并安装工具箱。 4. 安装完成后,在MATLAB命令窗口输入"ver"命令,显示已安装工具箱列表。确认EMD工具箱已成功安装。 5. 在使用EMD工具箱之前,需要将工具箱的路径添加进MATLAB的搜索路径中。在MATLAB命令窗口输入"addpath('路径') "命令,将EMD工具箱的路径添加到搜索路径中。其中,'路径'是EMD工具箱安装路径。 现在,你可以使用EMD工具箱进行信号处理和分析等相关工作了。希望这个方法对你有帮助。 ### 回答3: 安装EMD工具箱需要按照以下步骤进行操作: 1. 首先,你需要下载EMD工具箱安装文件。可以在MATLAB官方网站或其他可信来源找到相应的安装文件。 2. 下载完毕后,将安装文件保存在你想要安装的目录中。 3. 打开MATLAB软件,点击工具栏上的"Home"选项卡,然后在右侧的"Environment"栏中选择"Set Path"。 4. 在"Set Path"窗口中,点击"Add with Subfolders"按钮,选择刚刚保存EMD工具箱安装文件的目录,点击"Select Folder"按钮。 5. 确保所有的文件夹和子文件夹都被添加到MATLAB的路径中,然后点击窗口底部的"Save"按钮。 6. 在MATLAB命令窗口中输入`emd`,如果没有报错信息,说明EMD工具箱已经成功安装。 以上就是MATLAB2016安装EMD工具箱的方法。安装完毕后,你可以通过调用相应的函数在MATLAB中使用EMD工具箱进行信号处理和分析。
评论 162
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值