4.3 Estimation Algorithms
Spacecraft guidance, navigation, control, and orbit determination frequently require knowledge of quantities that cannot be measured directly. Sensors may provide range, Doppler, angular direction, acceleration, angular rate, position, image features, or relative pose, but the quantities required by the GNC system may include position, velocity, attitude, angular velocity, sensor bias, aerodynamic coefficients, ballistic coefficient, maneuver parameters, or other unknown dynamic quantities.
The purpose of estimation is therefore to determine unknown states or parameters from incomplete and imperfect observations.
A general estimation problem may be written as
\[ \mathbf z = h(\mathbf x,\boldsymbol{\theta})+\mathbf v \]
where
\[ \mathbf z \]
is the measurement vector,
\[ \mathbf x \]
contains unknown states,
\[ \boldsymbol{\theta} \]
contains unknown model or calibration parameters,
\[ h(\cdot) \]
is the measurement model, and
\[ \mathbf v \]
represents measurement uncertainty.
The estimator attempts to determine
\[ \hat{\mathbf x} \]
and
\[ \hat{\boldsymbol{\theta}} \]
such that the predicted measurements are consistent with the actual observations.
Conceptually,
\[ \boxed{\text{Measurements}} + \boxed{\text{Mathematical Model}} + \boxed{\text{Uncertainty}} \rightarrow \boxed{\text{Estimation Algorithm}} \rightarrow \boxed{\hat{\mathbf x},\hat{\boldsymbol{\theta}}} \]
Section 4.2 focused mainly on how sensors, spacecraft models, filters, timing, measurement validation, and sensor-fusion architectures are combined to produce a navigation solution. This section instead focuses on the underlying mathematical question:
\[ \boxed{ \text{Given observations and a model, how do we solve for unknown states and parameters?} } \]
The main topics include least-squares estimation, nonlinear estimation, recursive estimation, maximum-likelihood and MAP estimation, smoothing, State Transition Matrices, sensitivity analysis, covariance propagation, parameter estimation, orbit determination, maneuver estimation, numerical conditioning, and estimator design.
What Is an Estimation Problem?
An estimation problem begins with one or more unknown quantities.
These may be combined into a general unknown vector
\[ \boldsymbol{\xi} = \begin{bmatrix} \mathbf x\\ \boldsymbol{\theta} \end{bmatrix} \]
where \mathbf x represents the dynamic state and \boldsymbol{\theta} represents unknown parameters.
For a translational spacecraft problem,
\[ \mathbf x = \begin{bmatrix} \mathbf r\\ \mathbf v \end{bmatrix} \]
while the parameter vector might contain
\[ \boldsymbol{\theta} = \begin{bmatrix} C_D\\ C_R\\ BC\\ \mathbf b_g\\ \mathbf b_a\\ \cdots \end{bmatrix}. \]
The measurements can be collected as
\[ \mathbf z = \begin{bmatrix} \mathbf z_1\\ \mathbf z_2\\ \vdots\\ \mathbf z_N \end{bmatrix}. \]
For a candidate value of the unknown state or parameter vector, the model predicts corresponding measurements,
\[ \hat{\mathbf z} = h(\boldsymbol{\xi}). \]
The difference between measured and predicted quantities is the residual:
\[ \boxed{ \mathbf r = \mathbf z - h(\boldsymbol{\xi}) } \]
The estimation problem then becomes the problem of finding the unknown quantities that make these residuals sufficiently small.
A generic formulation is
\[ \boxed{ \hat{\boldsymbol{\xi}} = \arg\min_{\boldsymbol{\xi}} J(\boldsymbol{\xi}) } \]
where J is the selected cost function.
This is an important viewpoint because many estimation methods can be interpreted as different ways of defining or solving this optimization problem.
Unknown State, Measurement, and Estimated State
The following quantities should be clearly distinguished:
\[ \boxed{\text{True State}} \qquad \boxed{\text{Measurement}} \qquad \boxed{\text{Estimated State}} \]
The true state is the actual physical state of the spacecraft.
A measurement is a sensor observation related to that state.
The estimated state is the value reconstructed from the available observations.
In general,
\[ \mathbf z \neq \mathbf x. \]
For example, a ground station may measure only range,
\[ \rho = \left\| \mathbf r_{sc} - \mathbf r_{station} \right\|. \]
The unknown spacecraft state may be
\[ \mathbf x = \begin{bmatrix} \mathbf r\\ \mathbf v \end{bmatrix}. \]
Thus a single range measurement does not directly provide all position and velocity components.
Instead,
\[ \rho=h(\mathbf x) \]
and the state must be reconstructed from a sequence of measurements combined with the spacecraft dynamics.
The same idea appears throughout spacecraft navigation.
A camera may measure line-of-sight direction rather than full relative position.
A Doppler measurement primarily contains information about line-of-sight velocity.
A GNSS receiver may process pseudorange and Doppler observations.
A star tracker provides attitude information.
A LiDAR may provide range or relative pose.
Therefore,
\[ \boxed{ \text{Measurement} \neq \text{Complete State} } \]
and an estimation algorithm is required to recover the unknown state from the information contained in those measurements.
State Estimation
State estimation determines quantities describing the current condition of the spacecraft.
Examples include
\[ \mathbf r, \qquad \mathbf v, \qquad \mathbf q, \qquad \boldsymbol{\omega}. \]
A translational state may be written as
\[ \boxed{ \mathbf x = \begin{bmatrix} \mathbf r\\ \mathbf v \end{bmatrix} } \]
while an attitude-navigation state could contain
\[ \mathbf x = \begin{bmatrix} \mathbf q\\ \boldsymbol{\omega} \end{bmatrix}. \]
For relative navigation during rendezvous and proximity operations, the estimated state may contain
\[ \mathbf x_{rel} = \begin{bmatrix} \mathbf r_{rel}\\ \mathbf v_{rel}\\ \mathbf q_{rel}\\ \boldsymbol{\omega}_{rel} \end{bmatrix}. \]
Parameter Estimation
Parameter estimation determines quantities that influence the mathematical model but are not necessarily conventional vehicle states.
Typical examples include
- drag coefficient
C_D, - solar radiation pressure coefficient
C_R, - ballistic coefficient,
- sensor bias,
- sensor scale factor,
- sensor mounting misalignment,
- clock bias,
- clock drift,
- thruster scale factor,
- maneuver magnitude,
- empirical acceleration.
A parameter vector may be written as
\[ \boldsymbol{\theta} = \begin{bmatrix} C_D\\ C_R\\ BC\\ b_g\\ b_a \end{bmatrix}. \]
In some applications, state and parameter estimation are performed simultaneously using an augmented state:
\[ \boxed{ \mathbf x_a = \begin{bmatrix} \mathbf x\\ \boldsymbol{\theta} \end{bmatrix} } \]
This allows quantities such as sensor bias or ballistic coefficient to be inferred indirectly through their effect on the measurements.
Static and Dynamic Estimation
Estimation problems can also be divided into static and dynamic problems.
Static Estimation
In static estimation, the unknown quantity is treated as constant during the estimation interval.
A linear measurement model may be written as
\[ \mathbf z = \mathbf H\mathbf x+\mathbf v. \]
Several measurements can then be processed simultaneously to determine the best estimate of \mathbf x.
Static estimation is commonly used for
- calibration,
- fixed-parameter estimation,
- sensor alignment,
- static positioning,
- model fitting.
Dynamic Estimation
For spacecraft applications, the state usually evolves with time.
A general continuous nonlinear system is
\[ \boxed{ \dot{\mathbf x} = f(\mathbf x,\mathbf u,t) } \]
and a corresponding discrete representation is
\[ \boxed{ \mathbf x_{k+1} = f_k(\mathbf x_k,\mathbf u_k) + \mathbf w_k. } \]
Measurements are obtained at particular times:
\[ \mathbf z_k = h_k(\mathbf x_k)+\mathbf v_k. \]
Dynamic estimation must therefore account for two sources of information:
\[ \boxed{\text{Spacecraft Dynamics}} \]
and
\[ \boxed{\text{Measurements}}. \]
This is one of the foundations of orbit determination and onboard navigation.
Batch and Sequential Estimation
Another important distinction is between batch and sequential estimation.
Batch Estimation
Batch estimation processes a complete collection of measurements together.
Suppose measurements
\[ \mathbf z_1, \mathbf z_2, \ldots, \mathbf z_N \]
have been collected.
Then
\[ \boxed{ \{\mathbf z_1,\mathbf z_2,\ldots,\mathbf z_N\} \rightarrow \hat{\mathbf x} } \]
A typical objective function is
\[ J(\mathbf x) = \sum_{i=1}^{N} \mathbf r_i^T \mathbf W_i \mathbf r_i. \]
Batch methods are especially useful for
- orbit determination over an observation arc,
- post-flight trajectory reconstruction,
- calibration,
- parameter estimation,
- scientific data processing.
Sequential Estimation
Sequential estimation incorporates measurements one at a time as they become available.
Conceptually,
\[ \boxed{\text{Previous Estimate}} + \boxed{\text{New Measurement}} \rightarrow \boxed{\text{Updated Estimate}}. \]
In Bayesian form,
\[ p(\mathbf x_k|Z_k) \propto p(\mathbf z_k|\mathbf x_k) p(\mathbf x_k|Z_{k-1}), \]
where
\[ Z_k = \{\mathbf z_1,\mathbf z_2,\ldots,\mathbf z_k\}. \]
Sequential methods are well suited to real-time onboard navigation.
Detailed Kalman-filter-based recursive methods are already developed in Section 4.2. Here, the goal is to understand their relation to the broader mathematical estimation problem.
Residuals
One of the most important quantities in estimation is the residual.
For a nonlinear measurement model,
\[ \mathbf z = h(\mathbf x)+\mathbf v, \]
the predicted measurement is
\[ \hat{\mathbf z} = h(\hat{\mathbf x}). \]
The residual is therefore
\[ \boxed{ \mathbf r = \mathbf z - \hat{\mathbf z} } \]
or
\[ \boxed{ \mathbf r = \mathbf z - h(\hat{\mathbf x}). } \]
Residuals indicate how well the current model and estimated state reproduce the observations.
They are central to
- least squares,
- nonlinear corrections,
- differential correction,
- maximum-likelihood estimation,
- parameter estimation,
- orbit determination.
However, a small residual does not automatically prove that all estimated quantities are accurate.
A solution may fit the data while still containing
- highly correlated parameters,
- weakly observable states,
- poorly conditioned directions,
- model compensation effects.
Therefore residuals must be interpreted together with covariance, sensitivity, geometry, and conditioning.
Estimation Error
If the true state is known, such as in simulation, the estimation error is
\[ \boxed{ \mathbf e = \mathbf x - \hat{\mathbf x}. } \]
This quantity can be evaluated directly during Monte Carlo analysis or truth-model simulation.
In actual flight, the true state is usually unavailable, so the estimator generally cannot calculate \mathbf e exactly.
This is why covariance and statistical consistency measures are used to describe estimation uncertainty.
Least-Squares Estimation
Least squares is one of the most fundamental estimation methods.
Consider the linear model
\[ \mathbf z = \mathbf H\mathbf x+\mathbf v. \]
The residual is
\[ \mathbf r = \mathbf z-\mathbf H\mathbf x. \]
Ordinary least squares selects the state that minimizes the sum of squared residuals:
\[ \boxed{ \hat{\mathbf x} = \arg\min_{\mathbf x} \left( \mathbf z-\mathbf H\mathbf x \right)^T \left( \mathbf z-\mathbf H\mathbf x \right). } \]
The cost function is
\[ J(\mathbf x) = (\mathbf z-\mathbf H\mathbf x)^T (\mathbf z-\mathbf H\mathbf x). \]
Differentiating with respect to \mathbf x and setting the derivative to zero gives the normal equations:
\[ \boxed{ \mathbf H^T\mathbf H\hat{\mathbf x} = \mathbf H^T\mathbf z. } \]
If the inverse exists,
\[ \boxed{ \hat{\mathbf x} = (\mathbf H^T\mathbf H)^{-1} \mathbf H^T\mathbf z. } \]
Least squares is especially useful when the number of measurements exceeds the number of unknowns.
That is,
\[ m>n \]
for
\[ \mathbf H\in\mathbb R^{m\times n}. \]
This is known as an overdetermined estimation problem.
Weighted Least Squares
Not all measurements have equal accuracy.
Suppose the measurement covariance is
\[ \mathbf R. \]
A measurement with lower uncertainty should normally receive more weight.
Define the weighting matrix as
\[ \boxed{ \mathbf W = \mathbf R^{-1}. } \]
Weighted least squares minimizes
\[ \boxed{ J(\mathbf x) = (\mathbf z-\mathbf H\mathbf x)^T \mathbf W (\mathbf z-\mathbf H\mathbf x). } \]
The corresponding normal equation is
\[ \boxed{ \mathbf H^T\mathbf W\mathbf H\hat{\mathbf x} = \mathbf H^T\mathbf W\mathbf z. } \]
The formal solution is
\[ \boxed{ \hat{\mathbf x} = (\mathbf H^T\mathbf W\mathbf H)^{-1} \mathbf H^T\mathbf W\mathbf z. } \]
This gives the important relationship
\[ \boxed{ \text{Lower measurement uncertainty} \Rightarrow \text{greater influence on the solution}. } \]
A Priori Information
Sometimes an estimate of the state already exists before new measurements are processed.
Suppose
\[ \mathbf x_0 \]
is the prior estimate and
\[ \mathbf P_0 \]
is its uncertainty.
Then the estimation cost may include both the measurement residual and deviation from the prior:
\[ \boxed{ J(\mathbf x) = (\mathbf z-h(\mathbf x))^T \mathbf R^{-1} (\mathbf z-h(\mathbf x)) + (\mathbf x-\mathbf x_0)^T \mathbf P_0^{-1} (\mathbf x-\mathbf x_0). } \]
The first term represents information from the measurements.
The second term represents prior knowledge.
This structure appears in constrained least squares, MAP estimation, recursive estimation, and sequential orbit determination.
Nonlinear Estimation
Spacecraft estimation problems are frequently nonlinear.
A general nonlinear measurement equation is
\[ \boxed{ \mathbf z = h(\mathbf x)+\mathbf v. } \]
For example, range between a spacecraft and a tracking station is
\[ \rho = \left\| \mathbf r-\mathbf r_s \right\|. \]
This relationship is nonlinear in \mathbf r.
A nonlinear measurement model is commonly linearized around a nominal estimate \mathbf x_0:
\[ h(\mathbf x_0+\Delta\mathbf x) \approx h(\mathbf x_0) + \mathbf H\Delta\mathbf x \]
where
\[ \boxed{ \mathbf H = \left. \frac{\partial h}{\partial\mathbf x} \right|_{\mathbf x_0}. } \]
The matrix \mathbf H is the measurement Jacobian.
The estimator then solves for a correction
\[ \Delta\mathbf x \]
rather than solving directly for the full state.
The estimate is updated using
\[ \boxed{ \mathbf x^{(i+1)} = \mathbf x^{(i)} + \Delta\mathbf x. } \]
Nonlinear Least Squares and Differential Correction
For nonlinear estimation, define
\[ \mathbf r(\mathbf x) = \mathbf z-h(\mathbf x). \]
A common cost function is
\[ \boxed{ J(\mathbf x) = \frac12 \mathbf r^T \mathbf W \mathbf r. } \]
Linearizing the residual gives
\[ \mathbf r(\mathbf x+\Delta\mathbf x) \approx \mathbf r(\mathbf x) - \mathbf H\Delta\mathbf x. \]
The correction is then obtained approximately from
\[ \boxed{ (\mathbf H^T\mathbf W\mathbf H) \Delta\mathbf x = \mathbf H^T\mathbf W\mathbf r. } \]
The new estimate becomes
\[ \boxed{ \mathbf x^{(i+1)} = \mathbf x^{(i)} + \Delta\mathbf x. } \]
This process is repeated until convergence.
Typical convergence conditions include
\[ \|\Delta\mathbf x\|<\epsilon_x, \]
or
\[ |J^{(i+1)}-J^{(i)}|<\epsilon_J. \]
This iterative approach forms the basis of classical differential correction used in orbit determination.
Maximum Likelihood Estimation
Estimation can also be interpreted probabilistically.
The likelihood function is
\[ p(\mathbf z|\mathbf x). \]
It represents the probability of observing the measurements given a candidate state.
The maximum likelihood estimate is
\[ \boxed{ \hat{\mathbf x}_{ML} = \arg\max_{\mathbf x} p(\mathbf z|\mathbf x). } \]
For Gaussian measurement noise,
\[ \mathbf v \sim \mathcal N(\mathbf 0,\mathbf R), \]
the likelihood is proportional to
\[ p(\mathbf z|\mathbf x) \propto \exp \left[ -\frac12 \mathbf r^T \mathbf R^{-1} \mathbf r \right]. \]
Therefore,
\[ \boxed{ \arg\max_{\mathbf x}p(\mathbf z|\mathbf x) = \arg\min_{\mathbf x} \mathbf r^T\mathbf R^{-1}\mathbf r. } \]
This establishes the important relationship
\[ \boxed{ \text{Gaussian Maximum Likelihood} \Longleftrightarrow \text{Weighted Least Squares}. } \]
Maximum A Posteriori Estimation
Maximum a posteriori estimation adds prior knowledge.
Using Bayes' theorem,
\[ p(\mathbf x|\mathbf z) \propto p(\mathbf z|\mathbf x) p(\mathbf x). \]
The MAP estimate is
\[ \boxed{ \hat{\mathbf x}_{MAP} = \arg\max_{\mathbf x} p(\mathbf x|\mathbf z). } \]
For Gaussian likelihood and Gaussian prior distributions, the MAP cost becomes
\[ \boxed{ J(\mathbf x) = (\mathbf z-h(\mathbf x))^T \mathbf R^{-1} (\mathbf z-h(\mathbf x)) + (\mathbf x-\mathbf x_0)^T \mathbf P_0^{-1} (\mathbf x-\mathbf x_0). } \]
Therefore,
\[ \boxed{\text{MAP}} = \boxed{\text{Measurement Information}} + \boxed{\text{Prior Information}}. \]
Dynamic State Estimation
For dynamic systems,
\[ \dot{\mathbf x} = f(\mathbf x,t). \]
If the initial condition is
\[ \mathbf x(t_0)=\mathbf x_0, \]
then the propagated state can be written conceptually as
\[ \boxed{ \mathbf x(t) = \phi(t,t_0,\mathbf x_0). } \]
A measurement at time t_i is
\[ \mathbf z_i = h_i[\mathbf x(t_i)] + \mathbf v_i. \]
Substituting the propagated state gives
\[ \boxed{ \mathbf z_i = h_i[ \phi(t_i,t_0,\mathbf x_0) ] + \mathbf v_i. } \]
The unknown initial state can therefore be estimated from measurements collected over time.
Conceptually,
\[ \boxed{\mathbf x_0} \rightarrow \boxed{\text{Propagate}} \rightarrow \boxed{\mathbf x(t_i)} \rightarrow \boxed{\text{Predict Observation}} \rightarrow \boxed{\text{Residual}} \rightarrow \boxed{\text{State Correction}}. \]
This is the central architecture of batch orbit determination.
State Transition Matrix
The State Transition Matrix describes how a small perturbation in the state evolves with time.
For a perturbation
\[ \delta\mathbf x(t_0), \]
the propagated perturbation is
\[ \boxed{ \delta\mathbf x(t) = \mathbf\Phi(t,t_0) \delta\mathbf x(t_0). } \]
For the nonlinear system
\[ \dot{\mathbf x} = f(\mathbf x,t), \]
define
\[ \mathbf A(t) = \frac{\partial f}{\partial\mathbf x}. \]
Then the STM satisfies
\[ \boxed{ \dot{\mathbf\Phi} = \mathbf A(t)\mathbf\Phi. } \]
The initial condition is
\[ \boxed{ \mathbf\Phi(t_0,t_0) = \mathbf I. } \]
The STM is fundamental to
- trajectory sensitivity,
- covariance propagation,
- batch orbit determination,
- differential correction,
- maneuver estimation,
- targeting,
- state sensitivity analysis.
Sensitivity Matrices
Suppose the spacecraft dynamics depend on an uncertain parameter vector
\[ \mathbf p. \]
Then
\[ \dot{\mathbf x} = f(\mathbf x,\mathbf p,t). \]
The sensitivity of the state to the parameter is
\[ \boxed{ \mathbf S_p = \frac{\partial\mathbf x}{\partial\mathbf p}. } \]
A small parameter perturbation produces approximately
\[ \delta\mathbf x = \mathbf S_p\delta\mathbf p. \]
The measurement variation may then be written as
\[ \delta\mathbf z = \mathbf H_x\delta\mathbf x + \mathbf H_p\delta\mathbf p. \]
These sensitivity matrices describe how unknown states and parameters influence measurable quantities.
Conceptually,
\[ \boxed{\text{Unknown Parameter}} \rightarrow \boxed{\text{Dynamic Effect}} \rightarrow \boxed{\text{Trajectory Change}} \rightarrow \boxed{\text{Measurement Change}}. \]
If a parameter produces almost no observable change in the measurements, it will be difficult to estimate.
Covariance of an Estimate
An estimated value alone is insufficient.
Its uncertainty must also be represented.
The estimation-error covariance is
\[ \boxed{ \mathbf P = E \left[ (\mathbf x-\hat{\mathbf x}) (\mathbf x-\hat{\mathbf x})^T \right]. } \]
For a linear weighted least-squares problem,
\[ \boxed{ \mathbf P_{\hat{x}} \approx (\mathbf H^T\mathbf W\mathbf H)^{-1}. } \]
The diagonal terms represent variances.
The off-diagonal terms represent correlations.
For example,
\[ \mathbf P = \begin{bmatrix} \sigma_x^2 & P_{xy}\\ P_{yx} & \sigma_y^2 \end{bmatrix}. \]
Strong correlations can indicate that the available measurements have difficulty separating two unknown quantities.
Covariance Propagation
Using the STM,
\[ \delta\mathbf x(t) = \mathbf\Phi(t,t_0)\delta\mathbf x_0. \]
The corresponding covariance propagation is
\[ \boxed{ \mathbf P(t) = \mathbf\Phi(t,t_0) \mathbf P_0 \mathbf\Phi^T(t,t_0) } \]
for a deterministic linearized system.
More generally, if
\[ \delta\mathbf y = \mathbf S\delta\mathbf x, \]
then
\[ \boxed{ \mathbf P_y = \mathbf S \mathbf P_x \mathbf S^T. } \]
This relation is widely used for
- trajectory dispersion,
- navigation uncertainty,
- sensor-error propagation,
- parameter uncertainty,
- error budgeting,
- targeting uncertainty.
Geometry, Identifiability, and Estimability
An estimation algorithm cannot recover information that is not present in the measurements.
Suppose
\[ \mathbf z = \mathbf H\mathbf x+\mathbf v. \]
The matrix \mathbf H describes the measurement sensitivity to the unknown state.
If two columns of \mathbf H are very similar, two unknowns may affect the measurements in almost the same way.
The estimator may then have difficulty distinguishing them.
The information or normal matrix is
\[ \boxed{ \mathbf N = \mathbf H^T \mathbf W \mathbf H. } \]
Its structure can reveal
- weak estimation directions,
- state correlation,
- parameter correlation,
- insufficient geometry,
- poor numerical conditioning.
Therefore,
\[ \boxed{ \text{More Measurements} \not\Rightarrow \text{Better Estimation} } \]
unless those measurements add independent information.
Observability and Identifiability
These two ideas are related but not identical.
Observability
Observability asks whether the dynamic state can be reconstructed from the available measurements over time.
It depends on
- system dynamics,
- sensor geometry,
- measurement model,
- spacecraft motion.
Identifiability
Identifiability asks whether an unknown parameter can be uniquely determined from the available observations.
Suppose
\[ z = \theta_1\theta_2. \]
A single measurement of z may not uniquely determine both \theta_1 and \theta_2.
Different parameter combinations may produce the same observation.
This problem appears in
- ballistic-coefficient estimation,
- drag-model estimation,
- calibration,
- bias estimation,
- maneuver reconstruction,
- target dynamic-parameter estimation.
Smoothing
Filtering and smoothing use measurements differently.
A filter estimates the current state using measurements available up to the current time:
\[ \hat{\mathbf x}_{k|k}. \]
A smoother estimates an earlier state using measurements that become available later:
\[ \boxed{ \hat{\mathbf x}_{k|N}, \qquad N>k. } \]
Therefore,
\[ \boxed{ \text{Filtering} = \text{Past + Current Data} } \]
whereas
\[ \boxed{ \text{Smoothing} = \text{Past + Current + Future Data}. } \]
Smoothing can improve reconstructed trajectories because future measurements provide additional information about earlier states.
Applications include
- precise orbit reconstruction,
- post-flight trajectory analysis,
- parameter estimation,
- scientific data processing,
- maneuver reconstruction.
Common forms include
- fixed-interval smoothing,
- fixed-lag smoothing,
- Rauch–Tung–Striebel smoothing.
Orbit Determination
Orbit determination is a major application of estimation theory.
Define the spacecraft state at a reference epoch as
\[ \boxed{ \mathbf x_0 = \begin{bmatrix} \mathbf r_0\\ \mathbf v_0 \end{bmatrix}. } \]
The state is propagated using a force model:
\[ \mathbf x(t) = \phi(t,t_0,\mathbf x_0,\boldsymbol{\theta}). \]
The force model may include
- central gravity,
- higher-order gravity harmonics,
- third-body gravity,
- atmospheric drag,
- solar radiation pressure,
- maneuvers,
- empirical accelerations.
Measurements are obtained at times
\[ t_1,t_2,\ldots,t_N. \]
Each measurement is represented as
\[ \boxed{ \mathbf z_i = h_i[\mathbf x(t_i)] + \mathbf v_i. } \]
Possible observation types include
- range,
- range rate,
- Doppler,
- azimuth,
- elevation,
- right ascension,
- declination,
- GNSS observables,
- optical measurements,
- line-of-sight vectors,
- inter-satellite range,
- inter-satellite range rate.
The orbit determination problem is therefore
\[ \boxed{ \text{Tracking Measurements} \rightarrow \text{Estimate Initial Orbit and Dynamic Parameters}. } \]
Batch Orbit Determination
Batch orbit determination estimates the state using a complete observation arc.
Start from an initial guess
\[ \mathbf x_0^{(0)}. \]
Propagate the orbit.
Predict all observations.
Compute
\[ \Delta\mathbf z = \mathbf z_{obs} - \mathbf z_{pred}. \]
Linearize the measurements with respect to the initial state:
\[ \Delta\mathbf z \approx \mathbf H \Delta\mathbf x_0. \]
Solve
\[ \boxed{ \Delta\mathbf x_0 = (\mathbf H^T\mathbf W\mathbf H)^{-1} \mathbf H^T\mathbf W \Delta\mathbf z. } \]
Update
\[ \boxed{ \mathbf x_0^{(i+1)} = \mathbf x_0^{(i)} + \Delta\mathbf x_0. } \]
Then propagate again and repeat until convergence.
The complete loop is
\[ \boxed{\text{Initial Orbit Guess}} \rightarrow \boxed{\text{Propagate Orbit}} \rightarrow \boxed{\text{Predict Measurements}} \rightarrow \boxed{\text{Compute Residuals}} \rightarrow \boxed{\text{Estimate Correction}} \rightarrow \boxed{\text{Update Orbit}} \rightarrow \boxed{\text{Repeat}}. \]
Sequential Orbit Determination
Sequential OD updates the estimated orbit whenever a new tracking measurement becomes available.
Conceptually,
\[ \boxed{\text{Previous Orbit Estimate}} + \boxed{\text{New Observation}} \rightarrow \boxed{\text{Updated Orbit Estimate}}. \]
Sequential OD is useful for
- real-time tracking,
- autonomous onboard navigation,
- rendezvous,
- formation flying,
- continuous orbit maintenance.
The specific recursive filters used for this task are developed in Section 4.2.
Maneuver Estimation
Spacecraft maneuvers may not be known perfectly.
An impulsive maneuver can be written as
\[ \Delta\mathbf v = \begin{bmatrix} \Delta v_x\\ \Delta v_y\\ \Delta v_z \end{bmatrix}. \]
If the maneuver is uncertain, the unknown parameter vector may be
\[ \boldsymbol{\theta}_m = \begin{bmatrix} t_m\\ \Delta v_x\\ \Delta v_y\\ \Delta v_z \end{bmatrix}. \]
The estimator attempts to determine these quantities from the observed change in trajectory.
For a finite burn, estimated parameters may include
- ignition time,
- burn duration,
- thrust magnitude,
- thrust direction,
- scale factor,
- misalignment.
Conceptually,
\[ \boxed{\text{Unknown Maneuver}} \rightarrow \boxed{\text{Trajectory Change}} \rightarrow \boxed{\text{Measurement Change}} \rightarrow \boxed{\text{Maneuver Estimate}}. \]
Augmented-State Estimation
Unknown model parameters can be incorporated directly into the estimated state.
Suppose
\[ \mathbf x \]
is the dynamic state and
\[ \boldsymbol{\theta} \]
contains unknown parameters.
Define
\[ \boxed{ \mathbf x_a = \begin{bmatrix} \mathbf x\\ \boldsymbol{\theta} \end{bmatrix}. } \]
For example,
\[ \mathbf x_a = \begin{bmatrix} \mathbf r\\ \mathbf v\\ BC\\ b_a \end{bmatrix}. \]
A constant parameter may use
\[ \dot{\theta}=0, \]
while a slowly varying parameter may use
\[ \dot{\theta}=w_\theta. \]
The estimator can then estimate both trajectory and unknown model parameters simultaneously.
Example: Ballistic-Coefficient Estimation
Ballistic coefficient is a good example of parameter estimation.
A common definition is
\[ \boxed{ BC = \frac{m}{C_DA}. } \]
Atmospheric drag acceleration can be approximated as
\[ \mathbf a_D = -\frac12 \rho \frac{C_DA}{m} v_{rel}^2 \hat{\mathbf v}_{rel}. \]
Using BC,
\[ \boxed{ \mathbf a_D = -\frac12 \frac{\rho v_{rel}^2}{BC} \hat{\mathbf v}_{rel}. } \]
Changing BC changes the predicted drag acceleration.
This changes the propagated orbit.
That changes the predicted observations.
Therefore,
\[ \boxed{\text{Ballistic Coefficient}} \rightarrow \boxed{\text{Drag Acceleration}} \rightarrow \boxed{\text{Orbit Evolution}} \rightarrow \boxed{\text{Measurements}}. \]
If sufficient information is present in the observations, the ballistic coefficient can be inferred indirectly even though no onboard sensor directly measures it.
Numerical Conditioning
The formal least-squares solution contains
\[ (\mathbf H^T\mathbf W\mathbf H)^{-1}. \]
In practical numerical software, explicitly calculating this inverse is generally avoided.
More robust methods include
- QR decomposition,
- Cholesky factorization,
- Singular Value Decomposition,
- square-root least squares,
- regularization.
These techniques become important when
- the problem contains many measurements,
- parameters are strongly correlated,
- measurement sensitivities differ greatly in magnitude,
- the system is nearly rank deficient.
Condition Number
The condition number provides one indication of numerical sensitivity.
For a suitable nonsingular matrix,
\[ \boxed{ \kappa(\mathbf H) = \|\mathbf H\| \|\mathbf H^{-1}\|. } \]
A relatively small condition number indicates a better-conditioned problem.
A very large condition number indicates that small changes in measurement data may create relatively large changes in the estimated solution.
Poor conditioning may result from
- poor geometry,
- redundant parameters,
- highly correlated states,
- weak sensitivity,
- poor numerical scaling.
Scaling of Estimation Variables
Spacecraft estimation problems frequently involve variables with very different numerical magnitudes.
For example,
\[ r \sim 10^6 \text{ m}, \]
while a sensor bias may be
\[ b_g \sim 10^{-5}\text{ rad/s}. \]
Solving directly with variables that differ by many orders of magnitude can degrade numerical conditioning.
Scaled variables may therefore be introduced:
\[ \tilde{\mathbf x} = \mathbf D^{-1}\mathbf x \]
where \mathbf D is a scaling matrix.
Scaling does not change the physical estimation problem, but it can substantially improve numerical robustness.
General Estimation Workflow
A practical estimation problem usually follows a sequence such as
\[ \boxed{\text{Define Unknowns}} \]
\[ \downarrow \]
\[ \boxed{\text{Define Dynamic Model}} \]
\[ \downarrow \]
\[ \boxed{\text{Define Measurement Model}} \]
\[ \downarrow \]
\[ \boxed{\text{Characterize Measurement Uncertainty}} \]
\[ \downarrow \]
\[ \boxed{\text{Compute Predicted Measurements}} \]
\[ \downarrow \]
\[ \boxed{\text{Form Residuals}} \]
\[ \downarrow \]
\[ \boxed{\text{Compute Sensitivities}} \]
\[ \downarrow \]
\[ \boxed{\text{Solve for State / Parameter Correction}} \]
\[ \downarrow \]
\[ \boxed{\text{Update Estimate}} \]
\[ \downarrow \]
\[ \boxed{\text{Check Convergence and Uncertainty}}. \]
This workflow applies, with different mathematical implementations, to a wide range of spacecraft-estimation problems.
Connection Between Sections 4.1, 4.2, and 4.3
The first three sections of the navigation part of the website now form a clear progression.
Section 4.1 — Sensor Models
asks:
What does each sensor measure, and what imperfections are present in that measurement?
Conceptually,
\[ \boxed{\text{True Physical State}} \rightarrow \boxed{\text{Sensor Model}} \rightarrow \boxed{\text{Measurement}}. \]
Section 4.2 — Sensor Fusion
asks:
How do multiple sensors, spacecraft models, filters, timing, validation logic, and navigation architectures work together to produce a state estimate?
Conceptually,
\[ \boxed{\text{Multiple Measurements}} + \boxed{\text{Spacecraft Model}} \rightarrow \boxed{\text{Sensor Fusion}} \rightarrow \boxed{\hat{\mathbf x},\mathbf P}. \]
Your 4.2 already explicitly develops the recursive-filter families and related implementation topics, including KF, EKF, ESKF, MEKF, UKF, information/federated filters, and particle filters.
Section 4.3 — Estimation Algorithms
asks:
How are unknown states and parameters mathematically reconstructed from observations?
Conceptually,
\[ \boxed{\text{Observations}} + \boxed{\text{Dynamic / Measurement Models}} + \boxed{\text{Uncertainty}} \rightarrow \boxed{\text{Inverse Estimation Problem}} \rightarrow \boxed{\hat{\mathbf x},\hat{\boldsymbol{\theta}}}. \]
Therefore the progression becomes
\[ \boxed{\text{Sensor Physics}} \rightarrow \boxed{\text{Sensor Measurements}} \rightarrow \boxed{\text{Sensor Fusion}} \rightarrow \boxed{\text{Estimation Mathematics}} \rightarrow \boxed{\text{Navigation Solution}}. \]
Explore Estimation Algorithm Topics
I would divide the individual 4.3 pages into five groups.
Foundations of Estimation
4.3.1 Estimation Problem Formulation
Develop:
- unknown state and parameter vectors,
- observation equations,
- residuals,
- objective functions,
- deterministic and stochastic formulations,
- overdetermined and underdetermined systems,
- prior information,
- state estimation versus parameter estimation,
- batch versus sequential processing,
- identifiability.
4.3.2 Linear and Weighted Least Squares
Develop:
- linear measurement model,
- residual minimization,
- normal equations,
- ordinary least squares,
- weighted least squares,
- measurement covariance,
- a priori constraints,
- covariance of the estimate,
- design matrices.
4.3.3 Batch Dynamic State Estimation
Develop:
- measurements at multiple epochs,
- trajectory propagation,
- initial-state estimation,
- dynamic sensitivity,
- STM connection,
- batch correction process,
- observation arcs.
Recursive and Nonlinear Estimation
4.3.4 Recursive Estimation from the Least-Squares and Bayesian Viewpoints
Develop:
- information accumulation,
- recursive least squares,
- Bayesian recursion,
- relationship between batch and sequential estimation,
- connection with Kalman filtering,
- information form.
This should explain the mathematics behind recursive estimation without repeating the complete Kalman Filter chapter from 4.2.
4.3.5 Nonlinear Least Squares and Differential Corrections
Develop:
- nonlinear residuals,
- linearization,
- Jacobians,
- Gauss–Newton,
- iterative differential correction,
- convergence criteria,
- Levenberg–Marquardt,
- initial-guess sensitivity.
4.3.6 Maximum Likelihood and MAP Estimation
Develop:
- likelihood,
- log-likelihood,
- Gaussian likelihood,
- relationship between MLE and weighted least squares,
- prior probability,
- posterior probability,
- MAP estimation,
- regularization interpretation.
4.3.7 Smoothing and Retrodiction
Develop:
- filtering versus smoothing,
- fixed-interval smoothing,
- fixed-lag smoothing,
- RTS smoother,
- forward/backward processing,
- offline trajectory reconstruction,
- orbit reconstruction.
Sensitivity, Covariance, and Parameters
4.3.8 State Transition and Sensitivity Matrices
Develop:
- STM definition,
- variational equations,
- linearized state perturbation,
- parameter sensitivity,
- measurement sensitivity,
- trajectory sensitivity,
- relation to OD.
4.3.9 Covariance Analysis and Error Propagation
Develop:
- a priori covariance,
- a posteriori covariance,
- STM covariance propagation,
- sensitivity-based covariance mapping,
- error ellipsoids,
- state correlation,
- error budgets,
- contribution analysis.
4.3.10 Parameter and Augmented-State Estimation
Develop:
- state versus parameter,
- augmented states,
- constant parameters,
- random-walk parameters,
- sensor bias estimation,
- drag coefficient,
- ballistic coefficient,
- calibration parameters,
- nuisance parameters,
- state-parameter correlation.
Orbit Determination
4.3.11 Orbit Determination Fundamentals
Develop:
- reference-epoch state,
- observation arc,
- force models,
- orbit propagation,
- initial orbit,
- measurement prediction,
- OD architecture.
4.3.12 Orbit-Determination Measurement Models
Develop:
- range,
- range rate,
- Doppler,
- azimuth/elevation,
- RA/Dec,
- line-of-sight,
- GNSS observations,
- optical observations,
- measurement partial derivatives.
4.3.13 Batch Orbit Determination
Develop:
- differential correction,
- STM-based design matrix,
- residual stacking,
- weighted solution,
- iterative orbit correction,
- convergence,
- post-fit residuals.
4.3.14 Sequential Orbit Determination
Develop:
- real-time OD,
- recursive state updating,
- process noise,
- maneuver handling,
- state augmentation,
- onboard OD.
4.3.15 Maneuver and Dynamic-Parameter Estimation
Develop:
- impulsive maneuver estimation,
- burn-time estimation,
- finite-burn parameters,
- empirical accelerations,
- thrust magnitude uncertainty,
- thrust-direction uncertainty,
- drag/SRP parameter estimation.
Estimation Quality and Numerical Solution
4.3.16 Geometry, Identifiability and Estimability
Develop:
- measurement geometry,
- rank,
- null space,
- parameter correlation,
- weak estimation directions,
- estimability,
- observability versus identifiability,
- excitation.
4.3.17 Numerical Conditioning and Robust Solution Methods
Develop:
- normal equations,
- QR,
- Cholesky,
- SVD,
- square-root least squares,
- condition number,
- scaling,
- regularization,
- rank deficiency.
4.3.18 Estimator Design Workflow and Algorithm Selection
Develop:
- static versus dynamic problem,
- batch versus sequential,
- linear versus nonlinear,
- Gaussian versus non-Gaussian,
- online versus offline,
- state versus parameter estimation,
- smoothing requirement,
- computational resources,
- measurement availability,
- estimator-selection workflow.
Compact Chapter Summary
The core idea of Section 4.3 can be summarized as
\[ \boxed{ \text{Measurements} \rightarrow \text{Residuals} \rightarrow \text{Sensitivities} \rightarrow \text{Optimization / Inference} \rightarrow \text{Estimated States and Parameters} } \]
or, for a dynamic spacecraft problem,
\[ \boxed{\text{Initial State + Parameters}} \rightarrow \boxed{\text{Propagate Dynamics}} \rightarrow \boxed{\text{Predict Measurements}} \rightarrow \boxed{\text{Compare with Observations}} \rightarrow \boxed{\text{Correct Unknowns}} \rightarrow \boxed{\text{Repeat Until Converged}}. \]
That gives 4.3 Estimation Algorithms a clear identity: it becomes the mathematical bridge between measurements and the unknown physical quantities that spacecraft GNC needs.
Explore Estimation Algorithm Topics
The following sections develop the mathematical foundations, numerical methods, dynamic estimation tools, and orbit-determination applications introduced in Section 4.3.
Foundations of Estimation
4.3.1 Estimation Problem Formulation
Unknown states and parameters, observation equations, residuals, cost functions, prior information, batch versus sequential processing, and identifiability.
Explore Topic →
4.3.2 Linear and Weighted Least Squares
Linear measurement models, residual minimization, normal equations, weighted least squares, design matrices, covariance, and a priori constraints.
Explore Topic →
4.3.3 Batch Dynamic State Estimation
Measurements over multiple epochs, trajectory propagation, initial-state estimation, dynamic sensitivities, State Transition Matrices, and batch correction.
Explore Topic →
Recursive and Nonlinear Estimation
4.3.4 Recursive Estimation from Least-Squares and Bayesian Viewpoints
Information accumulation, recursive least squares, Bayesian recursion, the relationship between batch and sequential estimation, and links to Kalman filtering.
Explore Topic →
4.3.5 Nonlinear Least Squares and Differential Corrections
Nonlinear residuals, Jacobians, Gauss–Newton iteration, differential correction, convergence, Levenberg–Marquardt, and initial-guess sensitivity.
Explore Topic →
4.3.6 Maximum Likelihood and MAP Estimation
Likelihood, log-likelihood, Gaussian measurement models, MLE, MAP estimation, prior information, and the connection to weighted least squares.
Explore Topic →
4.3.7 Smoothing and Retrodiction
Filtering versus smoothing, fixed-interval and fixed-lag methods, RTS smoothing, forward/backward processing, and trajectory reconstruction.
Explore Topic →
Sensitivity, Covariance, and Parameters
4.3.8 State Transition and Sensitivity Matrices
STM definition, variational equations, state perturbations, parameter sensitivities, measurement sensitivities, and trajectory sensitivity.
Explore Topic →
4.3.9 Covariance Analysis and Error Propagation
A priori and a posteriori covariance, STM propagation, covariance mapping, correlations, uncertainty ellipsoids, and error budgets.
Explore Topic →
4.3.10 Parameter and Augmented-State Estimation
Static and slowly varying parameters, augmented states, sensor biases, ballistic coefficient, calibration parameters, nuisance parameters, and correlation.
Explore Topic →
Orbit Determination
4.3.11 Orbit Determination Fundamentals
Reference-epoch states, force models, orbit propagation, observation arcs, measurement prediction, and the general orbit-determination architecture.
Explore Topic →
4.3.12 Orbit-Determination Measurement Models
Range, range rate, Doppler, azimuth/elevation, RA/Dec, line of sight, GNSS, optical observations, and measurement partial derivatives.
Explore Topic →
4.3.13 Batch Orbit Determination
Differential correction, STM-based design matrices, residual stacking, weighted solutions, iteration, convergence, and post-fit residuals.
Explore Topic →
4.3.14 Sequential Orbit Determination
Real-time recursive orbit updates, process noise, maneuvers, state augmentation, onboard OD, and continuous tracking.
Explore Topic →
4.3.15 Maneuver and Dynamic-Parameter Estimation
Impulsive and finite-burn estimation, burn timing, thrust magnitude and direction, empirical accelerations, drag, and SRP parameter estimation.
Explore Topic →
Estimation Quality and Numerical Solution
4.3.16 Geometry, Identifiability and Estimability
Measurement geometry, rank, null spaces, parameter correlations, weak estimation directions, excitation, and estimability.
Explore Topic →
4.3.17 Numerical Conditioning and Robust Solution Methods
Normal equations, QR, Cholesky, SVD, square-root least squares, condition number, scaling, regularization, and rank deficiency.
Explore Topic →
4.3.18 Estimator Design Workflow and Algorithm Selection
Choosing among static, dynamic, batch, sequential, linear, nonlinear, probabilistic, smoothing, and parameter-estimation approaches.
Explore Topic →