Module hilbert_spectrum

Module hilbert_spectrum 

Expand description

Hilbert spectral analysis — the second half of the Hilbert-Huang Transform.

EMD/EEMD/CEEMDAN extract IMFs from a non-stationary signal; the Hilbert spectrum then projects each IMF’s instantaneous amplitude and frequency into a joint time-frequency-energy density h(t, ω). The combination is the HHT (Huang et al. 1998).

This module turns the scattered, per-IMF instantaneous-frequency arrays on crate::transform::IMF into a first-class 2D structure and exposes the derived analyses from Huang 1998 §VI:

  • Marginal Hilbert spectrum h(ω) = ∫ h(t, ω) dt — non-stationary analog of a power spectrum.
  • Instantaneous energy density E(t) = ∫ h(t, ω) dω.
  • Degree of stationarity (Eq 8.6).

§Quadrature- vs Hilbert-amplitude tradeoff

The amplitude used here is the magnitude of the Hilbert analytic signal, |x(t) + i·H[x](t)|. For a strictly narrow-band IMF this matches the quadrature amplitude (the true envelope), but for IMFs with broader instantaneous bandwidth the two diverge — the Hilbert amplitude tends to overshoot near extrema and undershoot near zero-crossings. See Huang (2005) for the comparison; the practical recommendation is to keep the Hilbert amplitude when the goal is energy bookkeeping (it satisfies Parseval-style identities) and reach for the quadrature amplitude only when individual envelope shapes matter.

§References

  • Huang, N. E., et al. (1998). The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis. Proc. R. Soc. Lond. A, 454, 903–995. §V–VI.
  • Huang, N. E., & Wu, Z. (2008). A review on Hilbert-Huang transform. Reviews of Geophysics, 46(2).
  • Huang, N. E., Wu, Z., Long, S. R., Arnold, K. C., Chen, X., & Blank, K. (2009). On instantaneous frequency. Adv. Adapt. Data Anal., 1(2), 177–229.

Structs§

HilbertSpectrum
Joint time-frequency-energy density h(t, ω) built from an EMDResult’s IMFs.
HilbertSpectrumConfig
Configuration for hilbert_spectrum.

Functions§

hilbert_spectrum
Build the HilbertSpectrum for emd_result at the given sample_rate.