Estimation Algorithms

Mathematical methods for estimating unknown spacecraft states and parameters from imperfect observations using least squares, nonlinear optimisation, recursive estimation, smoothing, sensitivity analysis, covariance propagation, and orbit determination.

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

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

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

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

However, a small residual does not automatically prove that all estimated quantities are accurate.

A solution may fit the data while still containing

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


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


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

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

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


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

Common forms include


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

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

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

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

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

These techniques become important when


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


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:

4.3.2 Linear and Weighted Least Squares

Develop:

4.3.3 Batch Dynamic State Estimation

Develop:


Recursive and Nonlinear Estimation

4.3.4 Recursive Estimation from the Least-Squares and Bayesian Viewpoints

Develop:

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:

4.3.6 Maximum Likelihood and MAP Estimation

Develop:

4.3.7 Smoothing and Retrodiction

Develop:


Sensitivity, Covariance, and Parameters

4.3.8 State Transition and Sensitivity Matrices

Develop:

4.3.9 Covariance Analysis and Error Propagation

Develop:

4.3.10 Parameter and Augmented-State Estimation

Develop:


Orbit Determination

4.3.11 Orbit Determination Fundamentals

Develop:

4.3.12 Orbit-Determination Measurement Models

Develop:

4.3.13 Batch Orbit Determination

Develop:

4.3.14 Sequential Orbit Determination

Develop:

4.3.15 Maneuver and Dynamic-Parameter Estimation

Develop:


Estimation Quality and Numerical Solution

4.3.16 Geometry, Identifiability and Estimability

Develop:

4.3.17 Numerical Conditioning and Robust Solution Methods

Develop:

4.3.18 Estimator Design Workflow and Algorithm Selection

Develop:


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

Recursive and Nonlinear Estimation

Sensitivity, Covariance, and Parameters

Orbit Determination

Estimation Quality and Numerical Solution