hht (version 2.1.3)

CEEMD: Complete Ensemble Empirical Mode Decomposition

Description

This function implements the complete ensemble empirical mode decomposition (CEEMD) algorithm.

Usage

CEEMD(sig, tt, noise.amp, trials, verbose = TRUE, spectral.method = "arctan", diff.lag = 1, tol = 5, max.sift = 200, stop.rule = "type5", boundary = "wave", sm = "none", smlevels = c(1), spar = NULL, max.imf = 100, interm = NULL, noise.type = "gaussian", noise.array = NULL)

Arguments

sig
a time series to be decomposed (vector)
tt
The sample times of sig
noise.amp
Amplitude of white noise to use in denoising algorithm
trials
Number of times to run EMD
verbose
If TRUE, notify when each trial is complete
spectral.method
See Sig2IMF.
diff.lag
See Sig2IMF.
tol
See Sig2IMF.
max.sift
See Sig2IMF.
stop.rule
See Sig2IMF.
boundary
See Sig2IMF.
sm
See Sig2IMF.
smlevels
See Sig2IMF.
spar
See Sig2IMF.
max.imf
See Sig2IMF.
interm
See Sig2IMF.
noise.type
If unspecified or gaussian, produce a Gaussian noise series with length length(sig) and standard deviation noise.amp. If uniform, produce a uniform random distribution with length length(sig) and maximum absolute value of noise.amp. If custom, then use a custom noise array as defined in input parameter noise.array (see below).
noise.array
If noise.type = "custom", this array must be a TRIALS x LENGTH(TT) collection of time series to be used in the place of uniform or gaussian noise. Each row in the array corresponds to the noise series added for that particular trial during the CEEMD run. By default, noise.array = NULL.

Value

ceemd.result
The final result of the CEEMD algorithm
.

Details

This function performs the complete ensemble empirical mode decomposition, a noise assisted empirical mode decomposition algorithm. The CEEMD works by adding a certain amplitude of white noise to a time series, decomposing it via EMD, and saving the result. In contrast to the Ensemble Empirical Mode Decomposition (EEMD) method, the CEEMD also ensures that the IMF set is quasi-complete and orthogonal. The CEEMD can ameliorate mode mixing and intermittency problems. Keep in mind that the CEEMD is a computationally expensive algorithm and may take significant time to run.

References

Torres, M. E., Colominas, M. A., Schlotthauer, G., Flandrin, P. (2011). A complete ensemble empirical mode decomposition with adaptive noise. 2011 IEEE International Conference on Acoustics, Speech, and Signal Processing, pp.4144-4147, doi: 10.1109/ICASSP.2011.5947265.

See Also

EEMD, Sig2IMF, PlotIMFs.

Examples

Run this code

## Not run: 
# 
# data(PortFosterEvent)
# noise.amp <- 6.4e-07
# trials <- 100
# 
# ceemd.result <- CEEMD(sig, tt, noise.amp, trials)
# PlotIMFs(ceemd.result, imf.list = 1:6, time.span = c(5, 10))
# ## End(Not run)

Run the code above in your browser using DataCamp Workspace