5. ProcessNoiseCovariance#
- class ProcessNoiseCovariance(continuous_time_covariance: CovarianceMatrix, state_definition=None, sequence_definition=None)#
Bases:
object
Handles the process noise covariance for orbit determination filters.
Responsible for converting State Noise Compensation (SNC) continuous-time process noise covariance into discrete-time covariance matrices, computing gamma matrices for the Square Root Information Filter (SRIF), and transforming process noise from the RTN frame to the position and velocity vectors frame.
Essential for spacecraft orbit determination, offering functionality to transform and discretize the continuous-time covariance matrix (power spectral density). It accounts for unmodeled spacecraft dynamics and is primarily used in sequential filters to address saturation issues.
Notes
The continuous-time covariance matrix,
Q
, is typically picked by analyzing the spacecraft’s unmodeled dynamics.Assumes that the continuos-time process noise covariance is constant, though future versions could incorporate time-varying noise.
The RTN frame is commonly used in orbital mechanics to represent uncertainty associated with velocity-directional effects, such as atmospheric drag. For the filtering process, it must be transformed into the user-specified target frame as required.
References
Tapley, B. D., Schutz, B. E., & Born, G. H. (2004). Statistical orbit determination. Elsevier.
Methods
Q_from_RTN
(Q)Converts a process noise covariance matrix from the RTN (Radial, Transverse, Normal) frame to the inertial position-velocity state frame.
Computes discrete-time process noise covariances for sequential filters.
compute_gamma_matrices
(measurement_times)Computes gamma matrices and discrete-time process covariances for the Square Root Information Filter (SRIF).
- Q_from_RTN(Q: ndarray) ndarray #
Converts a process noise covariance matrix from the RTN (Radial, Transverse, Normal) frame to the inertial position-velocity state frame.
This transformation ensures that process noise is represented in a frame compatible with state estimation algorithms.
- Parameters:
Q (
numpy.ndarray
) – The continuous-time process noise covariance matrix in the RTN frame.- Returns:
transformed – The transformed process noise covariance matrix in the position-velocity frame.
- Return type:
- compute_discrete_time_covariances(measurement_times: list) None #
Computes discrete-time process noise covariances for sequential filters.
Transforms the continuous-time process noise covariance into discrete-time, ensuring compatibility with measurement times and reference frames.
- compute_gamma_matrices(measurement_times: list) None #
Computes gamma matrices and discrete-time process covariances for the Square Root Information Filter (SRIF).
Calculates the gamma matrices, which map process noise to the state space, and determines the corresponding discrete-time process covariances required for SRIF.