clouddrift.signal.ellipse_parameters

clouddrift.signal.ellipse_parameters#

clouddrift.signal.ellipse_parameters(xa: ndarray | DataArray, ya: ndarray | DataArray) tuple[ndarray, ndarray, ndarray, ndarray][source]#

Return the instantaneous parameters of a modulated elliptical signal from its analytic Cartesian signals.

Parameters#

xaarray_like

Complex-valued analytic signal for first Cartesian component (zonal, east-west).

yaarray_like

Complex-valued analytic signal for second Cartesian component (meridional, north-south).

Returns#

kappanp.ndarray

Ellipse root-mean-square amplitude.

lambdanp.ndarray

Ellipse linearity between -1 and 1, or departure from circular motion (lambda=0).

thetanp.ndarray

Ellipse orientation in radian.

phinp.ndarray

Ellipse phase in radian.

Examples#

To obtain the ellipse parameters from a pair of real-valued signals (x, y):

>>> kappa, lambda, theta, phi = ellipse_parameters(analytic_signal(x), analytic_signal(y))

Raises#

ValueError

If the input arrays do not have the same shape.

References#

Lilly JM, Olhede SC. 2010 Bivariate instantaneous frequency and bandwidth. IEEE T. Signal Proces. 58, 591–603. (10.1109/TSP.2009.2031729).

See Also#

modulated_ellipse_signal(), analytic_signal(), rotary_to_cartesian(), cartesian_to_rotary()