qinle 发表于 2007-1-20 11:30

eight,关于EMD的一个问题,也请其他网友参与解答

现在EMD的程序我也写了出来,因为是在matlab中实现的最基本的思想,所以就不粘出来了,以免贻笑大方.等以后改成VC的再拿出来供大家参考:).
不过因为用的基本的方法,在模式分解时,有些模式和设定的结果不一样,例如在想得到sin(2*pi*t)这个模式时,端点发散了.按理说这个结果应该引起以后结果的不正确.但在趋势项这一部分为什么结果还是比较好的呢?(我的趋势项为3*t.^2+2,把程序得到的结果用多项式拟合,结果为2.9957 0.0034592 1.9996),所以感觉有些不解,在IMF中不正确的部分,难道不会影响趋势项?不应该呀.还请eight兄给解释一下.

eight 发表于 2007-1-20 13:08

有些模式和设定的结果不一样
——很正常吧,这是一个近似算法,还没有理论保证,如果你想要精确的结果,恐怕要等到EMD如小波那样有突破性进展才行,呵呵

在趋势项这一部分为什么结果还是比较好的呢?
——不奇怪,有可能正负抵消。端点效应这个问题也没有完全解决,对不同的信号,效果应该会不一样,可能对某些信号而言,结果没有那么好,但对某些信号而言,结果却不差。EMD方法对哪些信号有效至今仍然没有定论,不过不要寄望该方法能够适用于所有信号。


另外,标题中请勿写我的ID,谢谢

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

qinle 发表于 2007-1-20 15:05

你提到的问题,以后会注意,以后不再在标题中写你的ID了.:)
我自己理解的是:
用EMD对信号进行分解,即使有端点效应,对于频率变化较大的信号,前几个IMF应该得到的还是相对正确的,只是由于再往后分解,由于频率相近,端点效应引起的变化就会越来越严重.
对于我得到的趋势项变化不大,是不是因为我所做的信号函数的组成部分用来的都是周期函数的原因?正如你所言,虽然后面的IMF发散了,但由于产生了抵消,所以没有怎么影响趋势项?
以上两点是我对结果的理解,不知道对不对?还请指教

eight 发表于 2007-1-20 18:51

用EMD对信号进行分解,即使有端点效应,对于频率变化较大的信号,前几个IMF应该得到的还是相对正确的,只是由于再往后分解,由于频率相近,端点效应引起的变化就会越来越严重.
——难说,还没有理论支持
是不是因为我所做的信号函数的组成部分用来的都是周期函数的原因?——这个不清楚,呵呵
页: [1]
查看完整版本: eight,关于EMD的一个问题,也请其他网友参与解答