Skip to main content
. 2021 Oct 6;23(10):1309. doi: 10.3390/e23101309
Algorithm 1: EMD
Input:   The original signal x.
Output:  Several IMF and a residue, i.e., IMFi,i=1,2,,n and r.
1: function EMD (x, ResidueThreshold, SDT)
2:  IMF0
3:  i0
4:   N lengthx
5:  residue
6:  while residue> ResidueThreshold do
7:   ii+1
8:   xixiIMFi
9:    SD
10:   while SD>SDT do
11:    for j = 1j = N do
12:     [LocalMaxij, IndMaxij] maxxi
13:     [LocalMinij, IndMinij] minxi
14:    end for
15:   UpperEnvisplineIndMaxi,LocalMaxi,1:lengthxi
16:   LowerEnvisplineIndMini,LocalMini,1:lengthxi
17:   LocalMeanEnviUpperEnvi+LowerEnvi/2
18:   xixiLocalMeanEnvi
19:   SDxTempxi2xTemp2
20:   end while
21:   IMFixi
22:  residue meanxiIMFi
23:  end while
24:  return IMF and residue
25: end function