经验模态分解
来源:互联网 发布:编程cim是做什么的 编辑:程序博客网 时间:2024/06/05 20:34
Empirical Mode Decomposition(EMD)
引入
- 经验模态分解是2000年以来以傅立叶变换为基础的线性和稳态频谱分析的一个重大突破,它是依据信号自身的时间尺度特征对信号进行分解,无需预先设定任何基函数,这一点与建立在先验性的谐波基函数和小波基函数上的傅立叶分解与小波分解方法有本质区别。
- EDM方法理论上可以应用于任何类型信号的分解,因而在处理非平稳及非线性数据上,具有非常明显的优势,具有很高的信噪比。
基本原理
本征模函数
- 对数据信号进行emd分析就是为了获取本征模函数,因此首先介绍本征模函数。
- 本征模函数任意一点的瞬时频率都是有意义的。任意时刻,信号都可以包含若干个本征模函数,如果本征模函数之间相互重叠,便形成复合信号。
- 一个本征模函数必须满足2个条件
- 函数在整个时间范围内,局部极值点和过零点的数目相等,或者最多差一个
- 任意时刻点,局部最大值的包络线(上包络线)和局部最小值的包络线(下包络线)平均必须为0。
假设条件
EMD方法是基于以下假设条件
- 数据至少有2个极值,一个极大值和一个极小值。
- 数据的局部时域特性是由极值点间的时间尺度唯一确定
- 如果数据没有极值点,但是有拐点,则可以通过对数据微分一次或者多次求得极值,然后通过积分来获得分解结果。
分解过程
- 找出原始数据序列的
X(t) 的所有极大值点并用三次样条差值函数拟合形成原数据的上包络线,同时找出所有极小值点,并将所有极小值点通过三次样条插值函数拟合形成数据的下包络线,上包络线和下包络线的均值极为ml ,将X(t) 减去该平均包络ml ,得到新的数据序列h ,如果h 还存在负的局部极大值和正的局部极小值,说明这不是一个本征模函数,需要继续筛选,即识别h 的极大值和极小值并重复以上所有步骤,指导满足某个给定的标准。 - 如果成功完成筛选过程,则我们完成对第一个imf的提取。需要从原始数据减去提取的imf并再一次重复上述过程,并获得下一个imf,直到提取完所有imf为止。
emd工具箱下载与使用举例
下载链接
- https://pan.baidu.com/s/1mhghQ1i
- 下载之后直接添加目录,并且运行
emd_install.m
即可
使用
代码
t = -10:.1:10;y = sin(t);yn = y + 0.2 * randn(size(t)) + 0.1*t;imf = emd( yn );emd_visu(yn,t,imf)
结果
参考文献
- https://zh.wikipedia.org/wiki/%E7%B6%93%E9%A9%97%E6%A8%A1%E6%85%8B%E5%88%86%E8%A7%A3
- https://www.mql5.com/zh/articles/439
阅读全文
0 0
- 经验模态分解
- matlab集合经验模态分解EEMD工具包
- EMD经验模态分解——分析时间序列
- (未完成)数学建模--经验模态分解(EMD)希尔伯特-黄转换
- EEMD/EMD经验模态分解算法在单通道转多通道过程的使用
- 经验模式分解理论及其应用
- 模态窗口经验积累
- 分解
- 经验模式分解(EMD)——简介及Matlab工具箱安装
- CS229课程笔记9:分类问题的Bias-Variance分解,经验风险最小化
- 经验
- 经验
- 经验
- 经验
- 经验
- 经验
- 经验
- 经验
- extundelete应用实战
- Strus2概览
- Apache与Tomcat有什么关系和区别
- 2017/9/3 训练总结
- 基于Qt的中国男足国家队“世亚预”小组赛出线分析
- 经验模态分解
- Python学习第一课
- nodejs爬虫参考
- python maximum recursion depth exceeded解决方式
- 倒水(rms2017模拟2-1)* 【推理】
- 169. Majority Element
- 执行HBase建表操作,每次创建表HRegionServer都会挂掉,而 HMaster还在!RetriesExhaustedException: Can't get the locations
- POJ2699 The Maximum Number of Strong Kings (maxflow)
- 由四个点求两条线段交点代码实现