lamb0145 发表于 2009-7-17 09:18

求助EMD分解的简单例子

才接触emd没多久,很多都还只是知道原理,实际的不会做。

现在我想要分解一个曲线,随便什么曲线。把上面的高频的噪声分解出来,可不可以给一个这样的例子。最好有详细的说明。因为我不是太看的懂。emd和时频工具箱我都装好了,虽然没搞懂。。。

本来我也不想发帖的,看到太多讲的太深,我不懂。论坛规则里说置顶帖的求助我也没找到,所以发了。

谢谢大家了。或者告诉下我这样的去看什么书或者从哪里学起比较好。

rhenus 发表于 2009-7-17 16:36

把一个10hz和一个1hz的分量叠加,然后用emd处理就会把他们分开
clear
t = 0:0.01:10;
x1 = sin(2*pi*t);
x2 = sin(2*pi*10*t);
sig = x1 + x2;
= emd(sig);
cn = size(imf,2);
subplot(cn+2,1,1)%首先画出原始信号
plot(sig)
title('original sigal')
for k = 2:cn+1%循环画出imf分量
subplot(cn+2,1,k)
plot(imf(:,k-1))
title(['imf ',num2str(k-1)])
end
subplot(cn+2,1,cn+2)%最后画出残余量
plot(r)
title('residual')

lamb0145 发表于 2009-7-20 10:16

原帖由 rhenus 于 2009-7-17 16:36 发表 http://www.chinavib.com/forum/images/common/back.gif
把一个10hz和一个1hz的分量叠加,然后用emd处理就会把他们分开
clear
t = 0:0.01:10;
x1 = sin(2*pi*t);
x2 = sin(2*pi*10*t);
sig = x1 + x2;
= emd(sig);
cn = size(imf,2);
subplot(cn+2,1,1)%首先画出原 ...

你的程序是挺容易理解的,但是我一运行就卡死在那里了,CPU占用马上到100%。是不是你复制过来的时候有复制错了或是怎么样的。总之是不行的。

。。。。。。。。。。。。。。。。。。

wyy_lj 发表于 2009-7-23 07:25

求助

我也想学学用emd进行信号处理,可是哪里有EMD函数的matlab程序呢?

hyl2323 发表于 2009-7-23 08:35

自己编程序,emd现在应该没有官方的标准程序,自己编理解深,人家的程序,有错都发现不了。

lamb0145 发表于 2009-7-23 10:01

回复 6楼 hyl2323 的帖子

5楼的已经发给你了。

6楼的说的对,只不过emd这个程序太复杂,涉及的函数太多,一下子看不明白,一些论文又太理论化了,很难自己编,不过最后都要自己弄懂。。。这个我也知道的。。。呵呵,只是现在还不行。。。

zzqgis 发表于 2009-8-7 17:14

上面的例子中更改下面的语句就可以运行,供初学者参考。
cn = size(imf,2);
更改为
cn = size(imf,1);

misslfx 发表于 2009-8-8 10:44

回复 9楼 wains 的帖子

搜索论坛就能找到法国人Rilling的程序,这是网址,可以直接下载
http://perso.ens-lyon.fr/patrick.flandrin/emd.html

wains 发表于 2009-8-10 14:31

回复 8楼 misslfx 的帖子

这个早已知道,在版上也混了不少时间了,还是谢谢你
用的就是法国人Rilling的程序,但是得不到rhenus所贴的结果,见贴图
不知道何故?

[ 本帖最后由 wains 于 2009-8-10 14:32 编辑 ]

misslfx 发表于 2009-8-10 22:05

回复 9楼 wains 的帖子

用Rilling的程序,rhenus的信号可分解为:

clear
t = 0:0.01:10;
x1 = sin(2*pi*t);
x2 = sin(2*pi*10*t);
s = x1 + x2;
%IMF集
= emd(s);

figure(1);
emd_visu_1(s,t,imf,1);

其中分量三和四为虚假成分

nkdtxf 发表于 2009-10-29 09:01

clear
t = 0:0.01:10;
x1 = sin(2*pi*t);
x2 = sin(2*pi*10*t);
s = x1 + x2;
%IMF集
= emd(s);

figure(1);
emd_visu(s,t,imf,1);

应该这样吧。才能运行啊

wangzhw 发表于 2009-11-9 17:04

为什么我运行的时候会出现这样的错误提示呢?
Undefined function or method 'emd' for input arguments of type 'double'

nkdtxf 发表于 2009-11-10 20:59

没添加入EMD

anfengping 发表于 2010-1-16 11:21

求助EMD

请问楼主有EMD.M文件吗。我这运行老出现不了你的结果。谢谢!!!

aprilcat 发表于 2010-1-20 16:19

回复 10楼 misslfx 的帖子

在一个实际测量信号的处理过程中,怎末知道emd分出来的哪个是虚假成分呢?
页: [1] 2
查看完整版本: 求助EMD分解的简单例子