StateNoiseCompensation#
- class StateNoiseCompensation(continuous_time_covariance: CovarianceMatrix, state_definition=None, sequence_definition=None)#
Bases:
ProcessNoiseState Noise Compensation (SNC) process noise model.
Implements the SNC approach for modeling unmodeled accelerations in spacecraft dynamics. The continuous-time process noise is discretized using a piecewise constant acceleration model, particularly effective for atmospheric drag, solar radiation pressure variations, and other unmodeled forces.
Process noise model
The unmodeled acceleration is assumed piecewise constant between consecutive measurement epochs \(t_k\) and \(t_{k+1}\):
\[\mathbf{a}(t) = \mathbf{w}_k, \quad t \in [t_k,\, t_{k+1})\]where \(\mathbf{w}_k \sim \mathcal{N}(\mathbf{0},\, \mathbf{Q})\) and \(\mathbf{Q}\) (3×3) is the continuous-time power spectral density (PSD) of the acceleration uncertainty.
Discretization
Integrating the continuous dynamics over \(\Delta t = t_{k+1} - t_k\) (Tapley et al., 2004) gives the exact discrete-time process noise covariance:
\[\begin{split}\mathbf{Q}_k = \begin{bmatrix} \frac{\Delta t^3}{3}\,\mathbf{Q}_c & \frac{\Delta t^2}{2}\,\mathbf{Q}_c & \mathbf{0} \\[2pt] \frac{\Delta t^2}{2}\,\mathbf{Q}_c & \Delta t\,\mathbf{Q}_c & \mathbf{0} \\[2pt] \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix}\end{split}\]where the row/column partition is \((\mathbf{r},\, \mathbf{v},\, \mathbf{p})\) and \(\mathbf{Q}_c\) (3×3) is the continuous-time PSD of the unmodeled acceleration. Static parameters \(\mathbf{p}\) receive no process noise.
Covariance propagation
At each time step the propagated covariance is augmented by the discrete process noise:
\[\bar{\mathbf{P}}_{k+1} = \mathbf{\Phi}_{k+1,k}\,\mathbf{P}_k\,\mathbf{\Phi}_{k+1,k}^T + \mathbf{Q}_k\]where \(\mathbf{\Phi}_{k+1,k}\) is the state transition matrix and \(\mathbf{Q}_k\) captures the uncertainty growth from the unmodeled acceleration over \([t_k, t_{k+1}]\).
- Parameters:
continuous_time_covariance (
CovarianceMatrix) – The continuous-time process noise covariance matrix.state_definition (optional) – State vector definition. Defaults to None.
sequence_definition (optional) – Sequence definition for multi-leg trajectories. Defaults to None.
Notes
Dynamic components must be position or velocity, and must precede static components in the state vector.
See also
scarabaeus.DynamicModelCompensationExponentially-correlated DMC variant.
scarabaeus.ProcessNoiseAbstract base class.
scarabaeus.ProcessNoiseSettingsConfiguration object consumed by the filter.
References
Tapley, B. D., Schutz, B. E., & Born, G. H. (2004). Statistical Orbit Determination. Elsevier Academic Press. ISBN 978-0-12-683630-1.
- Attributes:
frameThe reference frame of the process noise covariance.
Methods
transform_from_rtn(Q)Rotate the process noise covariance from RTN frame to the inertial frame.