gnatss.solver.solve module#
- gnatss.solver.solve.calc_tt_residual(delays, transponder_delays, twtt_model) NDArray[Shape['*'], Float64]#
Calculate the travel time residual in seconds
- Parameters:
- delays(N,) ndarray
The measured travel time delays from data (sec)
- transponder_delays(N,) ndarray
The set transponder delays as defined in configuration file (sec)
- twtt_model(N,) ndarray
The modeled two way travel times (sec)
- Returns:
- (N,) ndarray
The travel time residual
- gnatss.solver.solve.calc_twtt_model(model: Literal['simple_twtt'], transmit_vectors: NDArray[Shape['*, 3'], Float64], reply_vectors: NDArray[Shape['*, 3'], Float64], transponders_mean_sv: NDArray[Shape['*'], Float64]) NDArray[Shape['*'], Float64]#
Calculate the Modeled TWTT (Two way travel time) in seconds
- Parameters:
- transmit_vector(N,3) ndarray
The transmit array of vectors
- reply_vector(N,3) ndarray
The reply array of vectors
- transponders_mean_sv(N,) ndarray
The transponders mean sound speed
- Returns:
- (N,) ndarray
The modeled two way travel times in seconds
- gnatss.solver.solve.calc_uv(input_vector: NDArray[Shape[3], Any]) NDArray[Shape[3], Any]#
Calculate unit vector for a 1-D input vector of size 3
- Parameters:
- input_vector(3,) ndarray
A 1-D input vector as numpy array
- Returns:
- (3,) ndarray
The resulting unit vector as numpy array
- Raises:
- ValueError
If the input vector is not a 1-D array
- gnatss.solver.solve.perform_solve(data_inputs: NumbaList, transponders_mean_sv: NDArray[Shape['*'], Float64], transponders_xyz: NDArray[Shape['*, 3'], Float64], transponders_delay: NDArray[Shape['*'], Float64], travel_times_variance: float, twtt_model: Literal['simple_twtt'] = 'simple_twtt')#
Perform the solve for the given data inputs and transponder information.
- Parameters:
- data_inputsNumbaList
A list of tuples, where each tuple contains the transmit and reply positions, the GPS covariance matrix, and the observed delays for a single ping
- transponders_mean_sv(N,) ndarray
The mean signal velocity for each transponder
- transponders_xyz(N,3) ndarray
The XYZ positions of each transponder
- transponders_delay(N,) ndarray
The internal delay for each transponder
- travel_times_variancefloat
The variance in travel times
- Returns:
- NumbaList
A list of tuples, where each tuple contains, The ATWA matrix, ATWF matrix, the travel time residual, and the sigma delay
- gnatss.solver.solve.solve_transponder_locations(transmit_xyz: NDArray, reply_xyz: NDArray, gps_covariance_matrix: NDArray, observed_delays: NDArray, transponders_xyz: NDArray, transponders_delay: NDArray, transponders_mean_sv: NDArray, travel_times_variance: NDArray, twtt_model: Literal['simple_twtt'] = 'simple_twtt') tuple[NDArray, NDArray, NDArray, NDArray]#
Solve transponder locations by performing basic GNSS-Acoustic Derivation.
- Parameters:
- transmit_xyzndarray
The transmit locations in XYZ coordinates
- reply_xyzndarray
The reply locations in XYZ coordinates
- gps_covariance_matrixndarray
The covariance matrix for GPS measurements
- observed_delaysndarray
The observed delays in seconds
- transponders_xyzndarray
The transponder locations in XYZ coordinates
- transponders_delayndarray
The transponder delays in seconds
- transponders_mean_svndarray
The mean signal velocity for each transponder
- travel_times_variancendarray
The variance of the travel times
- Returns:
- atwandarray
The ATWA matrix
- atwfndarray
ATWF matrix
- tt_residualndarray
the travel time residuals
- sigma_delayndarray
the sigma delay