hyzxg 发表于 2007-1-30 21:04

EMD计算结果问题

程序
N = 2000;% # of data samples
t = linspace(0,1,N);
x1 =sin(2*pi*15*t);
x2 =sin(2*pi*10*t);
x3 =sin(2*pi*5*t);
x = x1+x2+x3;
= emd(x);
emd_visu(x,t,imf,1);程序是网上G. Rilling提供的程序,imf分量应该依次是 x1,x2,x3三个正弦波啊
可是emd分解结果确不是,emd图形图下:

[ 本帖最后由 zhlong 于 2007-6-4 17:45 编辑 ]

eight 发表于 2007-1-30 21:13

原帖由 hyzxg 于 2007-1-30 21:04 发表
程序
N = 2000;% # of data samples
t = linspace(0,1,N);
x1 =sin(2*pi*15*t);
x2 =sin(2*pi*10*t);
x3 =sin(2*pi*5*t);
x = x1+x2+x3;
= emd(x);
emd_visu(x,t,imf,1);程序是网上G. Rilling提供的程 ...


正常,三个正弦分量的频率相近,EMD没有办法分离。你可以看看三个求得的IMF,各自已经满足IMF的定义了(无骑波,上下基本对称)

[ 本帖最后由 eight 于 2007-1-30 21:14 编辑 ]

hyzxg 发表于 2007-1-31 09:00

谢谢。

hdwang 发表于 2007-1-31 09:04

imf2好像还能分,要是进行二次EMD分解不知道有没有意义?还有那个res不知道对不对?

eight 发表于 2007-1-31 14:14

原帖由 hdwang 于 2007-1-31 09:04 发表
imf2好像还能分,要是进行二次EMD分解不知道有没有意义?还有那个res不知道对不对?

imf2不能再分了,在每个波峰附近的波动并不构成极小或极大值。进行两次EMD没有意义的,你试试就知道,不会进行分解的。res是否正确要靠自己去解释,目前EMD还是属于经验的,没有理论保证,其他IMF也一样

hyzxg 发表于 2007-1-31 17:06

用另外程序计算好像可以进行分解,是不是判断停止标准(如迭代次数)不一样结果就不一样
如图

[ 本帖最后由 hyzxg 于 2007-1-31 17:11 编辑 ]

eight 发表于 2007-1-31 17:09

原帖由 hyzxg 于 2007-1-31 17:06 发表
用另外程序计算好像可以进行分解
如图


有可能,如果对于上面那个图的IMF,则已经不能再分了。你这里用另外的程序得到的IMF1不同,因此所有结果也自然不同,感觉你的分解结果好点

zhlong 发表于 2007-2-1 08:28

那如果工程实际测得一个信号,实现我们并不知道它的组成情况
每个人/每次 分解的结果都不一样,那怎么解释,怎么用到现场实际

hdwang 发表于 2007-2-1 12:49

楼主第二次分解发了两个一样的图?你第一次和这次哪个是用最新的分解程序作的?是eight曾经提供的网站吗?
很奇怪,我昨天、和今天按照你的程序作结果也不一样了,真是怪异了。
实际中是不是看自己能说通就行?

eight 发表于 2007-2-1 13:24

是不是判断停止标准(如迭代次数)不一样结果就不一样

正是如此

eight 发表于 2007-2-1 13:26

原帖由 zhlong 于 2007-2-1 08:28 发表
那如果工程实际测得一个信号,实现我们并不知道它的组成情况
每个人/每次 分解的结果都不一样,那怎么解释,怎么用到现场实际


这个问题一直是EMD的通病,这是由于没有理论保证引起的,我认为,现今的算法都是近似的结果。等有一天其严格的数学基础建立起来了(假设存在的话),就不会出现类似的问题了。

[ 本帖最后由 eight 于 2007-2-1 13:33 编辑 ]

eight 发表于 2007-2-1 13:31

楼主第二次分解发了两个一样的图
多发了一次而已,只看作一个就可以了
你第一次和这次哪个是用最新的分解程序作的?
实现的方法(包括边界条件、IMF滤波停止条件及使用的包络均值)不同,得到的结果也自然不同。都是近似的算法
很奇怪,我昨天、和今天按照你的程序作结果也不一样了,真是怪异了。
不可能,如果数据一样,程序一样,无论运行多少次,结果应该一样
实际中是不是看自己能说通就行?
在目前看来的确如此

[ 本帖最后由 eight 于 2007-2-1 13:32 编辑 ]

sinasohu 发表于 2007-3-8 10:52

我在一个论文上看到emd完全分解的前提条件是各分量的频率相差在2倍以上.看lz的第二个分解结果还不错.不知道你调整了程序的哪个地方.按照论文的说法,第一种分解是正常的.

zhangnan3509 发表于 2007-3-9 15:24

说起emd 我现在有问题,向eight等高人请教。我手中有rilling的EMD程序但是老师要求我对此进行修改,也没具体说向哪个方向修改。这里面参数很多,我觉得无从下手,请大家帮我想想办法。

eight 发表于 2007-3-9 15:46

原帖由 zhangnan3509 于 2007-3-9 15:24 发表
说起emd 我现在有问题,向eight等高人请教。我手中有rilling的EMD程序但是老师要求我对此进行修改,也没具体说向哪个方向修改。这里面参数很多,我觉得无从下手,请大家帮我想想办法。

参数也不是特别多,关键是先看懂他的代码和理解EMD的思想,结合他的文章来看才行的,不看文章根本无法看懂。至于修改的方向,不好说,我去年改进了一下,文章准备发表了,你到时候可以参考一下,文章题目是“经验模式分解算法的探讨和改进”,发表在中山大学学报上,2007年第一期

[ 本帖最后由 eight 于 2007-3-9 15:50 编辑 ]
页: [1] 2
查看完整版本: EMD计算结果问题