資源簡介
本代碼是CEEMDAN,EEMD和EMD相關(guān)matlab程序,好用,可以運(yùn)行

代碼片段和文件信息
function?[modes?its]=ceemdan(xNstdNRMaxIter)
%?WARNING:?for?this?code?works?it?is?necessary?to?include?in?the?same
%directoy?the?file?emd.m?developed?by?Rilling?and?Flandrin.
%This?file?is?available?at?%http://perso.ens-lyon.fr/patrick.flandrin/emd.html
%We?use?the?default?stopping?criterion.
%We?use?the?last?modification:?3.2007
%?
%?This?version?was?run?on?Matlab?7.10.0?(R2010a)
%----------------------------------------------------------------------
%???INPUTs
%???x:?signal?to?decompose
%???Nstd:?noise?standard?deviation
%???NR:?number?of?realizations
%???MaxIter:?maximum?number?of?sifting?iterations?allowed.
%
%??OUTPUTs
%??modes:?contain?the?obtained?modes?in?a?matrix?with?the?rows?being?the?modes????????
%???its:?contain?the?sifting?iterations?needed?for?each?mode?for?each?realization?(one?row?for?each?realization)
%?-------------------------------------------------------------------------
%??Syntax
%
%??modes=ceemdan(xNstdNRMaxIter)
%??[modes?its]=ceemdan(xNstdNRMaxIter)
%
%--------------------------------------------------------------------------
%?This?algorithm?was?presented?at?ICASSP?2011?Prague?Czech?Republic
%?Plese?if?you?use?this?code?in?your?work?please?cite?the?paper?where?the
%?algorithm?was?first?presented.?
%?If?you?use?this?code?please?cite:
%
%?M.E.TORRES?M.A.?COLOMINAS?G.?SCHLOTTHAUER?P.?FLANDRIN
%??“A?complete?Ensemble?Empirical?Mode?decomposition?with?adaptive?noise“?
%??IEEE?Int.?Conf.?on?Acoust.?Speech?and?Signal?Proc.?ICASSP-11?pp.?4144-4147?Prague?(CZ)
%
%?-------------------------------------------------------------------------
%?Date:?June?062011
%?Authors:??Torres?ME?Colominas?MA?Schlotthauer?G?Flandrin?P.
%?For?problems?with?the?code?please?contact?the?authors:???
%?To:??macolominas(AT)bioingenieria.edu.ar?
%?CC:??metorres(AT)santafe-conicet.gov.ar
%?-------------------------------------------------------------------------
x=x(:)‘;
desvio_x=std(x);
x=x/desvio_x;
modes=zeros(size(x));
temp=zeros(size(x));
aux=zeros(size(x));
acum=zeros(size(x));
iter=zeros(NRround(log2(length(x))+5));
for?i=1:NR
????white_noise{i}=randn(size(x));%creates?the?noise?realizations
end;
for?i=1:NR
????modes_white_noise{i}=emd(white_noise{i});%calculates?the?modes?of?white?gaussian?noise
end;
for?i=1:NR?%calculates?the?first?mode
????temp=x+Nstd*white_noise{i};
????[temp?o?it]=emd(temp‘MAXMODES‘1‘MAXITERATIONS‘MaxIter);
????temp=temp(1:);
????aux=aux+temp/NR;
????iter(i1)=it;
end;
modes=aux;?%saves?the?first?mode
k=1;
aux=zeros(size(x));
acum=sum(modes1);
while??nnz(diff(sign(diff(x-acum))))>2?%calculates?the?rest?of?the?modes
????for?i=1:NR
????????tamanio=size(modes_white_noise{i});
????????if?tamanio(1)>=k+1
????????????noise=modes_white_noise{i}(k:);
????????????noise=noise/std(noise);
????????????noise=Nstd*noise;
????????????try
????????????????[temp?o?it]=emd(x-acum+std(x-acum)*noise‘MAXMODES‘1‘MAXITE
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.......??????3560??2019-10-26?15:15??CEEMDAN_V00\ceemdan.m
????.......??????1460??2019-10-26?15:15??CEEMDAN_V00\ecg.mat
????.......??????3331??2019-10-26?15:15??CEEMDAN_V00\eemd.m
????.......?????22276??2019-10-26?15:15??CEEMDAN_V00\emd.m
????.......??????1695??2019-10-26?15:15??CEEMDAN_V00\example_ICASSP2011.m
?????文件??????????4??2019-10-26?15:16??CEEMDAN_V00\說明.txt
?????目錄??????????0??2019-10-26?15:16??CEEMDAN_V00
-----------?---------??----------?-----??----
????????????????32326????????????????????7
評論
共有 條評論