clouddrift.wavelet.morse_freq#
- clouddrift.wavelet.morse_freq(gamma: ndarray | float, beta: ndarray | float) tuple[ndarray, ndarray, ndarray] | tuple[float, float, float] [source]#
Frequency measures for generalized Morse wavelets. This functions calculates three different measures fm, fe, and fi of the frequency of the lowest-order generalized Morse wavelet specified by parameters
gamma
andbeta
.Note that all frequency quantities here are in radian as in cos(f t) and not cyclic as in np.cos(2 np.pi f t).
For
beta=0
, the corresponding wavelet becomes an analytic lowpass filter, and fm is not defined in the usual way but as the point at which the filter has decayed to one-half of its peak power.For details see Lilly and Olhede (2009), doi: 10.1109/TSP.2008.2007607.
Parameters#
- gammanp.ndarray or float
Gamma parameter of the wavelets.
- betanp.ndarray or float
Beta parameter of the wavelets.
Returns#
- fmnp.ndarray
The modal or peak frequency.
- fenp.ndarray
The energy frequency.
- finp.ndarray
The instantaneous frequency at the wavelets’ centers.
Examples#
>>> fm, fe, fi = morse_freq(3, 4)
>>> morse_freq(3, 4) (array(1.10064242), 1.1025129235952809, 1.1077321674324723)
>>> morse_freq(3, np.array([10, 20, 30])) (array([1.49380158, 1.88207206, 2.15443469]), array([1.49421505, 1.88220264, 2.15450116]), array([1.49543843, 1.88259299, 2.15470024]))
>>> morse_freq(np.array([3, 4, 5]), np.array([10, 20, 30])) (array([1.49380158, 1.49534878, 1.43096908]), array([1.49421505, 1.49080278, 1.4262489 ]), array([1.49543843, 1.48652036, 1.42163583]))
>>> morse_freq(np.array([3, 4, 5]), 10) (array([1.49380158, 1.25743343, 1.14869835]), array([1.49421505, 1.25000964, 1.13759731]), array([1.49543843, 1.24350315, 1.12739747]))
See Also#