简要说明EMD函数

这是我在新浪微博上看到的,为了便于自己记录,转载了

博主最近在研究EMD分解,现举例简要说明EMD函数的使用

t=1:500;
t=t*1/2000;
x=sin(2*pi*20*t);
y=0.4*sin(2*pi*40*t+140);
z=x+y;
plot(t,z)   %画出原始的信号

imf=emd(z);%调用EMD工具箱中的emd函数,运行结果如下


%Imf有5行,意味着原始信号被分解成了4个IMF(本征模函数Intrinsic Mode Function)和一个余波(残差residual)

emd_visu(z,1:length(z),imf) %调用EMD工具箱中的emd_visu函数,运行结果如下:


从第一张图我们可以看到,IMF1到IMF4再加上residual就是原始信号。

而f2c和c2f分别从2个相反的方向重构原始信号(f2c1就是IMF1,而f2c2是IMF1和IMF2合成的,f2c3是IMF1,IMF2,IMF3合成的;而c2f1就是IMF4,其余依次类推,注意IMF3和IMF4不是直线,而是曲线,由于一张图里要画好几个分图故图像被压缩了,看起来像直线)

仔细观察各imf分量,我们可以发现imf1和imf2其实就是对应于原始信号中的y和x,而其他的imf的振幅非常小,可以看做是EMD分解的误差。


PS.EMD分解在实际应用中是需要检验的,NASA的ZHAOHUA WU和黄先生写了一篇论文A Study of the Characteristics of White Noise Using the Empirical Mode Decompostion Method来介绍如何检验,他们也写好了matlab程序,大家可以去台湾中央大学数据分析中心下载http://rcada.ncu.edu.tw/research1.htm


  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值