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 : R Relationship between u(x,y) and v(x,y) on R 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 its positive 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 signal energy 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: f ANALYT. (t) = A(t)e i (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): F ANALYT. ( ) = 1/2 ( F( )+ sgn( )F( ) ) Then in the time domain, the analytic signal is given by f ANALYT. (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.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) (“residue”-->) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) (“residue”-->) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) (“residue”-->) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k k = k+1 end Huang’s “Sifting Process”.
Residue = s(t) I 1 (t) = Residue i = 1 k = 1 while Residue not equal zero or not monotone while I i has non-negligible local mean U(t) = spline through local maxima of I i L(t) = spline through local minima of I i Av(t) = 1/2 (U(t) + L(t)) I i (t) = I i (t) - Av(t) i = i + 1 end IMF k (t) = I i (t) Residue = Residue - IMF k 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, MA from
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, Electrocardiograph signal graphic: MATLAB code used for all computations, and “sifting” graphics: Rilling, G. MATLAB code for computation of EMD and illustrative slides. lyon.fr/patrick.flandrin/emd.htmlhttp://perso.ens Temperature data from Amherst, MA: Williams, C.N., Jr., M.J. Menne, R.S. Vose, and D.R. Easterling United States Historical Climatology Network Daily Temperature, Precipitation, and Snow Data. ORNL/CDIAC-118, NDP-070. Online at [ site MA “Burning Globe” graphic: