ADCS.estimators.numba_kernels module¶
Compiled array kernels shared by the modern attitude estimators.
The attitude filters deliberately keep their satellite, state, and measurement
objects in Python: those objects provide validation and allow different hardware
models. The covariance recursions, however, operate exclusively on homogeneous
float64 arrays and are executed for every EKF/UKF update. Keeping the
kernels here lets all eight modern filters use Numba without coupling their
public APIs to Numba types.
- ADCS.estimators.numba_kernels.linear_covariance_prediction(transition, covariance, noise)[source]¶
Return
F @ P @ F.T + Q, explicitly symmetrized for roundoff.- Parameters:
transition (ndarray)
covariance (ndarray)
noise (ndarray)
- Return type:
ndarray
- ADCS.estimators.numba_kernels.linear_kalman_update(covariance, measurement_jacobian, measurement_noise, joseph)[source]¶
Return the gain and posterior covariance of a linear Kalman update.
- Parameters:
covariance (ndarray)
measurement_jacobian (ndarray)
measurement_noise (ndarray)
joseph (bool)
- Return type:
tuple[ndarray, ndarray]
- ADCS.estimators.numba_kernels.njit(*args, **kws)[source]¶
Legacy decorator that is equivalent to the preferred API: jit().
See documentation for jit function/decorator for full description.
- ADCS.estimators.numba_kernels.weighted_cross_covariance(first_deviations, second_deviations, weights)[source]¶
Return
sum_i weights[i] * first[i] * second[i].T.- Parameters:
first_deviations (ndarray)
second_deviations (ndarray)
weights (ndarray)
- Return type:
ndarray