Empirical mode decomposition

`[___] = emd(___,`

estimates emd with additional options specified by one or more
`Name,Value`

)`Name,Value`

pair arguments.

`emd(___)`

plots the original signal, IMFs, and
residual signal as subplots in the same figure.

**Empirical Mode Decomposition**

`emd`

decomposes a signal *X*(*t*) into *k* number of intrinsic mode functions (IMF), and residual *r _{k}*(

Find local maxima and minima for signal

*X(t)*to construct an upper envelope*s*_{+}(*t*), and a lower envelope*s*_{–}(*t*).Compute mean envelope for

*i*th iteration,*m*(_{k,i}*t*),$${m}_{k,i}\left(t\right)=\frac{1}{2}\left[{s}_{+}\left(t\right)+{s}_{-}\left(t\right)\right]$$

With

*c*(_{k}*t*) =*X*(*t*) for the first iteration, subtract mean envelope from residual signal,$${c}_{k}\left(t\right)={c}_{k}\left(t\right)-{m}_{k,i}\left(t\right)$$

If

*c*(_{k}*t*) does not match the criteria of an IMF, steps 4 and 5 are skipped. The procedure is iterated again at step 1 with the new value of*c*(_{k}*t*).If

*c*matches the criteria of an IMF, a new residual is computed. To update the residual signal, subtract the_{k}(t)*k*th IMF from the previous residual signal,$${r}_{k}\left(t\right)={r}_{k-1}\left(t\right)-{c}_{k}\left(t\right)$$

Then begin from step 1, using the residual obtained as a new signal

*r*(_{k}*t*), and store*c*(_{k}*t*) as an intrinsic mode function.

For *N* intrinsic mode functions, the original signal is represented
as,

$$X\left(t\right)={\displaystyle \sum _{i=1}^{N}{c}_{i}\left(t\right)+{r}_{N}\left(t\right)}$$

For more information about the sifting process, see [1] and [2].

`SiftRelativeTolerance`

is a Cauchy type stop criterion proposed in
[4]. Sifting stops when current
relative tolerance is less than `SiftRelativeTolerance`

. The current
relative tolerance is defined as

$$\text{RelativeTolerance}\triangleq \frac{{\Vert c{\left(t\right)}_{\text{previous}}-c{\left(t\right)}_{\text{current}}\Vert}^{2}}{{\Vert c{\left(t\right)}_{\text{current}}\Vert}^{2}}.$$

Because the Cauchy criterion does not directly count the number of
zero crossings and local extrema, it is possible that the IMFs returned by the
decomposition do not satisfy the strict definition of an intrinsic mode function. In
those cases, you can try reducing the value of the
`SiftRelativeTolerance`

from its default value. See [4] for a detailed discussion of
stopping criteria. The reference also discusses the advantages and disadvantages of
insisting on strictly defined IMFs in empirical mode decomposition.

Energy ratio is the ratio of the energy of the signal at the beginning of sifting and
the average envelope energy [3]. Decomposition stops when
current energy ratio is larger than `MaxEnergyRatio`

. For *k* IMFs, `EnergyRatio`

is defined as

$$\text{EnergyRatio}\triangleq 10{\mathrm{log}}_{10}\left(\frac{{\Vert X\left(t\right)\Vert}^{2}}{{\Vert {r}_{k}\left(t\right)\Vert}^{2}}\right).$$

[1] Huang, Norden E., Zheng Shen,
Steven R. Long, Manli C. Wu, Hsing H. Shih, Quanan Zheng, Nai-Chyuan Yen, Chi Chao Tung,
and Henry H. Liu. "The empirical mode decomposition and the Hilbert spectrum for
nonlinear and non-stationary time series analysis." *Proceedings of the Royal
Society of London. Series A: Mathematical, Physical and Engineering
Sciences*. Vol. 454, 1998, pp. 903–995.

[2] Rilling, G., Patrick Flandrin,
and Paulo Gonçalves. "On empirical mode decomposition and its algorithms."
*IEEE-EURASIP Workshop on Nonlinear Signal and Image
Processing* 2003. NSIP-03. Grado, Italy. 8–11.

[3] Rato, R.T., Manuel Ortigueira,
and Arnaldo Batista. "On the HHT, its problems, and some solutions."
*Mechanical Systems and Signal Processing* Vol. 22, 2008, pp.
1374–1394.

[4] Wang, Gang, Xian-Yao Chen,
Fang-Li Qiao, Zhaohua Wu, and Norden Huang. "On Intrinsic Mode Function."
*Advances in Adaptive Data Analysis*. Vol. 2, Number 3, 2010,
pp. 277–293.