kevin19821 发表于 2007-11-21 19:19

这样的信号怎么EMD分不出来呢?

ss=1.852*sin(100*pi*t+(83.5/360)*pi)+0.278*sin(300*pi*t-(25/360)*pi)+0.185*sin(500*pi*t+(45/360)*pi)+0.093*sin(700*pi*t+(18/360)*pi);
这样的信号我分解了以下,怎么总是得到的是一个IMF分量,如果通过增加循环次数来分解,这个循环次数应该怎么修改?我用的是rilling2003的程序

[ 本帖最后由 kevin19821 于 2007-11-21 19:53 编辑 ]

zhlong 发表于 2007-11-21 20:07

不好意思,我现在机器上没有HHT程序,不过我记得增加循环次数在emd.m这个程序的说明里面有。自己看一下应该能找到。

kevin19821 发表于 2007-11-21 20:16

谢谢zhlong,但是我在这个版本的程序里还没找到怎么增加循环次数,我在另外的一个版本的再找找吧

[ 本帖最后由 eight 于 2007-11-21 22:12 编辑 ]

zhlong 发表于 2007-11-22 08:51

%
% T: sampling times (line vector) (default: 1:length(x))
%
% MAXITERATIONS: maximum number of sifting iterations for the computation of each
% mode (default: 2000)
%
% MAXMODES: maximum number of imfs extracted (default: Inf)
%
% DISPLAY: if equals to 1 shows sifting steps with pause
% if equals to 2 shows sifting steps without pause (movie style)
% rem: display is disabled when the input is complex
%
% INTERP: interpolation scheme: 'linear', 'cubic', 'pchip' or 'spline' (default)
% see interp1 documentation for details
%
% MASK: masking signal used to improve the decomposition according to
%
%
%   Examples
%
%
%X = rand(1,512);
%
%IMF = emd(X);
%
%IMF = emd(X,'STOP',,'MAXITERATIONS',100);

kevin19821 发表于 2007-11-22 18:29

但是怎么改,有些信号还是分不开的 模态混叠在有些信号里是消除不了的

zhlong 发表于 2007-11-22 18:37

改‘maxiterations’后的数字即可。
增加迭代次数并不能消除所有的模态。

kevin19821 发表于 2007-11-22 19:59

是的,怎么改就是分不出来

[ 本帖最后由 kevin19821 于 2007-11-22 20:01 编辑 ]

zhlong 发表于 2007-11-22 20:46

回复 #7 kevin19821 的帖子

这样的信号EMD基本上不能分开。以前有过这方面的讨论。
你可以看一下那些发表的EMD方面的论文,都是高频信号的幅值大于低频信号的幅值。
高频信号幅值相比低频信号太小,不足于造成低频信号局部尺度有什么变化,而EMD分解依靠的就是局部特征时间尺度,所以分不开正常。

新手上路晚 发表于 2007-12-13 23:53

很多东西是不适合用emd分解来做的

xuxinnuaa 发表于 2007-12-14 11:00

频率高的,振幅反而小,不行

tbdy 发表于 2007-12-15 10:15

emd通常是取极值点间的距离为时间尺度,对楼主的信号以1Mhz取样会发现,信号有凹凸,但只是部分凹凸形成极值点,因此取这种取法不能很好的的反映出固有的摸态。
时间尺度还有其他取法,其中一种是曲率极值点时间尺度,即
x''/((1+x')^2/3)
曲率极值点时间尺度则代表一种轻微的震荡,这种震荡可能在信号局部产生变化,但并不产生极值点。
因此对以上信号用曲率极值点时间尺度或许就可以分出来了。

破凰 发表于 2007-12-15 13:26

回复 #11 tbdy 的帖子

这种曲率极值点是不是信号的二阶导数为零的点?

tbdy 发表于 2007-12-16 07:57

应该是
x''/((1+x')^2/3)
的极值。

hyl2323 发表于 2007-12-19 10:44

EMD不是万能的,没有万能的信号处理方法,每种方法都有其最适合分析的某类信号,EMD对信号中IMF的频率和幅值都有要求的,频率必须是大于2倍间隔的关系(有参考文献),你的信号50Hz,150Hz,250Hz,350Hz,250与150就不满足2倍以上的间隔要求。幅值的要求我觉得8#讲的很有道理。我对EMD的感觉就是“让人欢喜让人忧”。

zhangnan3509 发表于 2007-12-19 10:55

回复 #14 hyl2323 的帖子

HHT这些日子比较热,但是并不是能处理好,其他常见办法的能处理好的信号,也是有自己的特点。现在很多人都在为HHT,其实就是EMD分解的一些缺陷做改进,很多时候这些改进并没有绝对的通用性。
   HHT也不过是一种方法,和小波等等都一样,有所不同的地方是目前相对比较新(但是做的人比较多,连本科的毕设都在做),需要进一步完善,尤其是在IMF的定义以及正交性的研究上。
    很多缺陷都是根源于此,这些问题不能解决,我想它不会被大家最终认可和接受。
页: [1] 2
查看完整版本: 这样的信号怎么EMD分不出来呢?