一、概念
将原始信号分解为若干个本征模态函数,将非平稳信号进行平稳化处理。
本征模态函数:(1)在整个数据段,极值点的数量与过零点的数量必须相等,或最多相差一个
(2)在信号上任意一点,由局部最大值确定的上包络线和局部最小值确定的下包络线的均值为零
步骤:
- 根据原始信号上下极值点,分别画出上、下包络线;
- 求上、下包络线的均值,画出均值包络线;
- 原始信号减均值包络线,得到中间信号;
- 判断该中间信号是否满足
二、matlab(2018b)
[imf,residual] = emd(X) 返回x经验模态分解对应的本征模态函数imf和残差信号残差。使用emd将复杂信号分解简化为进行希尔伯特谱分析所需的有限个本征模态函数。
[imf,residual,info] = emd(X) 返回有关imf和残差信号的附加信息,用于诊断。
[___] = emd(___,Name,Value) 使用一个或多个名称、值对参数指定的附加选项来估计emd。
emd(___) 将原始信号、imf和残差信号作为子图绘制在同一幅图中。
下面用一个小例子来直观感受一下:
t=0:1/1000:0.3;
z=sin(2*pi*10*t)+2*sin(2*pi*100*t);
emd(z)
在命令窗口中生成的表格显示了每个生成的IMF的筛选迭代次数、相对公差和筛选停止准则。此信息也包含在info中。可以通过指定Display为0来隐藏表。
最后呈现的图形: