• 大小: 167KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: matlab  emd  eemd  

资源简介

一键运行,实现emd,eemd,ceemd去噪,

资源截图

代码片段和文件信息

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  2018-08-03 10:24  去噪整合\ceemdan.m

     文件      72914  2018-08-02 08:33  去噪整合\DATA073001.mat

     文件      84013  2018-08-03 11:59  去噪整合\DATA080301.mat

     文件       5276  2018-08-03 09:08  去噪整合\eemd.m

     文件      22274  2018-08-03 10:27  去噪整合\emd.m

     文件       4361  2018-08-03 09:10  去噪整合\extrema.m

     文件       1291  2018-08-03 11:54  去噪整合\main_quzao.m

     文件       2973  2018-08-03 10:22  去噪整合\ssa1.m

     目录          0  2018-08-03 12:00  去噪整合

----------- ---------  ---------- -----  ----

               196662                    9


评论

共有 条评论