4.3.9 Covariance Analysis and Error Propagation
State estimation does not produce only an estimate of the spacecraft state. It must also quantify how uncertain that estimate is.
If the estimated state is
\[ \hat{\mathbf{x}} \]
and the true state is
\[ \mathbf{x}, \]
the estimation error is
\[ \tilde{\mathbf{x}}=\mathbf{x}-\hat{\mathbf{x}}. \]
The covariance matrix describes the statistical uncertainty associated with this error:
\[ \boxed{ \mathbf{P} = E\left[ \tilde{\mathbf{x}}\tilde{\mathbf{x}}^T \right] } \]
where E[\cdot] denotes statistical expectation.
For a spacecraft translational state,
\[ \mathbf{x} = \begin{bmatrix} x & y & z & v_x & v_y & v_z \end{bmatrix}^{T}, \]
the covariance is a 6\times6 matrix:
\[ \mathbf P = \begin{bmatrix} \mathbf P_{rr} & \mathbf P_{rv}\\ \mathbf P_{vr} & \mathbf P_{vv} \end{bmatrix}. \]
Here,
\[ \mathbf P_{rr} \]
describes position uncertainty,
\[ \mathbf P_{vv} \]
describes velocity uncertainty, and
\[ \mathbf P_{rv},\mathbf P_{vr} \]
describe the statistical correlation between position and velocity errors.
Covariance analysis is fundamental to navigation because a state estimate without uncertainty information is incomplete.
\[ \boxed{ \text{State Estimate} + \text{Covariance} \rightarrow \text{Navigation Solution with Quantified Uncertainty} } \]
It is used throughout spacecraft navigation, orbit determination, sensor fusion, maneuver planning, autonomous guidance, rendezvous and proximity operations, and post-flight trajectory reconstruction.
4.3.9.1 Estimation Error and Covariance
Define the estimation error as
\[ \boxed{ \tilde{\mathbf{x}}_k = \mathbf{x}_k-\hat{\mathbf{x}}_k } \]
The covariance matrix is then
\[ \boxed{ \mathbf P_k = E\left[ \tilde{\mathbf{x}}_k \tilde{\mathbf{x}}_k^T \right] } \]
when the estimation error is assumed to have zero mean.
More generally, if
\[ \boldsymbol{\mu}_{\tilde{x}} = E[\tilde{\mathbf{x}}], \]
then
\[ \mathbf P = E\left[ (\tilde{\mathbf{x}}-\boldsymbol{\mu}_{\tilde{x}}) (\tilde{\mathbf{x}}-\boldsymbol{\mu}_{\tilde{x}})^T \right]. \]
This distinction is important. Covariance describes dispersion around the mean error. It does not by itself represent an unknown deterministic bias.
Therefore,
\[ \boxed{ \text{Small Covariance} \not\Rightarrow \text{Small Bias} } \]
A filter can be highly confident and still be wrong if important biases or model errors have not been represented.
4.3.9.2 Structure of the Covariance Matrix
For an n-state system,
\[ \mathbf P \in \mathbb R^{n\times n}. \]
Its general structure is
\[ \boxed{ \mathbf P = \begin{bmatrix} \sigma_1^2 & P_{12} & \cdots & P_{1n}\\ P_{21} & \sigma_2^2 & \cdots & P_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ P_{n1} & P_{n2} & \cdots & \sigma_n^2 \end{bmatrix} } \]
The diagonal terms are variances:
\[ \boxed{ P_{ii}=\sigma_i^2 } \]
while the off-diagonal terms are covariances:
\[ \boxed{ P_{ij} = E[\tilde{x}_i\tilde{x}_j] } \]
for zero-mean errors.
The standard deviation of state component i is therefore
\[ \boxed{ \sigma_i=\sqrt{P_{ii}} } \]
This provides an intuitive measure of the uncertainty associated with an individual state component.
4.3.9.3 Important Properties of a Covariance Matrix
A valid covariance matrix is symmetric:
\[ \boxed{ \mathbf P=\mathbf P^T } \]
and positive semidefinite:
\[ \boxed{ \mathbf a^T\mathbf P\mathbf a\geq0 } \]
for every vector \mathbf a.
Consequently,
\[ P_{ii}\geq0. \]
A negative variance is physically meaningless.
In numerical estimation algorithms, loss of symmetry or positive semidefiniteness may indicate numerical problems, poor conditioning, incorrect covariance updates, or accumulated floating-point error.
4.3.9.4 Variance, Covariance, and Correlation
Covariance indicates whether errors in two state components tend to vary together.
For states x_i and x_j,
\[ P_{ij} = \operatorname{Cov}(x_i,x_j). \]
However, covariance depends on the units and scaling of the states. A normalized quantity is therefore useful.
The correlation coefficient is
\[ \boxed{ \rho_{ij} = \frac{P_{ij}} {\sqrt{P_{ii}P_{jj}}} } \]
with
\[ -1\leq\rho_{ij}\leq1. \]
Interpretation:
\[ \rho_{ij}\approx +1 \]
means strong positive correlation,
\[ \rho_{ij}\approx -1 \]
means strong negative correlation, and
\[ \rho_{ij}\approx0 \]
means weak linear correlation.
Importantly,
\[ \boxed{ \rho_{ij}=0 \not\Rightarrow \text{statistical independence} } \]
in general. Zero correlation and independence are equivalent only under particular statistical conditions, such as for jointly Gaussian variables.
4.3.9.5 Why Correlations Matter
Consider position and velocity.
An uncertainty in velocity naturally causes future position uncertainty because
\[ \mathbf r(t+\Delta t) \approx \mathbf r(t)+\mathbf v(t)\Delta t. \]
Thus position and velocity errors become statistically coupled.
Similarly, in a more complete spacecraft state, correlations may develop between:
- position and velocity,
- attitude and gyro bias,
- position and clock bias,
- velocity and drag-related parameters,
- orbit states and ballistic coefficient,
- sensor biases and physical states,
- relative position and relative velocity.
These correlations are not merely mathematical artifacts. They represent information about how uncertainties in different quantities are connected through the dynamics and measurements.
4.3.9.6 A Priori Covariance
Before processing a new measurement at time k, the estimator has a predicted state
\[ \hat{\mathbf x}_{k|k-1} \]
with predicted or a priori covariance
\[ \boxed{ \mathbf P_{k|k-1} } \]
The notation means:
uncertainty in the state at time
k, conditioned on measurements only through timek-1.
It represents the estimator's uncertainty before the current measurement is incorporated.
Conceptually,
\[ \boxed{ \text{Previous Uncertainty} + \text{Dynamic Evolution} + \text{Process Uncertainty} \rightarrow \text{A Priori Covariance} } \]
4.3.9.7 A Posteriori Covariance
After the measurement at time k is processed, the estimator obtains
\[ \hat{\mathbf x}_{k|k} \]
with the a posteriori covariance
\[ \boxed{ \mathbf P_{k|k} } \]
This represents uncertainty after incorporating the current measurement.
Thus,
\[ \boxed{ \mathbf P_{k|k-1} \rightarrow \text{Measurement Update} \rightarrow \mathbf P_{k|k} } \]
The distinction between a priori and a posteriori covariance is fundamental in Kalman filtering and related estimators.
4.3.9.8 A Priori versus A Posteriori Uncertainty
The measurement normally adds information to the estimate.
Consequently, for a consistent linear-Gaussian Kalman update,
\[ \boxed{ \mathbf P_{k|k} \preceq \mathbf P_{k|k-1} } \]
in the positive-semidefinite sense.
This does not mean that every covariance element must numerically decrease.
Rather, the updated covariance represents no greater uncertainty in the matrix-information sense under the assumed model.
The basic estimation cycle is therefore
\[ \boxed{ \text{Posterior} \rightarrow \text{Propagation} \rightarrow \text{Prior} \rightarrow \text{Measurement Update} \rightarrow \text{New Posterior} } \]
4.3.9.9 Covariance Propagation
Suppose the linear discrete dynamic model is
\[ \boxed{ \mathbf x_{k+1} = \mathbf F_k\mathbf x_k+\mathbf w_k } \]
where
\[ \mathbf w_k\sim\mathcal N(\mathbf0,\mathbf Q_k). \]
Then the covariance propagates according to
\[ \boxed{ \mathbf P_{k+1|k} = \mathbf F_k \mathbf P_{k|k} \mathbf F_k^T + \mathbf Q_k } \]
This is one of the central equations of covariance analysis.
It contains two distinct effects:
\[ \mathbf F_k\mathbf P_{k|k}\mathbf F_k^T \]
maps the existing uncertainty through the dynamics, while
\[ \mathbf Q_k \]
introduces additional uncertainty associated with imperfect dynamics or disturbances.
Thus,
\[ \boxed{ \text{Future Uncertainty} = \text{Propagated Existing Uncertainty} + \text{New Process Uncertainty} } \]
4.3.9.10 State Transition Matrix Covariance Propagation
For continuous spacecraft dynamics, the state transition matrix introduced previously provides the mapping
\[ \delta\mathbf x(t) = \boldsymbol\Phi(t,t_0)\delta\mathbf x(t_0). \]
If no process noise is present, the covariance maps as
\[ \boxed{ \mathbf P(t) = \boldsymbol\Phi(t,t_0) \mathbf P(t_0) \boldsymbol\Phi^T(t,t_0) } \]
This equation follows directly from the transformation of the state error.
Starting with
\[ \delta\mathbf x(t) = \boldsymbol\Phi\delta\mathbf x_0, \]
we obtain
\[ \mathbf P(t) = E[ \delta\mathbf x(t) \delta\mathbf x^T(t) ]. \]
Substitution gives
\[ \mathbf P(t) = E[ \boldsymbol\Phi \delta\mathbf x_0 \delta\mathbf x_0^T \boldsymbol\Phi^T ], \]
and therefore
\[ \boxed{ \mathbf P(t) = \boldsymbol\Phi \mathbf P_0 \boldsymbol\Phi^T. } \]
The STM therefore propagates not only perturbations but also the uncertainty associated with those perturbations.
4.3.9.11 Continuous-Time Covariance Propagation
For a linearized continuous-time stochastic system,
\[ \dot{\delta\mathbf x} = \mathbf A(t)\delta\mathbf x + \mathbf G(t)\mathbf w(t), \]
with white process noise satisfying
\[ E[ \mathbf w(t)\mathbf w^T(\tau) ] = \mathbf Q_c(t)\delta(t-\tau), \]
the covariance differential equation is
\[ \boxed{ \dot{\mathbf P} = \mathbf A\mathbf P + \mathbf P\mathbf A^T + \mathbf G\mathbf Q_c\mathbf G^T } \]
This equation is often called the continuous-time covariance propagation or Lyapunov/Riccati propagation equation, depending on the complete estimation context.
It shows explicitly how uncertainty evolves because of both system dynamics and process disturbances.
4.3.9.12 Continuous-to-Discrete Process Noise
For a propagation interval from t_k to t_{k+1}, continuous process noise must be mapped into an equivalent discrete covariance.
The general expression is
\[ \boxed{ \mathbf Q_{d,k} = \int_{t_k}^{t_{k+1}} \boldsymbol\Phi(t_{k+1},\tau) \mathbf G(\tau) \mathbf Q_c(\tau) \mathbf G^T(\tau) \boldsymbol\Phi^T(t_{k+1},\tau) \,d\tau } \]
Then
\[ \boxed{ \mathbf P_{k+1|k} = \boldsymbol\Phi_k \mathbf P_{k|k} \boldsymbol\Phi_k^T + \mathbf Q_{d,k}. } \]
This distinction is important because continuous noise intensity and discrete covariance are not generally interchangeable.
4.3.9.13 Process Noise Covariance
The process-noise covariance
\[ \boxed{\mathbf Q} \]
represents uncertainty that enters through the dynamic model.
Examples can include uncertainty associated with:
- atmospheric drag,
- solar-radiation pressure,
- unmodeled accelerations,
- maneuver execution,
- actuator performance,
- environmental torques,
- imperfect force models,
- slowly varying physical parameters.
A small \mathbf Q tells the estimator to place strong confidence in its dynamics.
A large \mathbf Q allows the estimated trajectory to deviate more readily from the nominal dynamic model.
Therefore,
\[ \boxed{ \mathbf Q \text{ represents uncertainty in the model evolution, not measurement noise.} } \]
4.3.9.14 Measurement Noise Covariance
For a measurement model
\[ \mathbf z_k = h(\mathbf x_k)+\mathbf v_k, \]
measurement noise is often modeled as
\[ \mathbf v_k\sim\mathcal N(\mathbf0,\mathbf R_k). \]
The matrix
\[ \boxed{\mathbf R_k} \]
is the measurement-noise covariance.
For multiple measurement components,
\[ \mathbf R = \begin{bmatrix} \sigma_1^2 & R_{12} & \cdots\\ R_{21} & \sigma_2^2 & \cdots\\ \vdots & \vdots & \ddots \end{bmatrix}. \]
If measurement errors are assumed independent, \mathbf R may be diagonal.
However, correlated measurement errors require off-diagonal terms.
Thus,
\[ \boxed{ \mathbf R = \text{Statistical Model of Measurement Uncertainty} } \]
and should be based on the actual measurement model, sensor characteristics, preprocessing, calibration, and operating environment.
4.3.9.15 Covariance During a Measurement Update
For a linear measurement model,
\[ \mathbf z_k = \mathbf H_k\mathbf x_k+\mathbf v_k, \]
the innovation covariance is
\[ \boxed{ \mathbf S_k = \mathbf H_k \mathbf P_{k|k-1} \mathbf H_k^T + \mathbf R_k } \]
and the Kalman gain is
\[ \boxed{ \mathbf K_k = \mathbf P_{k|k-1} \mathbf H_k^T \mathbf S_k^{-1}. } \]
The ideal covariance update may be written
\[ \boxed{ \mathbf P_{k|k} = (\mathbf I-\mathbf K_k\mathbf H_k) \mathbf P_{k|k-1} } \]
under the exact Kalman assumptions.
However, a numerically safer form is often preferred.
4.3.9.16 Joseph-Form Covariance Update
The Joseph form is
\[ \boxed{ \mathbf P_{k|k} = (\mathbf I-\mathbf K_k\mathbf H_k) \mathbf P_{k|k-1} (\mathbf I-\mathbf K_k\mathbf H_k)^T + \mathbf K_k\mathbf R_k\mathbf K_k^T } \]
This form explicitly retains the contribution of measurement noise and is often more robust to finite-precision numerical errors.
It helps preserve covariance symmetry and positive semidefiniteness.
Thus, for practical flight-software or high-fidelity simulation implementations,
\[ \boxed{ \text{Joseph Form} \rightarrow \text{Improved Numerical Robustness} } \]
although square-root filtering can provide still stronger numerical properties for demanding applications.
4.3.9.17 Covariance Mapping
Sometimes uncertainty must be transformed from one variable or coordinate system into another.
Suppose
\[ \mathbf y=g(\mathbf x). \]
Linearizing about the nominal state gives
\[ \delta\mathbf y \approx \mathbf J \delta\mathbf x \]
where
\[ \boxed{ \mathbf J = \frac{\partial g}{\partial\mathbf x} } \]
is the Jacobian.
The covariance transforms as
\[ \boxed{ \mathbf P_y \approx \mathbf J \mathbf P_x \mathbf J^T } \]
This is the fundamental first-order covariance-mapping equation.
4.3.9.18 Coordinate-Frame Covariance Transformation
Suppose a position error is expressed in frame A:
\[ \delta\mathbf r_A. \]
If the coordinate transformation to frame B is
\[ \delta\mathbf r_B = \mathbf C_{BA} \delta\mathbf r_A, \]
then
\[ \boxed{ \mathbf P_{r,B} = \mathbf C_{BA} \mathbf P_{r,A} \mathbf C_{BA}^T } \]
for a deterministic rotation matrix.
This is important when transforming uncertainty between frames such as:
- inertial and Earth-fixed,
- inertial and orbital/local frames,
- body and navigation frames,
- sensor and body frames,
- target-centered relative-navigation frames.
For nonlinear or state-dependent transformations, the appropriate Jacobian must be used rather than blindly rotating the covariance.
4.3.9.19 Cross-Covariance
Suppose a state is divided into two parts:
\[ \mathbf x = \begin{bmatrix} \mathbf x_a\\ \mathbf x_b \end{bmatrix}. \]
Then
\[ \boxed{ \mathbf P = \begin{bmatrix} \mathbf P_{aa} & \mathbf P_{ab}\\ \mathbf P_{ba} & \mathbf P_{bb} \end{bmatrix} } \]
where
\[ \mathbf P_{ab} = E[ \tilde{\mathbf x}_a \tilde{\mathbf x}_b^T ]. \]
Cross-covariance tells us how uncertainty in one part of the state is statistically related to uncertainty in another.
This becomes especially important in augmented-state estimation, multisensor fusion, distributed estimation, and relative navigation.
4.3.9.20 Why Ignoring Correlation Can Be Dangerous
Suppose two estimates are strongly correlated but are treated as independent.
Combining them as if they represented independent information effectively counts some information twice.
This can cause the resulting covariance to become artificially small.
The estimator then becomes overconfident.
Therefore,
\[ \boxed{ \text{Unknown or Ignored Correlation} \rightarrow \text{Potentially Inconsistent Uncertainty Estimate} } \]
This issue is especially important when combining estimates that share:
- common sensors,
- common process models,
- common prior information,
- common environmental models,
- previously exchanged estimates.
4.3.9.21 Marginal Covariance
If only part of a larger state is of interest, its uncertainty can often be obtained from the corresponding covariance block.
For
\[ \mathbf x= \begin{bmatrix} \mathbf r\\ \mathbf v\\ \mathbf b \end{bmatrix}, \]
the position covariance is
\[ \boxed{ \mathbf P_{rr} } \]
and the velocity covariance is
\[ \boxed{ \mathbf P_{vv}. } \]
These are marginal covariance matrices for those state subsets.
However, correlations with the other states should not automatically be discarded when performing subsequent estimation or propagation.
4.3.9.22 Conditional Covariance
Marginal uncertainty and conditional uncertainty are different.
For jointly distributed variables \mathbf x_a and \mathbf x_b, conditioning on knowledge of \mathbf x_b can reduce uncertainty in \mathbf x_a.
For a jointly Gaussian distribution,
\[ \boxed{ \mathbf P_{a|b} = \mathbf P_{aa} - \mathbf P_{ab} \mathbf P_{bb}^{-1} \mathbf P_{ba} } \]
assuming \mathbf P_{bb} is nonsingular.
The reduction occurs because correlation allows information about one variable to improve knowledge of another.
This is one of the central statistical ideas behind state estimation.
4.3.9.23 Position Uncertainty Ellipse
For a two-dimensional position vector,
\[ \mathbf r= \begin{bmatrix} x\\y \end{bmatrix}, \]
the position covariance is
\[ \mathbf P_r= \begin{bmatrix} \sigma_x^2 & \sigma_{xy}\\ \sigma_{xy} & \sigma_y^2 \end{bmatrix}. \]
A constant Mahalanobis-distance contour satisfies
\[ \boxed{ \delta\mathbf r^T \mathbf P_r^{-1} \delta\mathbf r = c^2 } \]
which defines an ellipse.
The orientation and dimensions of this ellipse are determined by the eigenvectors and eigenvalues of \mathbf P_r.
4.3.9.24 Principal Axes of the Error Ellipse
Perform the eigendecomposition
\[ \boxed{ \mathbf P_r = \mathbf V \boldsymbol\Lambda \mathbf V^T } \]
where
\[ \boldsymbol\Lambda = \operatorname{diag}(\lambda_1,\lambda_2). \]
The eigenvectors give the principal directions of uncertainty.
The corresponding one-standard-deviation principal semi-axis lengths are
\[ \boxed{ a_i=\sqrt{\lambda_i}. } \]
For a contour defined by Mahalanobis radius c,
\[ \boxed{ a_i=c\sqrt{\lambda_i}. } \]
Thus the covariance matrix contains not only uncertainty magnitude but also its directional geometry.
4.3.9.25 Three-Dimensional Error Ellipsoid
For three-dimensional position,
\[ \delta\mathbf r= \begin{bmatrix} \delta x\\ \delta y\\ \delta z \end{bmatrix}, \]
the covariance
\[ \mathbf P_r\in\mathbb R^{3\times3} \]
defines an uncertainty ellipsoid:
\[ \boxed{ \delta\mathbf r^T \mathbf P_r^{-1} \delta\mathbf r = c^2. } \]
If
\[ \mathbf P_r = \mathbf V \boldsymbol\Lambda \mathbf V^T, \]
the principal semi-axis lengths are
\[ \boxed{ a_i=c\sqrt{\lambda_i}, \qquad i=1,2,3. } \]
This representation is useful for understanding anisotropic navigation uncertainty.
4.3.9.26 What “1-Sigma Ellipse” Actually Means
Care is required with terminology.
For a scalar Gaussian variable,
\[ P(|x-\mu|\leq\sigma)\approx68.27\%. \]
But in multiple dimensions, the contour
\[ \delta\mathbf x^T \mathbf P^{-1} \delta\mathbf x = 1 \]
does not generally contain 68.27% of the probability.
For an n-dimensional Gaussian variable,
\[ \boxed{ \delta\mathbf x^T \mathbf P^{-1} \delta\mathbf x \sim \chi_n^2 } \]
Therefore, a desired confidence region should use the appropriate chi-square threshold:
\[ \boxed{ \delta\mathbf x^T \mathbf P^{-1} \delta\mathbf x \leq \chi^2_{n,p} } \]
where p is the desired probability content.
This distinction is important when interpreting navigation error ellipses and ellipsoids.
4.3.9.27 Uncertainty Growth
Even without measurements, uncertainty generally evolves through the spacecraft dynamics.
For example, position depends on velocity. Therefore velocity uncertainty can progressively map into position uncertainty.
Conceptually,
\[ \boxed{ \text{Velocity Uncertainty} \xrightarrow{\text{Propagation}} \text{Increasing Position Uncertainty} } \]
Similarly, uncertain acceleration parameters can affect velocity and eventually position.
Thus covariance propagation reveals not only how much uncertainty exists, but also how uncertainty migrates between states over time.
4.3.9.28 Measurement Geometry and Covariance
Navigation accuracy depends not only on sensor precision but also on measurement geometry.
Consider a measurement
\[ z=h(\mathbf x)+v. \]
Its sensitivity is represented by
\[ \mathbf H = \frac{\partial h}{\partial\mathbf x}. \]
A highly accurate measurement may provide little information about a particular state direction if its sensitivity to that direction is weak.
Therefore,
\[ \boxed{ \text{Navigation Accuracy} \neq \text{Sensor Accuracy Alone} } \]
Rather,
\[ \boxed{ \text{Navigation Accuracy} = f( \text{Sensor Noise}, \text{Geometry}, \text{Dynamics}, \text{Prior Information} ) } \]
This explains why covariance can be highly anisotropic even when the raw measurement noise is small.
4.3.9.29 Observability and Covariance
Observability and covariance are closely related.
If a state direction is poorly observed, measurements provide little information about that direction.
Its uncertainty may therefore remain large or grow.
Conversely, strongly observed combinations of states can experience substantial covariance reduction.
Conceptually,
\[ \boxed{ \text{Weak Observability} \rightarrow \text{Persistent or Growing Uncertainty} } \]
However, a small covariance does not itself prove observability. Covariance depends on the estimator assumptions, including \mathbf P_0, \mathbf Q, and \mathbf R. Formal observability analysis remains a separate task.
4.3.9.30 Covariance and Information
Covariance can also be expressed through the information matrix
\[ \boxed{ \boldsymbol\Lambda = \mathbf P^{-1} } \]
when \mathbf P is nonsingular.
Large covariance corresponds to weak information.
Small covariance corresponds to strong information.
Thus,
\[ \boxed{ \mathbf P\downarrow \quad\Longleftrightarrow\quad \boldsymbol\Lambda\uparrow } \]
in an appropriate matrix sense.
This viewpoint is useful in batch estimation, smoothing, information filters, sensor scheduling, and estimation architecture design.
4.3.9.31 Covariance Consistency
A covariance matrix is useful only when it realistically represents the actual estimation error.
An estimator is overconfident when
\[ \text{Actual Error} > \text{Uncertainty Predicted by } \mathbf P \]
too often.
It is underconfident or overly conservative when the covariance is systematically much larger than the actual error statistics.
The desired situation is
\[ \boxed{ \text{Actual Error Statistics} \approx \text{Predicted Covariance Statistics}. } \]
This property is known as estimator consistency.
4.3.9.32 Normalized Estimation Error Squared
When truth is available, consistency can be evaluated using the normalized estimation error squared:
\[ \boxed{ \epsilon_x = \tilde{\mathbf x}^T \mathbf P^{-1} \tilde{\mathbf x}. } \]
For a consistent Gaussian estimator with an n-dimensional error state,
\[ \boxed{ \epsilon_x \sim \chi_n^2. } \]
This provides a statistically meaningful way to compare actual estimation error against the covariance predicted by the estimator.
NEES is particularly useful in simulation, where the true state is known.
4.3.9.33 Normalized Innovation Squared
In operational data, truth may not be available.
The innovation is
\[ \mathbf y_k = \mathbf z_k - h(\hat{\mathbf x}_{k|k-1}), \]
with innovation covariance
\[ \mathbf S_k. \]
The normalized innovation squared is
\[ \boxed{ \epsilon_z = \mathbf y_k^T \mathbf S_k^{-1} \mathbf y_k. } \]
For a consistent Gaussian measurement model with m measurement dimensions,
\[ \boxed{ \epsilon_z \sim \chi_m^2. } \]
NIS therefore provides a valuable consistency diagnostic without requiring access to the true state.
4.3.9.34 Innovation Whitening
A well-tuned filter should not merely produce innovations of approximately the expected magnitude.
The innovations should also exhibit appropriate temporal statistics.
For a correctly modeled linear Kalman filter, innovations should be approximately:
- zero mean,
- consistent with
\mathbf S_k, - temporally white.
Persistent structure may indicate:
- sensor bias,
- incorrect process noise,
- incorrect measurement covariance,
- timing errors,
- unmodeled dynamics,
- frame errors,
- calibration errors.
Therefore covariance validation should examine both magnitude and temporal correlation.
4.3.9.35 Initial Covariance
The initial covariance
\[ \boxed{ \mathbf P_0 } \]
represents uncertainty in the initial state estimate.
If \mathbf P_0 is unrealistically small, the estimator may trust its initial state too strongly and resist valid measurements.
If it is excessively large, the filter may initially respond very strongly to measurements.
Thus,
\[ \boxed{ \mathbf P_0 = \text{Quantitative Statement of Initial Knowledge} } \]
It should be based on the actual source and uncertainty of the initial state whenever possible.
4.3.9.36 Covariance Tuning
Covariance tuning commonly involves
\[ \mathbf P_0,\qquad \mathbf Q,\qquad \mathbf R. \]
These matrices should not simply be treated as arbitrary tuning knobs.
Ideally,
\[ \boxed{ \mathbf P_0 \rightarrow \text{Initial-State Uncertainty} } \]
\[ \boxed{ \mathbf Q \rightarrow \text{Dynamic-Model Uncertainty} } \]
\[ \boxed{ \mathbf R \rightarrow \text{Measurement Uncertainty} } \]
Tuning should be supported by sensor characterization, dynamic-model uncertainty, simulation, residual analysis, and consistency testing.
4.3.9.37 Covariance Inflation
Sometimes an estimator becomes more confident than justified.
One practical response is covariance inflation.
A simple form is
\[ \boxed{ \mathbf P \leftarrow \alpha\mathbf P, \qquad \alpha>1. } \]
Inflation can compensate for uncertainty not fully represented by the nominal model.
However, it should not be used as a substitute for understanding major model deficiencies.
\[ \boxed{ \text{Covariance Inflation} \neq \text{Correction of the Underlying Physics} } \]
4.3.9.38 Covariance Floors
A covariance floor prevents uncertainty from collapsing below a prescribed level.
For example,
\[ \sigma_i \geq \sigma_{i,\min}. \]
This can be useful when irreducible uncertainties exist because of:
- calibration limits,
- unmodeled disturbances,
- sensor systematic errors,
- model approximations.
Again, the floor should have a physical or statistical justification rather than being selected only to make a filter appear stable.
4.3.9.39 Uncertainty Budget
A navigation error budget identifies the principal contributors to total uncertainty.
Conceptually,
\[ \boxed{ \text{Total Navigation Uncertainty} \leftarrow \begin{cases} \text{Initial-State Uncertainty}\\ \text{Measurement Noise}\\ \text{Dynamic-Model Uncertainty}\\ \text{Sensor Bias}\\ \text{Calibration Error}\\ \text{Timing Error}\\ \text{Environmental Uncertainty}\\ \text{Maneuver/Actuator Uncertainty} \end{cases} } \]
The purpose is not simply to list error sources but to determine how they map into the final quantity of interest.
4.3.9.40 Root-Sum-Square Error Budgets
For independent scalar error sources,
\[ \sigma_1,\sigma_2,\ldots,\sigma_n, \]
a common approximation is
\[ \boxed{ \sigma_{\text{total}} = \sqrt{ \sigma_1^2+ \sigma_2^2+ \cdots+ \sigma_n^2 }. } \]
This is the root-sum-square or RSS method.
However, RSS assumes the relevant errors are uncorrelated.
If correlations exist,
\[ \boxed{ \sigma_y^2 = \mathbf J \mathbf P \mathbf J^T } \]
for a scalar derived quantity y, and the off-diagonal covariance terms must be retained.
Therefore,
\[ \boxed{ \text{RSS Is a Special Case of Covariance Propagation} } \]
rather than a universal uncertainty-combination rule.
4.3.9.41 Sensitivity-Based Error Budget
Suppose a quantity of interest is
\[ y=g(x_1,x_2,\ldots,x_n). \]
Its first-order perturbation is
\[ \delta y \approx \sum_{i=1}^{n} \frac{\partial g}{\partial x_i} \delta x_i. \]
Define
\[ \mathbf J = \begin{bmatrix} \frac{\partial g}{\partial x_1} & \cdots & \frac{\partial g}{\partial x_n} \end{bmatrix}. \]
Then
\[ \boxed{ \sigma_y^2 \approx \mathbf J \mathbf P_x \mathbf J^T. } \]
This connects sensitivity analysis directly with covariance analysis.
A large input uncertainty does not necessarily dominate the output uncertainty if the output has weak sensitivity to that input.
Likewise, a relatively small uncertainty can dominate if the system is highly sensitive to it.
4.3.9.42 Contribution of Individual Error Sources
For independent inputs,
\[ \sigma_y^2 \approx \sum_i \left( \frac{\partial g}{\partial x_i} \right)^2 \sigma_i^2. \]
The contribution from source i is approximately
\[ \boxed{ C_i = \left( \frac{\partial g}{\partial x_i} \right)^2 \sigma_i^2. } \]
A normalized contribution can be defined as
\[ \boxed{ \eta_i = \frac{C_i} {\sum_j C_j}. } \]
This helps identify which uncertainty sources dominate the final performance metric and therefore where improved sensing, calibration, modeling, or design effort would be most useful.
For correlated inputs, the cross terms must also be included and a simple source-by-source percentage decomposition may no longer be unique.
4.3.9.43 Covariance in Relative Navigation
In a general relative-navigation problem, define the relative state as
\[ \mathbf x_{\text{rel}} = \begin{bmatrix} \mathbf r_{\text{rel}}\\ \mathbf v_{\text{rel}} \end{bmatrix}. \]
Its covariance may be written
\[ \boxed{ \mathbf P_{\text{rel}} = \begin{bmatrix} \mathbf P_{rr} & \mathbf P_{rv}\\ \mathbf P_{vr} & \mathbf P_{vv} \end{bmatrix}. } \]
The position block describes uncertainty in relative separation, while the velocity block describes uncertainty in relative closing or separation velocity.
The cross terms describe coupling between them.
This is important in general rendezvous and proximity operations because guidance and safety decisions depend not only on the estimated relative state but also on confidence in that estimate.
4.3.9.44 Relative Covariance from Two Absolute States
Suppose two spacecraft have position errors
\[ \delta\mathbf r_1 \]
and
\[ \delta\mathbf r_2. \]
If relative position is defined as
\[ \mathbf r_{\text{rel}} = \mathbf r_2-\mathbf r_1, \]
then
\[ \delta\mathbf r_{\text{rel}} = \delta\mathbf r_2-\delta\mathbf r_1. \]
Therefore,
\[ \boxed{ \mathbf P_{\text{rel}} = \mathbf P_2 + \mathbf P_1 - \mathbf P_{21} - \mathbf P_{12} } \]
for the relevant position blocks.
If the two absolute-state errors are independent,
\[ \mathbf P_{12}=\mathbf0, \]
and therefore
\[ \boxed{ \mathbf P_{\text{rel}} = \mathbf P_1+\mathbf P_2. } \]
But this simplification is invalid when the two estimates share common information or common error sources.
4.3.9.45 Covariance in General RPO
In a general RPO application, relative-position uncertainty can be expressed as an ellipsoid around the estimated relative position.
The uncertainty may be different:
- along the approach direction,
- perpendicular to the approach direction,
- in relative velocity,
- in line-of-sight direction,
- in range.
Therefore a single scalar such as “position uncertainty = 2 cm” may not fully describe navigation performance.
A covariance-based description captures both magnitude and direction.
\[ \boxed{ \text{Estimated Relative State} + \text{Relative Covariance} \rightarrow \text{Probabilistic Description of Relative Geometry} } \]
This is a general navigation principle and does not depend on any particular RPO implementation.
4.3.9.46 Covariance and Safety Regions
Suppose a nominal trajectory remains outside a keep-out or safety region.
That fact alone does not quantify navigation confidence.
If position uncertainty is significant, the uncertainty region may extend closer to a boundary than the nominal estimate suggests.
Therefore safety analysis may consider both
\[ \hat{\mathbf r} \]
and
\[ \mathbf P_r. \]
Conceptually,
\[ \boxed{ \text{Nominal Separation} \neq \text{Guaranteed Separation} } \]
Covariance can support probabilistic risk calculations, but the covariance ellipsoid itself should not automatically be interpreted as a collision probability. Probability calculations require an appropriate relative-state distribution, geometry, object dimensions, and assumptions.
4.3.9.47 Covariance and Maneuver Uncertainty
Suppose a commanded velocity increment is
\[ \Delta\mathbf v_c \]
but execution uncertainty is
\[ \delta\Delta\mathbf v. \]
If
\[ \delta\Delta\mathbf v \sim \mathcal N(\mathbf0,\mathbf P_{\Delta v}), \]
the maneuver introduces additional state uncertainty.
For an impulsive maneuver, velocity covariance may receive a contribution such as
\[ \boxed{ \mathbf P_{vv}^{+} = \mathbf P_{vv}^{-} + \mathbf P_{\Delta v} } \]
when the maneuver error is independent of the prior state error.
If correlations exist, corresponding cross-covariance terms must also be included.
Afterward, orbital dynamics propagate this velocity uncertainty into future position uncertainty.
4.3.9.48 Covariance and Sensor Biases
If a sensor bias is estimated as part of an augmented state,
\[ \mathbf x_a= \begin{bmatrix} \mathbf x\\ \mathbf b \end{bmatrix}, \]
then
\[ \boxed{ \mathbf P_a= \begin{bmatrix} \mathbf P_{xx} & \mathbf P_{xb}\\ \mathbf P_{bx} & \mathbf P_{bb} \end{bmatrix}. } \]
The cross-covariance
\[ \mathbf P_{xb} \]
is important because the estimator may initially be unable to distinguish a true state error from a sensor bias.
As measurements and dynamics provide information, those quantities may become separable.
This is one reason correlations are central to augmented-state estimation.
4.3.9.49 Covariance and Model Parameters
The same concept applies when estimating physical parameters.
For example,
\[ \mathbf x_a= \begin{bmatrix} \mathbf r\\ \mathbf v\\ \boldsymbol\theta \end{bmatrix}, \]
where \boldsymbol\theta might contain uncertain dynamic or calibration parameters.
Then
\[ \mathbf P_{x\theta} \]
describes correlation between the spacecraft state and the estimated parameters.
This is important because uncertainty in parameters can map directly into uncertainty in trajectory prediction.
Parameter and augmented-state estimation are treated in more detail in the next section.
4.3.9.50 Nonlinear Covariance Propagation
For a nonlinear mapping
\[ \mathbf y=g(\mathbf x), \]
the first-order approximation
\[ \boxed{ \mathbf P_y \approx \mathbf J\mathbf P_x\mathbf J^T } \]
is valid when the uncertainty is sufficiently small and the transformation is approximately linear over the uncertainty region.
For strongly nonlinear systems, the transformed distribution may become:
- skewed,
- curved,
- non-Gaussian,
- multimodal.
In such cases, a covariance matrix alone may no longer describe the complete probability distribution.
4.3.9.51 Higher-Order and Sampling-Based Propagation
When first-order covariance propagation is inadequate, alternatives include:
- higher-order expansions,
- sigma-point transformations,
- unscented transforms,
- cubature methods,
- polynomial methods,
- Monte Carlo propagation.
Monte Carlo propagation draws samples
\[ \mathbf x^{(i)} \]
from the initial uncertainty distribution and propagates each through the nonlinear system:
\[ \boxed{ \mathbf x_0^{(i)} \xrightarrow{\text{Nonlinear Dynamics}} \mathbf x^{(i)}(t). } \]
The propagated sample distribution can then be used to estimate covariance and, importantly, to reveal non-Gaussian structure that a covariance-only analysis would hide.
4.3.9.52 Linear Covariance versus Monte Carlo Analysis
Linear covariance propagation and Monte Carlo simulation answer related but different questions.
Linear covariance analysis asks:
How does locally approximated uncertainty propagate according to the linearized dynamics?
Monte Carlo asks:
What distribution of outcomes results when uncertain inputs are propagated through the full nonlinear model?
Linear covariance propagation is generally computationally efficient and highly useful for design, estimation, and sensitivity analysis.
Monte Carlo is especially valuable when:
- nonlinearities are strong,
- uncertainties are large,
- constraints or saturation exist,
- distributions are non-Gaussian,
- discontinuous logic is present,
- tail behavior matters.
The two methods are therefore often complementary.
4.3.9.53 Covariance Does Not Fully Define Every Distribution
A mean
\[ \boldsymbol\mu \]
and covariance
\[ \mathbf P \]
completely characterize a multivariate Gaussian distribution.
For a non-Gaussian distribution, however, two different probability distributions can have identical mean and covariance.
Therefore,
\[ \boxed{ \{\boldsymbol\mu,\mathbf P\} \text{ does not generally define the full probability distribution.} } \]
This limitation becomes particularly important for strongly nonlinear navigation problems or rare-event risk analysis.
4.3.9.54 Numerical Conditioning
Spacecraft estimation states can have very different numerical scales.
For example:
\[ r\sim10^6\ \text{m}, \]
while a bias state might be
\[ b\sim10^{-6} \]
in its corresponding units.
Large scale differences can make covariance matrices poorly conditioned.
Numerical strategies include:
- state scaling,
- nondimensionalization,
- square-root filtering,
- factorized covariance representations,
- careful matrix decompositions,
- avoiding unnecessary explicit matrix inverses.
Good covariance mathematics is therefore not enough; numerical implementation matters.
4.3.9.55 Symmetry Preservation
Because theoretically
\[ \mathbf P=\mathbf P^T, \]
finite-precision arithmetic may produce a small asymmetry.
A common numerical cleanup is
\[ \boxed{ \mathbf P \leftarrow \frac{1}{2} (\mathbf P+\mathbf P^T). } \]
This restores symmetry.
However, symmetrization cannot repair a fundamentally incorrect covariance model or severe loss of positive semidefiniteness.
It is a numerical housekeeping operation, not an estimation solution.
4.3.9.56 Square-Root Covariance Methods
Instead of propagating \mathbf P directly, one may propagate a factor such as
\[ \boxed{ \mathbf P = \mathbf S\mathbf S^T. } \]
Here \mathbf S may be a Cholesky-type factor.
Square-root filters can offer improved numerical conditioning and better preservation of positive semidefiniteness.
They are particularly useful for high-precision or long-duration estimation problems.
4.3.9.57 Covariance versus Actual Error
A covariance is a statistical prediction.
Actual estimation error is
\[ \boxed{ \tilde{\mathbf x} = \mathbf x-\hat{\mathbf x}. } \]
These should not be confused.
A single realization may have an error larger or smaller than its nominal standard deviation.
Covariance predicts the statistical spread of errors over repeated realizations under the assumed probabilistic model.
Therefore,
\[ \boxed{ \mathbf P \neq \tilde{\mathbf x}\tilde{\mathbf x}^T } \]
for a single realization in general.
4.3.9.58 Covariance Is Model Dependent
The covariance produced by an estimator depends on assumptions about:
\[ \mathbf P_0,\quad \mathbf Q,\quad \mathbf R,\quad \mathbf F,\quad \mathbf H, \]
or their nonlinear equivalents.
If these assumptions are wrong, the covariance can also be wrong.
For example:
- underestimated sensor noise can produce overconfidence,
- underestimated process noise can make the filter too rigid,
- missing biases can create systematic errors not reflected properly in covariance,
- incorrect dynamics can invalidate covariance propagation,
- wrong measurement geometry can produce misleading uncertainty.
Thus,
\[ \boxed{ \text{Mathematically Small Covariance} \not\Rightarrow \text{Physically Accurate Estimate}. } \]
4.3.9.59 Covariance and Sensor Fusion
Sensor fusion works partly because different sensors provide information in different directions and at different times.
One sensor may strongly constrain position but weakly constrain velocity.
Another may provide high-rate inertial information but accumulate bias over time.
The covariance framework allows the estimator to combine these measurements according to their expected uncertainties and correlations.
Conceptually,
\[ \boxed{ \text{Dynamics} + \text{Sensor 1} + \text{Sensor 2} +\cdots \rightarrow \text{Updated State and Covariance}. } \]
The benefit comes not simply from adding more sensors, but from adding complementary information.
4.3.9.60 Covariance and Measurement Scheduling
Covariance can also help determine when a measurement would be useful.
If propagated uncertainty grows significantly in a particular direction, a sensor that observes that direction can provide high information value.
This leads conceptually to
\[ \boxed{ \text{Predicted Covariance} \rightarrow \text{Measurement/Sensor Scheduling Decision}. } \]
Such approaches can be useful when sensors have limited duty cycle, power, processing bandwidth, or observation opportunities.
4.3.9.61 Covariance and Guidance
Guidance normally uses an estimated state.
However, an uncertainty-aware guidance architecture may also consider covariance.
Instead of only asking
\[ \text{Where do I estimate the spacecraft to be?} \]
it may also ask
\[ \boxed{ \text{How certain am I about that estimate?} } \]
This can influence:
- maneuver timing,
- approach rates,
- observation scheduling,
- hold decisions,
- safety margins,
- autonomous decision logic.
The exact way covariance enters guidance depends on the mission and control architecture.
4.3.9.62 Covariance and Navigation Requirements
Navigation requirements should ideally distinguish between:
- accuracy,
- precision,
- uncertainty,
- confidence level,
- update rate,
- availability,
- integrity.
For example, simply stating
\[ \sigma_r<1\text{ m} \]
does not completely specify a navigation requirement unless one knows:
- which frame,
- which position components,
- whether it is
1\sigmaor another metric, - whether it is predicted covariance or demonstrated error,
- what confidence level is required,
- under what operating conditions.
Good covariance analysis therefore helps translate system-level navigation objectives into precise quantitative requirements.
4.3.9.63 Covariance and Error Budgets Are Related but Different
An error budget often begins with individual engineering uncertainty sources.
Covariance analysis describes their combined statistical propagation through the system.
Therefore,
\[ \boxed{ \text{Error Sources} \rightarrow \text{Statistical Models} \rightarrow \text{Covariance} \rightarrow \text{Propagated Navigation Uncertainty}. } \]
The error budget answers:
Where does the uncertainty come from?
Covariance propagation answers:
How does that uncertainty evolve and combine?
Both are necessary for rigorous navigation analysis.
4.3.9.64 Common Mistakes in Covariance Analysis
Several errors appear frequently:
- Treating covariance as the actual estimation error.
- Assuming all uncertainties are independent.
- Ignoring off-diagonal covariance terms.
- Confusing
1\sigmain one dimension with a multidimensional confidence region. - Using sensor specification values directly without considering the measurement model.
- Confusing continuous noise density with discrete covariance.
- Using a covariance matrix in the wrong coordinate frame.
- Ignoring common-mode errors when constructing relative covariance.
- Assuming small covariance automatically means good estimation.
- Tuning
\mathbf Qand\mathbf Rwithout physical justification. - Ignoring biases and systematic errors.
- Applying first-order covariance mapping in a strongly nonlinear regime without checking its validity.
- Interpreting an uncertainty ellipsoid directly as a collision probability.
- Assuming zero correlation means statistical independence.
- Ignoring numerical conditioning and positive-semidefinite behavior.
These errors can produce a filter that looks mathematically precise while being physically inconsistent.
4.3.9.65 Practical Covariance-Analysis Workflow
A systematic spacecraft covariance analysis can follow:
\[ \boxed{ \begin{array}{c} \text{Define State and Frames}\\ \downarrow\\ \text{Define Initial Covariance }\mathbf P_0\\ \downarrow\\ \text{Define Dynamic Uncertainty }\mathbf Q\\ \downarrow\\ \text{Define Measurement Uncertainty }\mathbf R\\ \downarrow\\ \text{Propagate State and Covariance}\\ \downarrow\\ \text{Process Measurements}\\ \downarrow\\ \text{Update Covariance}\\ \downarrow\\ \text{Transform to Required Output Frame}\\ \downarrow\\ \text{Evaluate Error Ellipses/Ellipsoids}\\ \downarrow\\ \text{Evaluate Correlations}\\ \downarrow\\ \text{Compare Against Requirements}\\ \downarrow\\ \text{Perform Consistency Tests}\\ \downarrow\\ \text{Validate Against Simulation or Data} \end{array} } \]
This turns covariance from an abstract matrix into an engineering tool.
4.3.9.66 Complete Covariance Cycle
The overall estimation cycle can be summarized as
\[ \boxed{ \begin{array}{c} \hat{\mathbf x}_{k|k},\mathbf P_{k|k}\\ \downarrow\\ \text{Dynamic Propagation}\\ \downarrow\\ \hat{\mathbf x}_{k+1|k}\\ \mathbf P_{k+1|k} = \boldsymbol\Phi_k \mathbf P_{k|k} \boldsymbol\Phi_k^T + \mathbf Q_k\\ \downarrow\\ \text{Measurement Prediction}\\ \downarrow\\ \mathbf y_{k+1}, \mathbf S_{k+1}\\ \downarrow\\ \text{Measurement Update}\\ \downarrow\\ \hat{\mathbf x}_{k+1|k+1}, \mathbf P_{k+1|k+1}\\ \downarrow\\ \text{Repeat} \end{array} } \]
The state estimate tells us the estimated trajectory.
The covariance tells us how confidently that trajectory is known.
4.3.9.67 Final Engineering Interpretation
Covariance analysis connects dynamics, estimation, sensing, and navigation performance.
The fundamental relationships are:
\[ \boxed{ \mathbf P = E[ \tilde{\mathbf x}\tilde{\mathbf x}^T ] } \]
\[ \boxed{ \mathbf P_{k+1|k} = \boldsymbol\Phi_k \mathbf P_{k|k} \boldsymbol\Phi_k^T + \mathbf Q_k } \]
\[ \boxed{ \mathbf S_k = \mathbf H_k \mathbf P_{k|k-1} \mathbf H_k^T + \mathbf R_k } \]
and, for a transformed quantity,
\[ \boxed{ \mathbf P_y \approx \mathbf J \mathbf P_x \mathbf J^T. } \]
Together these describe how uncertainty is represented, propagated, transformed, reduced by measurements, correlated across states, and interpreted geometrically.
The central idea is:
\[ \boxed{ \text{Knowing the Estimated State Is Not Enough;} \quad \text{We Must Also Know the Uncertainty of That Estimate.} } \]
That uncertainty should then be interpreted in the correct frame, at the correct confidence level, with the relevant correlations retained and with the statistical model validated against actual estimation performance.
Next: 4.3.10 Parameter and Augmented-State Estimation
Covariance analysis quantifies how uncertainty is represented, propagated, transformed, correlated, and tested for consistency. The next section extends the estimated state itself to include static or slowly varying quantities such as sensor biases, calibration parameters, dynamic coefficients, nuisance parameters, and other uncertain model parameters.
4.3.10 Parameter and Augmented-State Estimation
Static and slowly varying parameters, augmented states, sensor biases, calibration parameters, nuisance parameters, parameter-state correlation, and estimation architecture.
Continue to Parameter and Augmented-State Estimation →