ieee-eurasip workshop on nonlinear signal and image processing, grado (i), june 9-11, 2003 on...
TRANSCRIPT
IEEE-EURASIP Workshop on Nonlinear Signal and Image Processing, Grado (I), June 9-11, 2003
On Empirical Mode Decomposition
and its Algorithms
G. Rilling, P. Flandrin (Cnrs - Éns Lyon, France)
P. Gonçalvès (Inria Rhône-Alpes, France)
outline
• Empirical Mode Decomposition (EMD) basics
• examples
• algorithmic issues
• elements of performance evaluation
• perspectives
basic idea
• « multimodal signal = fast oscillations on the top of slower oscillations »
• Empirical Mode Decomposition (Huang)– identify locally the fastest oscillation – substract to the signal and iterate on the
residual – data-driven method, locally adaptive and
multiscale
Huang’s algorithm
• compute lower and upper envelopes from interpolations between extrema– substract mean envelope from signal– iterate until mean envelope = 0 and
#{extrema} = #{zero-crossings} ± 1
• substract the obtained Intrinsic Mode Function (IMF) from signal and iterate on residual
how EMD works
tone
chirp
tone + chirp
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-2
-1
0
1
2
IMF 1; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1.5
-1
-0.5
0
0.5
1
1.5
IMF 1; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 3
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 4
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 5
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 6
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 7
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 1; iteration 8
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 3
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 4
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
IMF 2; iteration 5
10 20 30 40 50 60 70 80 90 100 110 120
-1
-0.5
0
0.5
1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
IMF 3; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-0.4
-0.2
0
0.2
0.4
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.4
-0.2
0
0.2
0.4
IMF 3; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
IMF 3; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120-0.3
-0.2
-0.1
0
0.1
0.2
0.3residue
10 20 30 40 50 60 70 80 90 100 110 120-0.3
-0.2
-0.1
0
0.1
0.2
0.3IMF 3; iteration 3
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 4
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 5
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 6
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 7
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 8
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 3; iteration 9
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 3; iteration 10
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 3; iteration 11
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 3; iteration 12
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.5
0
0.5
IMF 4; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
IMF 4; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
IMF 4; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120-0.3
-0.2
-0.1
0
0.1
0.2
0.3residue
10 20 30 40 50 60 70 80 90 100 110 120-0.3
-0.2
-0.1
0
0.1
0.2
0.3IMF 4; iteration 3
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 4
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 5
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 6
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 7
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 8
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 9
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 10
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 4; iteration 11
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 4; iteration 12
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 4; iteration 13
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 4; iteration 14
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2residue
10 20 30 40 50 60 70 80 90 100 110 120-0.2
-0.1
0
0.1
0.2IMF 4; iteration 15
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
IMF 4; iteration 16
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
IMF 5; iteration 0
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.2
-0.1
0
0.1
0.2
IMF 5; iteration 1
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
IMF 5; iteration 2
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
IMF 5; iteration 3
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 4
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 5
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 6
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 7
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 8
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 9
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 10
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
IMF 5; iteration 11
10 20 30 40 50 60 70 80 90 100 110 120
-0.1
-0.05
0
0.05
0.1
residue
imf1
Empirical Mode Decomposition
imf2
imf3
imf4
imf5
imf6
10 20 30 40 50 60 70 80 90 100 110 120
res.
EMD and AM-FM signals
• quasi-monochromatic harmonic oscillations• self-adaptive time-variant filtering• example : 2 sinus FM + 1 Gaussian wave
packet
0 200 400 600 800 1000 1200 1400 1600 1800 2000-1
-0.5
0
0.5
1
EMD
signal
Empirical Mode Decomposition
imf1
imf2
imf3
imf4
imf5
imf6
imf7
imf8
imf9
res.
time-frequency signature
time
frequency
signal
time-frequency signature
time
frequency
signal
time
frequency
mode #1
time-frequency signature
time
frequency
signal
time
frequency
mode #1
time
frequency
mode #2
time-frequency signature
time
frequency
signal
time
frequency
mode #1
time
frequency
mode #2
time
frequency
mode #3
nonlinear oscillations
• IMF ≠ Fourier mode and, in nonlinear situations, 1 IMF = many Fourier modes
• example : 1 HF triangle + 1 MF tone + 1 LF triangle
100 200 300 400 500 600 700 800 900 1000-2
-1
0
1
2
EMD
signal
Empirical Mode Decomposition
imf1
imf2
imf3
res.
issues
• algorithm ?– intuitive but ad-hoc procedure, not unique– several user-controlled tunings
• performance ?– difficult evaluation since no analytical
definition – numerical simulations
algorithmic issues• interpolation
– type ? cubic splines– border effects ? mirror symmetry
• stopping criteria– mean zero ? 2 thresholds– variation 1 : « local EMD »
• computational burden– about log2 N IMF ’s for N data points
– variation 2 : « on-line EMD »
performance evaluation
• extensive numerical simulations
• deterministic framework– importance of sampling– ability to resolve multicomponent signals
• a complement to stochastic studies– noisy signals + fractional Gaussian noise– PF et al., IEEE Sig. Proc. Lett., to appear
EMD of fractional Gaussian noise
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
H = 0.2
76 5 4 3 2 1
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
H = 0.5
76 5 4 3 2 1
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
H = 0.8
76 5 4 3 2 1
frequency
1. EMD and (tone) sampling
case 1 — oversampling
equal height maxima
constant upper envelope
equal height minima
constant lower envelope
zero mean : tone = IMF
case 2 — moderate sampling
fluctuating maxima
modulated upper envelope
fluctuating minima
modulated lower envelope
non zero mean : tone ≠ IMF
experiment 1
• 256 points tone, with 0 ≤ f ≤1/2
• error = normalized L2 distance comparing tone vs. IMF #1
• minimum when 1/f even multiple of the sampling period
-8 -7 -6 -5 -4 -3 -2 -1-16
-14
-12
-10
-8
-6
-4
-2
0
log2(frequency)
log
2(error)
experiment 2
• 256 points tones, with 0 ≤ f1 ≤1/2 and f2 ≤ f1
• error = weighted normalized L2 distance comparing tone #1 vs. IMF #1, and tone #2 vs. max{IMF #k, k ≥ 2}
f1 > f
2
f 2
a1/a
2 = 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
experiment 3
• intertwining of amplitude ratio, sampling rate and frequency spacing
• dominant effect when f1 ≤ 1/4 : constant-Q (wavelet-like) « confusion band »
f1 > f
2
a1/a
2 = 1
f1 > f
2
a1/a
2 = 4
f1 > f
2
a1/a
2 = 1/4
concluding remarks
• EMD is an appealing data-driven and multiscale technique
• spontaneous dyadic filterbank structure in « stationary » situations, stochastic (fGn) or not (tones)
• EMD defined as output of an algorithm: theoretical framework beyond numerical simulations?
(p)reprints, Matlab codes and demos
www.ens-lyon.fr/~flandrin/emd.html