clouddrift.signal.modulated_ellipse_signal

clouddrift.signal.modulated_ellipse_signal#

clouddrift.signal.modulated_ellipse_signal(kappa: ndarray | DataArray, lambda_: ndarray | DataArray, theta: ndarray | DataArray, phi: ndarray | DataArray) Tuple[ndarray, ndarray][source]#

Return the analytic Cartesian signals (xa, ya) from the instantaneous parameters of a modulated elliptical signal.

This function is the inverse of ellipse_parameters().

Parameters#

kappaarray_like

Ellipse root-mean-square amplitude.

lambdaarray_like

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

thetaarray_like

Ellipse orientation in radian.

phiarray_like

Ellipse phase in radian.

time_axisint, optional

The axis of the time array. Default is -1, which corresponds to the last axis.

Returns#

xanp.ndarray

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

yanp.ndarray

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

Examples#

To obtain the analytic signals from the instantaneous parameters of a modulated elliptical signal:

>>> xa, ya = modulated_ellipse_signal(kappa, lambda, theta, phi)

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#

ellipse_parameters(), analytic_signal(), rotary_to_cartesian(), cartesian_to_rotary()