CEEMD: Complete Ensemble Empirical Mode Decomposition

View source: R/empirical_mode_decomposition.R

CEEMDR Documentation

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.

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.

Value

ceemd.result

The final result of the CEEMD algorithm

.

Author(s)

Daniel Bowman danny.c.bowman@gmail.com

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


## 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)


hht documentation built on March 31, 2023, 10:08 p.m.

Related to CEEMD in hht...