bivariate Empirical Mode Decomposition, second algorithm
[IMF,NB_ITERATIONS]=cemdc2(T,X); [IMF,NB_ITERATIONS]=cemdc2([],X); [IMF,NB_ITERATIONS]=cemdc2(T,X,STOP_PARAMETERS); [IMF,NB_ITERATIONS]=cemdc2(T,X,STOP_PARAMETERS,MAX_IMFS); [IMF,NB_ITERATIONS]=cemdc2(T,X,STOP_PARAMETERS,MAX_IMFS,NDIRS);
sampling times. If T=[], the signal is assumed uniformly sampled.1xN time instants
analyzed signal, 1xN signal data
parameters for the stopping criterion: if scalar the value is used to specify THRESHOLD only. otherwise the vector should be: [THRESHOLD,TOLERANCE]. if STOP_PARAMETERS is unspecified or empty, default values are used: [0.05,0.05]
maximum number of IMFs to be extracted. If MAX_IMFS is zero, empty or unspecified, the default behavior is to extract as many IMFs as possible.
number of directions used to compute the local mean. If unspecified, the default value is 4. TODO: the actual number of directions (according to [1]) is 2*NDIRS
intrinsic mode functions (IMFs) (last line = residual)
effective number of sifting iterations for each mode
cemdc2 computes bivariate EMD, second algorithm [1] with stopping criterion for sifting similar to the one proposed in [2]:
mean of boolean array {(mean_amplitude)/(envelope_amplitude) > THRESHOLD} < TOLERANCE
[1] G. Rilling, P. Flandrin, P. Gonçalves and J. M. Lilly.,
"Bivariate Empirical Mode Decomposition",
Signal Processing Letters (submitted)
[2] G. Rilling, P. Flandrin and P. Gonçalves
"On Empirical Mode Decomposition and its algorithms",
IEEE-EURASIP Workshop on Nonlinear Signal and Image Processing
NSIP-03, Grado (I), June 2003