emd.spectra.hilbertmarginal#

emd.spectra.hilbertmarginal(IF, IA, order=2, freq_edges=None, amp_edges=None, sum_time=True, sum_imfs=True, sample_rate=1, scaling=None, return_sparse=False, return_Gb_limit=10)[source]#

Compute a generalised Hilbert marginal spectrum.

This is an experimental function which probably implements the method introduced in Huang et al (2008) _[1]. This creates a 2D amplitude-frequency representation of the signal.

Parameters:
IFndarray

2D first level instantaneous frequencies

IAndarray

2D first level instantaneous amplitudes

orderint

Power to which amplitude is raised before spectrum computation.

freq_edges: {ndarray, tuple or None}

Definition of the frequency bins used in the spectrum. This may be:

  • array_like vector of bin edge values (as defined by

emd.spectra.define_hist_bins)

  • a tuple of values that can be passed to emd.spectra.define_hist_bins

(eg edges=(1,50,49) will define 49 bins between 1 and 50Hz)

  • None in which case a sensible set of bins will be defined from the

input data (this is the default option)

amp_edges{ndarray, tuple or None}

Definition of amplitude bins used in spectrum. Format options are the same as for freq_edges.

sum_timeboolean

Flag indicating whether to sum across time dimension

sum_imfsboolean

Flag indicating whether to sum across IMF dimension

sample_ratefloat

Sampling rate of the data used in ‘density’ scaling

scaling{‘density’, ‘spectrum’, None}

Switch specifying the normalisation or scaling applied to the spectrum.

return_sparsebool

Flag indicating whether to return the full or sparse form(Default value = True)

return_Gb_limit{float, None}

Maximum array size in Gb that will be returned if a non-sparse/dense array is being returned (default = 10). If the function return would exceed this size, the function will raise an error. If set to None, then no limit is imposed. Sparse arrays are always returned.

Returns:
andarray

Vector of histogram bin centers for each amplitude

fndarray

Vector of histogram bin centers for each frequency

hhtndarray

2D array containing the Hilbert-Huang Transform

References

[1]

Huang, Y. X., Schmitt, F. G., Lu, Z. M., & Liu, Y. L. (2008). An amplitude-frequency study of turbulent scaling intermittency using Empirical Mode Decomposition and Hilbert Spectral Analysis. In EPL (Europhysics Letters) (Vol. 84, Issue 4, p. 40010). IOP Publishing. https://doi.org/10.1209/0295-5075/84/40010