资源简介
本代码是CEEMDAN,EEMD和EMD相关matlab程序,好用,可以运行

代码片段和文件信息
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
- 上一篇:MATLAB——将数组文件写入到dat文件中
- 下一篇:最小二乘法实现位相解包裹
相关资源
- EMD 算法MATLAB 程序
- Norden E.Huang的FEEMD算法
- EEMD的MATLAB程序
- eemd分解和作图
- eemd算法程序 matlab代码
- MATLAB信号处理EEMD工具箱
- EMD matlab实现源码
- EEMD集成经验模态分解matlab程序.rar
- emd和eemd算法的matlab源程序
- 中央大学 EMD HHT Matlab 源代码
- EMD HHT Matlab 信号分析,Google英文原版
- HHT变换的3种方法
- matlab自带HHT算法,最简洁的EMD分解
- ModelPredictiveControlSystemDesignandImplement
- 西储大学轴承故障分析matlab代码
- Matlab EMD工具箱+时频分析TFTB工具箱
- 经验模态分解+样本熵matlab程序代码
- 西储大学轴承数据及EMD代码
- MATLAB 2016可用 EMD工具箱
- 振动信号EMD分析matlab算法-abbr_96cb004
- EEMD算法工具包
- 基于EMD分解·和希尔伯特变换(HHT)的
- MATLAB——FEEMD.rar
- EEMD集合经验模态分解matlab程序代码
- 经验模态分解EMD对复杂信号进行分解
- 经验模态分解算法EMD MATLAB程序
- emd算法的matlab实现
- EMD过程中数据拟合的算法改进与实现
- emd程序,EMD分解算法
- 可以运行的EMD工具箱针对hhspectrum错误
评论
共有 条评论