ProcessNoise#

class ProcessNoise(continuous_time_covariance: CovarianceMatrix, state_definition=None, sequence_definition=None)#

Bases: ABC

Abstract base class for process noise modeling in orbit determination filters.

Provides a common interface for different process noise models used to account for unmodeled dynamics in spacecraft orbit determination. Handles conversion between continuous-time and discrete-time representations.

Parameters:
  • continuous_time_covariance (CovarianceMatrix) – The continuous-time process noise covariance matrix (power spectral density).

  • state_definition (optional) – State vector definition. Defaults to None.

  • sequence_definition (optional) – Sequence definition for multi-leg trajectories. Defaults to None.

Notes

Process noise accounts for unmodeled spacecraft dynamics and is primarily used in sequential filters to address model uncertainties and filter saturation. Concrete sub-classes must implement _compute_discrete_time_covariances().

See also

scarabaeus.StateNoiseCompensation

Piecewise-constant SNC implementation.

scarabaeus.DynamicModelCompensation

Exponentially-correlated DMC implementation.

scarabaeus.ProcessNoiseSettings

Configuration 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:
frame

The reference frame of the process noise covariance.

Methods

transform_from_rtn(Q)

Rotate the process noise covariance from RTN frame to the inertial frame.

transform_from_rtn(Q: ndarray) ndarray#

Rotate the process noise covariance from RTN frame to the inertial frame.

The RTN (Radial-Transverse-Normal) basis vectors are constructed from the current position and velocity in the state definition. The rotation is applied as Q_inertial = T @ Q_rtn @ T^T where T is the 3x3 RTN basis matrix.

This method is a no-op when self.continuous_time_covariance.frame is not 'RTN' — the input matrix is returned unchanged. It also returns Q unchanged if position or velocity cannot be found in the state definition.

Parameters:

Q (np.ndarray) – Process noise covariance matrix expressed in the RTN frame.

Returns:

Covariance matrix expressed in the inertial frame, or the original Q when no rotation is needed.

Return type:

np.ndarray

property frame: str#

The reference frame of the process noise covariance.