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()