Learn R Programming

hht (version 2.1.6)

HHSpecPlot: Display Hilbert periodogram

Description

This function displays the Hilbert periodogram, with options to plot individual IMFs and also the Fourier periodogram for comparison.

Usage

HHSpecPlot(hspec, freq.span = NULL, scaling = "none", imf.list = NULL, 
    show.total = TRUE, show.fourier = FALSE, scale.fourier = FALSE, 
    show.imfs = FALSE, legend = TRUE, ...)

Arguments

hspec

Data structure returned by HHSpectrum

freq.span

Frequency range to plot, NULL plots all of them

scaling

Amplitude scaling, can be "log" (log 10), "sqrt" (square root), defaults to "none".

imf.list

Which IMFs to plot, requires show.imfs = TRUE.

show.total

Show the ensemble Hilbert spectrogram

show.fourier

Show the Fourier periodogram

scale.fourier

Scale Fourier and Hilbert spectra to each other for easier comparison

show.imfs

Plot individual IMF spectra

legend

Determines whether or not a legend is shown

...

This function supports some optional parameters as well:

  • xlab - X axis label

  • ylab - Y axis label

  • legend.location - where to put the legend

  • total.col - color of ensemble Hilbert periodogram

  • total.lwd - lwd of ensemble Hilbert periodogram

  • total.lty - lty of ensemble Hilbert periodogram

  • imf.cols - colors of IMF periodogram

  • imf.lwd - lwds of IMF periodogram

  • imf.lty - ltys of IMF periodogram

  • fourier.col - color of Fourier periodogram

  • fourier.lwd - lwd of Fourier periodogram

  • fourier.lty - lty of Fourier periodogram

  • main - figure title

Author

Daniel Bowman danny.c.bowman@gmail.com

Details

This function plots the Hilbert periodogram of a signal, with options to show periodograms of individual IMFs. You can also plot a simple Fourier periodogram for comparison.

See Also

HHSpectrum, HHGramImage

Examples

Run this code

#Here we see how the EMD produces a dyadic filter bank for uniform random noise
#The frequency distributions of all but the first IMF display a Chi-Square distribution
#See Huang, N. E. & Wu, Z. 
#A review on Hilbert-Huang Transform: Method and its applications to geophysical studies.
#Reviews of Geophysics, 2008, 46, RG2006

#The EMD of this signal may take a couple of minutes to run

set.seed(628)
sig  <-  runif(10000)
tt  <-  seq_len(length(sig)) * 0.01

if (FALSE) emd.result  <-  Sig2IMF(sig, tt)

dfreq  <-  0.1
if (FALSE) hspec  <-  HHSpectrum(emd.result, dfreq)

if (FALSE) HHSpecPlot(hspec, show.imfs = TRUE, 
imf.list = 1:10, show.total = TRUE, scaling = "sqrt", 
imf.lwd = rep(2, 10), total.lty = 3)

Run the code above in your browser using DataLab