声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5100|回复: 15

[HHT] [更新版]要了命了——G. Rilling的EMD的Matlab程序的“倒霉结果”

[复制链接]
发表于 2007-4-12 22:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
% G. Rilling, last update: May 2005
%
% computes EMD (Empirical Mode Decomposition) according to:
%
% N. E. Huang et al., "The empirical mode decomposition and the
% Hilbert spectrum for non-linear and non stationary time series analysis",  
% Proc. Royal Soc. London A, Vol. 454, pp. 903-995, 1998
%
% with variations reported in:
%
% G. Rilling, P. Flandrin and P. Gon峚lv弒
% "On Empirical Mode Decomposition and its algorithms",
% IEEE-EURASIP Workshop on Nonlinear Signal and Image Processing
% NSIP-03, Grado (I), June 2003


我不知道法国人的程序更新了没有,反正这个是一个月前下的

本人研一,研究EMD有半年多了,菜鸟一个,自己很久以前编过EMD程序,不过性能太滥,主要是边界和SD问题处理不好,后来发现了G. Rilling的程序,自己改了一下,处理了一下我的水声的非稳态信号,觉得这个程序的边界问题和终止条件问题解决的看起来挺漂亮(至少比我的强多了),不过用普通的调幅和调频波试了一下。。。。。。。

运行:imf = emd(x,'stop',[0.1,0.5,0.05],'maxiterations',100);

一 y=sin(x/50)
这个函数处理得很老实,没给我分解,直接输出的原函数,我很欣慰呀

二 y=3*cos(2*pi*x/100+sin(2*pi*x/1000))

这个也输出的是原函数

三 y=0.2*sin(x/130).*sin(x/10)

这个函数一看运行结果,可要了命了,给我分出了六个IMF分量,根据本人的微薄经验,这个函数没法分,顶多分两份,可是这六个分量非常诡异,后来一看,第一个分量与原信号外形和周期基本一样!也就是说剩下5个IMF加上residue值为零!
本来想把原信号和六个IMF波形上传,可惜这个论坛传图片很难,作罢

[ 本帖最后由 JulianChin 于 2007-4-12 22:52 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2007-4-12 22:21 | 显示全部楼层
原帖由 JulianChin 于 2007-4-12 22:01 发表
% G. Rilling, last update: May 2005
%
% computes EMD (Empirical Mode Decomposition) according to:
%
% N. E. Huang et al., "The empirical mode decomposition and the
% Hilbert spectrum f ...



很正常,没看出什么问题
 楼主| 发表于 2007-4-12 22:36 | 显示全部楼层
四 y=sin(2*pi*x*0.005)+sin(2*pi*(x-100)*0.05)

这个原信号给我分出了四个IMF,第一个是高频正弦波,很好,第二个貌似低频正弦波,不过边界部分矮了点,第二部分和第三第四外加residue加起来似乎正好是标准低频正弦波。。。。


波形图片实在传不上来。。。。。
 楼主| 发表于 2007-4-12 22:43 | 显示全部楼层
五 y=(3+3*cos(2*pi*x/100))*cos(2*pi*x/10)

9个IMf分量,情况与“三”相似,有种被耍的感觉
 楼主| 发表于 2007-4-12 22:48 | 显示全部楼层
言归正传,痛定思痛,分析了一下问题,或许可能有

1 对于傅立叶变换等传统方法,有个测不准原理,号称自适应的EMd就没有么,不尽然把,边界问题就是其中体现之一,比如“镜像延陀法”似乎就是希望通过加长信号抵消测不准原理,但是仍然不尽人意比如 y=sin(2*pi*x*0.005)+sin(2*pi*(x-100)*0.05)的第二个分量,就不是一个标准正弦波,问题就出在边界!
 楼主| 发表于 2007-4-12 22:49 | 显示全部楼层
2 终止条件问题,改停止时不停止,不过我改了一些终止条件,但似乎程序对此不甚敏感

[ 本帖最后由 JulianChin 于 2007-4-12 23:09 编辑 ]

三的原信号

三的原信号

四的原信号

四的原信号
 楼主| 发表于 2007-4-12 23:10 | 显示全部楼层
IMF

[ 本帖最后由 JulianChin 于 2007-4-12 23:11 编辑 ]

三的IMF与residue

三的IMF与residue

四的IMF与residue

四的IMF与residue
 楼主| 发表于 2007-4-12 23:19 | 显示全部楼层
3 当年我编的烂程序,虽然边界一塌糊涂,但两个正弦信号的叠加还是能分开的,IMF分量一点不多一点不少,而这个 G. Rilling的“高级程序”虽然边界很漂亮,但似乎连这样的信号都分不准,难道是测不准原理作怪?

[ 本帖最后由 JulianChin 于 2007-4-12 23:29 编辑 ]

五的原信号

五的原信号

五的IMF与residue

五的IMF与residue
发表于 2007-4-12 23:47 | 显示全部楼层
EMD的测不准原理我不敢说存在还是不存在,但至少现在这个时候不明显(因为EMD还没有理论支撑)。你得到的结果我也相信是正确的,也是正常的,目前的EMD都是近似算法(假设背后有理论支撑),因此分解不唯一(改变算法的某个步骤会导致不同的结果),也会出现一些虚假的IMF(在Flandrin的PPT里面那个例子就很好的说明了这点),这没有什么奇怪的。正如理论上 3=1+2 , 在这个恒等式未知、未被发现之前, 3=1.2+2.1 或者 3=1.1+2.2 都是合理的。建议先看看本版关于EMD的一些帖子,尤其是版主的总结
 楼主| 发表于 2007-4-13 01:11 | 显示全部楼层
原帖由 eight 于 2007-4-12 23:47 发表
EMD的测不准原理我不敢说存在还是不存在,但至少现在这个时候不明显(因为EMD还没有理论支撑)。你得到的结果我也相信是正确的,也是正常的,目前的EMD都是近似算法(假设背后有理论支撑),因此分解不唯一(改 ...


连调幅波都分解不准怎么放心用?

有没有改进的办法?
 楼主| 发表于 2007-4-13 01:54 | 显示全部楼层
对于信号“三”,“四”的“灵异”问题怎么解决,我现在的课题非常需要EMD这种算法的支持
发表于 2007-4-22 22:58 | 显示全部楼层
我仿真时出现7个左右的imf 函数,为什么?是我的emd分解算法不好吗?
 楼主| 发表于 2007-4-23 01:21 | 显示全部楼层
rilling的新版程序还不错,但模态混叠是任何算法都避免不了的,没办法
发表于 2007-4-27 17:35 | 显示全部楼层
大家谁那里有这方面.m的程序,能给小弟发一个吗?先谢谢啦,我怎么也找不到,哎
发表于 2014-11-10 19:36 | 显示全部楼层
学习中!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-23 02:16 , Processed in 0.066456 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表