clouddrift.signal.cartesian_to_rotary#
- clouddrift.signal.cartesian_to_rotary(ua: ndarray | DataArray, va: ndarray | DataArray, time_axis: int = -1) tuple[ndarray, ndarray][source]#
- Return rotary signals (wp,wn) from analytic Cartesian signals (ua,va). - If ua is the analytic signal from real-valued signal u, and va the analytic signal from real-valued signal v, then the positive (counterclockwise) and negative (clockwise) signals are defined by wp = 0.5*(up+1j*vp), wp = 0.5*(up-1j*vp). - This function is the inverse of - rotary_to_cartesian().- Parameters#- uaarray_like
- Complex-valued analytic signal for first Cartesian component (zonal, east-west) 
- vaarray_like
- Complex-valued analytic signal for second Cartesian component (meridional, north-south) 
- time_axisint, optional
- The axis of the time array. Default is -1, which corresponds to the last axis. 
 - Returns#- wpnp.ndarray
- Complex-valued positive (counterclockwise) rotary signal. 
- wnnp.ndarray
- Complex-valued negative (clockwise) rotary signal. 
 - Examples#- To obtain the rotary signals from a pair of real-valued signal: - >>> u = np.random.rand(99) >>> v = np.random.rand(99) >>> wp, wn = cartesian_to_rotary(analytic_signal(u), analytic_signal(v)) - To specify that the time axis is along the first axis: - >>> u = np.random.rand(100, 99) >>> v = np.random.rand(100, 99) >>> wp, wn = cartesian_to_rotary(analytic_signal(u), analytic_signal(v), time_axis=0) - Raises#- ValueError
- If the input arrays do not have the same shape. If the time axis is outside of the valid range ([-1, N-1]). 
 - 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#
