# HHT and how to plot the Hilbert spectrum

NOTE: The following is based on an unanswered question posted here: How to plot the Hilbert Spectrum in Hilbert-Huang transform? , based on the usage of the "plot_hht" from here: (https://www.mathworks.com/matlabcentral/fileexchange/19681-hilbert-huang-transform)

From what I understand the "plot_hht" does, after applying EMD to a signal, the IMF's of the signal remain. The Hilbert Transform is then applied to each IMF, and the resulting phase angles are somehow used to help find the instantaneous frequency (with respect to time).

Is it possible to represent these instantaneous frequencies vs time, with a third dimension, its strength/amplitude?

EDIT P.S.: For clarity, the desired result is a graph that looks like this: , as taken from an article titled "Detecting position dependent tremor with the Empirical mode decomposition".

• Plu, can you please help with how to plot the curves as you have posted as above? I have been trying for over a week, but no success.I even checked the link hilbertspectrum.com, but couldn't locate the file that helps achieve this.
– Tahm
Aug 17, 2017 at 9:42
• Did you figure out how to plot the 2D picture? I am lost... Oct 24, 2017 at 21:22
• @Tahm I probably won't be able to help you directly, but to get results, you first need to do the empirical mode decomposition; Then from each IMF obtained, you use the Hilbert transform to help get the instantaneous frequency and amplitude from every point of the IMF.
– plu
Oct 25, 2017 at 22:11
• @AnnieLiangli FYI, its actually a 3D picture, you've got time, frequency, and amplitude (strength indicated by colours).
– plu
Oct 25, 2017 at 22:12

The Hilbert spectrum $$x(t)$$ is:

$$x(t)=\Re\left\{\sum_{j=1}^{n}a_j(t)\mathrm{exp}\left[ i\int \omega_j(t)dt \right] \right\}$$

where $$a$$ is the instantaneous amplitude of the resulting IMF's (i.e.: an absolute value of the Hilbert Transform applied to every point of one IMF), and $$\omega$$ is the instantaneous frequency of the resulting IMF's, calculated from differencing of $$\theta$$ over time:

$$\omega=\frac{d\theta}{dt}$$

where $$\theta$$ is the inverse tan of the imaginary divided by real components such as

$$\theta(t)=\mathrm{arctan}\left( \frac{y}{x}\right)$$

So adding the results using all the IMF's should provide the 3D time-frequency-amplitude information.

• For anyone else having the same confusion I had, info and code from this website can more directly help: www.hilbertspectrum.com
– plu
Feb 3, 2017 at 1:23
• For further clarification, here's a video from CERN presented by Norden Huang, the inventor of the Hilbert Huang Transform: cds.cern.ch/record/1115835?ln=en
– plu
Dec 11, 2018 at 22:56