The Hilbert Transform and Empirical Mode Decomposition:

Post on 26-Jan-2016

75 views 8 download

Tags:

description

The Hilbert Transform and Empirical Mode Decomposition:. Powerful Tools for Data Analysis. Suz Tolwinski University of Arizona Program in Applied Mathematics Spring 2007 RTG. Deriving the Hilbert Transform. - PowerPoint PPT Presentation

transcript

The Hilbert Transform and Empirical Mode Decomposition:

Suz Tolwinski

University of Arizona

Program in Applied Mathematics

Spring 2007 RTG

Powerful Tools for Data Analysis

Deriving the Hilbert Transform

For f(z) = u(x,y) + iv(x,y) analytic on the upper half-plane, and decays at infinity: Cauchy’s Integral Formula+ Decay of function+ Clever rearrangement of terms : Relationship between u(x,y) and v(x,y) on RR

Define the Hilbert transform in similar spirit:

Another View of the Hilbert Transform.

Looks like minus the convolution of f(t) with 1/πt.Apply Convolution Theorem for something more manageable in frequency space?

Take away message:The Hilbert transform rotates a signal counter-clockwise by π/2 at every point in itspositive frequency spectrum, and clockwise at all its negative frequencies.

Real Signals.

A signal is any time-varying quantity containing information.

Signals in nature are real.

Real signals have even frequency spectra.

This makes them difficult to analyze.We would like to know, how is the signalenergy distributed in time and/or frequency space?

For a signal with even frequency spectrum, -Mean frequency? -Spread of signal in frequency space?

Electrocardiographic signal in time and frequency domain

(Energy of s(t) = |s(t)|2 dt = |S()|2 d)

Analytic Signals.

Have positive frequency spectrum only, so<>, spread in are meaningful quantities.

Analytic signal can be represented as time-varying frequency and amplitude:

fANALYT.(t) = A(t)ei(t)

Frequency spectrum of a real signal.

Frequency spectrum of the corresponding analytic signal.

We can construct an analytic signal corresponding to any real signal (takes only the positive frequencies):

FANALYT.() = 1/2(F()+ sgn()F())

Then in the time domain, the analyticsignal is given by

fANALYT.(t) =1/2(f(t) + iH{f(t)})

A(t) = (1/2f(t))2+1/2 (H{f(t)})2)1/2 (t) = tan-1(H{f(t)}/f(t))

Empirical Mode Decomposition of Real Signals.(Method due to N. Huang, 1998.)

• Creates an adaptive decomposition of signal • Result is a generalized Fourier series (Modes with time-varying amplitude and phase)

• Components are called Intrinsic Mode Functions (IMFs) IMFs satisfy two criteria by designs:

-Have only one zero between successive extrema-Have zero “local mean”

• EMD separates phenomena occurring on different time scales.

• “Residue” shows overall trend in data.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

10 20 30 40 50 60 70 80 90 100 110 120

-2

-1

0

1

2

IMF 1; iteration 0Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t) (“residue”-->)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t) (“residue”-->)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t) (“residue”-->)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

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

Residue = s(t)

I1(t) = Residue

i = 1

k = 1

while Residue not equal zero or not monotone

while Ii has non-negligible local mean

U(t) = spline through local maxima of Ii

L(t) = spline through local minima of Ii

Av(t) = 1/2 (U(t) + L(t))

Ii(t) = Ii(t) - Av(t)

i = i + 1

end

IMFk(t) = Ii(t)

Residue = Residue - IMFk

k = k+1

end

Huang’s “Sifting Process”.

Now that we have a set of IMFs; construct their analytic counterparts using the Hilbert transform.

The Hilbert Spectrum

Now we can look at f(t) in time and frequency space simultaneously.Instantaneous frequency is given by the derivative of the phase angle.The Hilbert spectrum H(,t) gives the instantaneous amplitude (~energy) as a function of frequency.A plot of H(,t) provides an intuitive, visual representation of the signal in time and frequency.

Example: EMD for a Test Signal with Known Components.

Hilbert Spectrum for EMD of Example Signal.

Real-World Example: Temperature Data from Amherst, MAfrom 1988 - 2005.

IMF 8

IMF 5

Physical Interpretation of IMFs for Amherst Temperature Data.

Huang-Hilbert Spectrum for EMD of Amherst Temperature Data

-Most of the signal information contained in the bottom 10% of all frequencies represented-Can we make a correspondence between what we see here and the IMFs of the decomposition?-This would help identify which modes are important in determining the character of the data.

Hilbert Spectrum for IMF 8

Hilbert Spectrum for IMF 7

Increasing Frequencies: Decreasing Information!

IMF 6

IMF 5

IMF 4

Interpretation of Residue (Shows Overall Trend).

Bibliography.

• Langton, C. Hilbert Transform, Anayltic Signal and the Complex Envelope Signal Processing and Simulation Newsletter, 1999. http://www.complextoreal.com/tcomplex.htm

• Electrocardiograph signal graphic: http://www.neurotraces.com/scilab/scilab2/node61.html

• MATLAB code used for all computations, and “sifting” graphics: Rilling, G. MATLAB code for computation of EMD and illustrative slides. http://perso.ens lyon.fr/patrick.flandrin/emd.html

• Temperature data from Amherst, MA: Williams, C.N., Jr., M.J. Menne, R.S. Vose, and D.R. Easterling. 2006. United States Historical Climatology Network Daily Temperature, Precipitation, and Snow Data. ORNL/CDIAC-118, NDP-070. Online at [http://cdiac.ornl.gov/epubs/ndp/ushcn/usa.html]; site MA190120

• “Burning Globe” graphic: http://river2sea72.wordpress.com/2007/03/24/its-not-all-about-carbon-or-is-it/