Observer-Based Fusion

Luenberger observers, observer error dynamics, gain selection, observability, nonlinear observers, attitude observers, bias and disturbance estimation, convergence, robustness, and observer-based spacecraft state estimation.

4.2.4 Observer-Based Fusion

An observer is a model-based state-estimation method that reconstructs internal spacecraft states using two principal sources of information:

\[ \boxed{ \text{System Dynamics} + \text{Sensor Measurements} }. \]

The spacecraft dynamic model predicts how the state should evolve, while sensor measurements provide information about what the spacecraft is actually doing.

The observer continuously compares these two sources and uses the difference to correct its estimate.

This gives the fundamental observer concept:

\[ \boxed{\text{Predict State}} \rightarrow \boxed{\text{Predict Measurement}} \rightarrow \boxed{\text{Compare with Sensor}} \rightarrow \boxed{\text{Correct State}}. \]

Observer-based fusion forms an important conceptual bridge between relatively simple complementary filters and probabilistic estimators such as the Kalman filter.

A complementary filter essentially uses

\[ \boxed{ \text{Fast Sensor Information} + \text{Slow Reference Information} }. \]

An observer generalizes this idea:

\[ \boxed{ \text{Use the Spacecraft Dynamic Model} + \text{Use Measurement Residuals to Correct the Estimated State} }. \]

Observer-based fusion can therefore be applied to

4.2.4.1 Why Do We Need an Observer?

Consider a representative spacecraft state vector

\[ \mathbf{x} = \begin{bmatrix} \mathbf r\\ \mathbf v\\ \mathbf q\\ \boldsymbol{\omega}\\ \mathbf b_g\\ \cdots \end{bmatrix}. \]

The flight computer usually cannot measure every element of this state directly.

For example:

Therefore,

\[ \boxed{ \text{Sensor Measurements} \neq \text{Complete Spacecraft State} }. \]

The objective is to reconstruct the state using measurements together with knowledge of the spacecraft dynamics:

\[ \boxed{ \mathbf z + \text{Spacecraft Model} \rightarrow \hat{\mathbf x} }. \]

Here

\[ \hat{\mathbf x} \]

is the estimated spacecraft state.

4.2.4.2 State-Space Foundation

Consider a continuous-time linear spacecraft system

\[ \boxed{ \dot{\mathbf x} = \mathbf A\mathbf x + \mathbf B\mathbf u } \]

with measurement equation

\[ \boxed{ \mathbf y = \mathbf C\mathbf x }. \]

where

For spacecraft systems, the control input may include reaction-wheel torque, control-moment-gyro torque, magnetic torque, thruster torque, or commanded translational force.

4.2.4.2.1 Example: Only One State Is Measured

Suppose

\[ \mathbf x = \begin{bmatrix} \theta\\ \omega \end{bmatrix} \]

but only attitude is measured:

\[ y = \theta. \]

Then

\[ \boxed{ \mathbf C = \begin{bmatrix} 1 & 0 \end{bmatrix} }. \]

Angular rate is not directly measured by this sensor.

Under suitable observability conditions, however, an observer can still estimate it.

This gives an important state-estimation principle:

\[ \boxed{ \text{A State Does Not Need to Be Directly Measured to Be Estimated} }. \]

4.2.4.3 What Happens If We Use Only the Model?

Suppose we construct a copy of the spacecraft dynamics:

\[ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u. \]

If the initial estimate were perfect and the model exactly represented the real spacecraft, then

\[ \hat{\mathbf x}(t) = \mathbf x(t). \]

Real systems are not perfect.

Differences may arise from

Therefore,

\[ \boxed{ \text{Model-Only Propagation} \rightarrow \text{Accumulating Estimation Error} }. \]

Sensor feedback is therefore required.

4.2.4.4 Predicted Measurement

The observer maintains an estimated state

\[ \hat{\mathbf x}. \]

From this state, it predicts what the sensor should measure:

\[ \boxed{ \hat{\mathbf y} = \mathbf C\hat{\mathbf x} }. \]

The actual sensor provides

\[ \mathbf y. \]

Their difference is

\[ \boxed{ \mathbf r = \mathbf y-\hat{\mathbf y} } \]

or equivalently

\[ \boxed{ \mathbf r = \mathbf y-\mathbf C\hat{\mathbf x} }. \]

This quantity is the measurement residual or observer output error.

If

\[ \mathbf r \approx 0, \]

the predicted measurement agrees with the sensor.

If

\[ \mathbf r \neq 0, \]

the observer and the measurement disagree.

The observer uses this disagreement to correct the estimated state.

4.2.4.5 Luenberger Observer

For the linear system

\[ \dot{\mathbf x} = \mathbf A\mathbf x + \mathbf B\mathbf u \]

with

\[ \mathbf y = \mathbf C\mathbf x, \]

the classical Luenberger observer is

\[ \boxed{ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u + \mathbf L \left( \mathbf y-\mathbf C\hat{\mathbf x} \right) }. \]

The observer contains two main components.

4.2.4.5.1 Model Prediction

\[ \boxed{ \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u }. \]

This term predicts how the estimated spacecraft state should evolve.

4.2.4.5.2 Measurement Correction

\[ \boxed{ \mathbf L \left( \mathbf y-\mathbf C\hat{\mathbf x} \right) }. \]

This term corrects the predicted state using disagreement between the measured and predicted outputs.

Therefore,

\[ \boxed{ \text{Observer} = \text{Dynamic Model} + \text{Measurement Feedback} }. \]

4.2.4.6 What Does the Observer Gain \(\mathbf L\) Do?

The observer gain matrix

\[ \boxed{\mathbf L} \]

determines how strongly measurement disagreement affects each estimated state.

Conceptually,

\[ \boxed{ \mathbf L\text{ small} \Rightarrow \text{Greater Reliance on the Model} }. \]

Larger observer gain produces stronger and faster correction:

\[ \boxed{ \mathbf L\text{ large} \Rightarrow \text{Faster Measurement Correction} }. \]

However, very large gain can also amplify sensor noise.

Observer design therefore requires a trade-off between

\[ \boxed{\text{Fast Error Convergence}} \]

and

\[ \boxed{\text{Noise Sensitivity}}. \]

This is similar to the tuning trade-off encountered in complementary filtering.

4.2.4.7 Observer Estimation Error

Define the estimation error:

\[ \boxed{ \mathbf e = \mathbf x-\hat{\mathbf x} }. \]

The true system is

\[ \dot{\mathbf x} = \mathbf A\mathbf x + \mathbf B\mathbf u. \]

The observer is

\[ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u + \mathbf L (\mathbf y-\mathbf C\hat{\mathbf x}). \]

Since

\[ \mathbf y = \mathbf C\mathbf x, \]

the observer becomes

\[ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u + \mathbf L\mathbf C (\mathbf x-\hat{\mathbf x}). \]

Now

\[ \dot{\mathbf e} = \dot{\mathbf x} - \dot{\hat{\mathbf x}}. \]

Substitution gives

\[ \boxed{ \dot{\mathbf e} = (\mathbf A-\mathbf L\mathbf C)\mathbf e }. \]

This is the fundamental observer error dynamics equation.

4.2.4.8 Why Observer Error Dynamics Matter

We would like the state-estimation error to converge toward zero:

\[ \boxed{ \mathbf e(t) \rightarrow 0 } \]

as

\[ t \rightarrow \infty. \]

From

\[ \dot{\mathbf e} = (\mathbf A-\mathbf L\mathbf C)\mathbf e, \]

the convergence depends on the eigenvalues of

\[ \boxed{ \mathbf A-\mathbf L\mathbf C }. \]

For a continuous-time linear observer, asymptotic stability requires

\[ \boxed{ \Re(\lambda_i)<0 } \]

for every observer pole.

Observer design therefore consists partly of choosing \(\mathbf L\) so that the error dynamics are stable and sufficiently fast.

4.2.4.8.1 Controller–Observer Duality

In state-feedback control,

\[ \boxed{ \mathbf A-\mathbf B\mathbf K } \]

determines closed-loop control dynamics.

In observer design,

\[ \boxed{ \mathbf A-\mathbf L\mathbf C } \]

determines estimation-error dynamics.

This controller–observer duality is a fundamental concept in modern control theory.

4.2.4.9 Observer Pole Placement

If the pair

\[ (\mathbf A,\mathbf C) \]

is observable, the observer poles can generally be assigned through the gain matrix \(\mathbf L\).

Suppose the desired observer poles are

\[ p_1,p_2,\ldots,p_n. \]

The gain is selected such that

\[ \boxed{ \operatorname{eig} (\mathbf A-\mathbf L\mathbf C) = \{p_1,p_2,\ldots,p_n\} }. \]

This is called observer pole placement.

The poles determine how rapidly estimation errors decay.

Faster poles may improve convergence, but overly aggressive pole placement can increase

Therefore,

\[ \boxed{ \text{Very Fast Observer} \not\equiv \text{Best Observer} }. \]

4.2.4.10 Observability

Before designing an observer, we must determine whether the required states can actually be reconstructed from the available measurements.

For

\[ \dot{\mathbf x} = \mathbf A\mathbf x, \qquad \mathbf y = \mathbf C\mathbf x, \]

the observability matrix is

\[ \boxed{ \mathcal O = \begin{bmatrix} \mathbf C\\ \mathbf C\mathbf A\\ \mathbf C\mathbf A^2\\ \vdots\\ \mathbf C\mathbf A^{n-1} \end{bmatrix} }. \]

For an \(n\)-state system, full observability requires

\[ \boxed{ \operatorname{rank}(\mathcal O) = n }. \]

If

\[ \operatorname{rank}(\mathcal O) < n, \]

then some state directions cannot be reconstructed uniquely from the available measurements.

This is especially important in spacecraft attitude determination, relative navigation, and bias estimation.

For example, one reference-vector measurement generally cannot determine rotation about that same vector.

Therefore,

\[ \boxed{ \text{Adding an Observer Cannot Create Information That the Sensors and Dynamics Do Not Contain} }. \]

4.2.4.11 Example: Estimating Attitude and Angular Rate

Consider a simplified single-axis rigid spacecraft:

\[ J\ddot{\theta} = u \]

where \(J\) is the spacecraft moment of inertia and \(u\) is the applied control torque.

Define

\[ \mathbf x = \begin{bmatrix} \theta\\ \omega \end{bmatrix}, \qquad \omega = \dot{\theta}. \]

Then

\[ \dot{\theta} = \omega \]

and

\[ \dot{\omega} = \frac{u}{J}. \]

Therefore,

\[ \boxed{ \dot{\mathbf x} = \begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix} \mathbf x + \begin{bmatrix} 0\\ 1/J \end{bmatrix} u }. \]

Suppose only attitude is measured:

\[ y = \theta. \]

Therefore,

\[ \mathbf C = \begin{bmatrix} 1&0 \end{bmatrix}. \]

Let

\[ \mathbf L = \begin{bmatrix} l_1\\ l_2 \end{bmatrix}. \]

Then the observer is

\[ \begin{bmatrix} \dot{\hat{\theta}}\\ \dot{\hat{\omega}} \end{bmatrix} = \begin{bmatrix} 0&1\\ 0&0 \end{bmatrix} \begin{bmatrix} \hat{\theta}\\ \hat{\omega} \end{bmatrix} + \begin{bmatrix} 0\\ 1/J \end{bmatrix} u + \begin{bmatrix} l_1\\ l_2 \end{bmatrix} \left( \theta_m-\hat{\theta} \right). \]

Expanding,

\[ \boxed{ \dot{\hat{\theta}} = \hat{\omega} + l_1 (\theta_m-\hat{\theta}) } \]

and

\[ \boxed{ \dot{\hat{\omega}} = \frac{u}{J} + l_2 (\theta_m-\hat{\theta}) }. \]

Only attitude is measured directly, yet the same attitude residual can correct both attitude and angular-rate estimates.

The dynamic model allows the observer to reconstruct the unmeasured angular-rate state.

4.2.4.12 Observer-Based Sensor Fusion

An observer can fuse information from several sensors.

Suppose

\[ \mathbf z = \begin{bmatrix} \mathbf z_1\\ \mathbf z_2\\ \mathbf z_3 \end{bmatrix}. \]

Each sensor may be described by

\[ \mathbf z_i = h_i(\mathbf x) + \mathbf v_i. \]

The observer predicts

\[ \hat{\mathbf z}_i = h_i(\hat{\mathbf x}). \]

The residual for each sensor is

\[ \boxed{ \mathbf r_i = \mathbf z_i - \hat{\mathbf z}_i }. \]

A general observer correction can therefore be written as

\[ \boxed{ \dot{\hat{\mathbf x}} = f(\hat{\mathbf x},\mathbf u) + \sum_i \mathbf L_i\mathbf r_i }. \]

Conceptually,

\[ \boxed{\text{Spacecraft Dynamics}} \rightarrow \boxed{\text{State Prediction}} \]

while

\[ \boxed{\text{Sensor 1}} \rightarrow \boxed{\mathbf r_1}, \]

\[ \boxed{\text{Sensor 2}} \rightarrow \boxed{\mathbf r_2}, \]

\[ \boxed{\text{Sensor 3}} \rightarrow \boxed{\mathbf r_3}. \]

The residuals are used to correct the common state estimate.

Thus the measurements are fused through the spacecraft state and model, rather than simply averaged with one another.

4.2.4.13 Nonlinear Observer

Real spacecraft dynamics and measurement relationships are often nonlinear.

The spacecraft dynamics may be written as

\[ \boxed{ \dot{\mathbf x} = f(\mathbf x,\mathbf u) } \]

and the measurement model as

\[ \boxed{ \mathbf z = h(\mathbf x) }. \]

A general nonlinear observer can be expressed conceptually as

\[ \boxed{ \dot{\hat{\mathbf x}} = f(\hat{\mathbf x},\mathbf u) + \mathbf L \left[ \mathbf z - h(\hat{\mathbf x}) \right] }. \]

The quantity

\[ \boxed{ \mathbf z-h(\hat{\mathbf x}) } \]

is the nonlinear measurement residual.

Unlike the linear Luenberger observer, nonlinear observer stability cannot generally be determined only by selecting eigenvalues of a constant matrix.

Nonlinear observer design may involve

This is especially important for attitude because spacecraft attitude evolves on

\[ \boxed{SO(3)} \]

rather than ordinary Euclidean space.

4.2.4.14 Spacecraft Attitude Observer

Consider attitude represented by quaternion

\[ \mathbf q \]

and body angular rate

\[ \boldsymbol{\omega}. \]

A gyroscope measures

\[ \boxed{ \boldsymbol{\omega}_m = \boldsymbol{\omega} + \mathbf b_g + \mathbf n_g }. \]

The observer maintains

\[ \hat{\mathbf q}, \qquad \hat{\mathbf b}_g. \]

A bias-corrected angular rate is

\[ \boxed{ \hat{\boldsymbol{\omega}} = \boldsymbol{\omega}_m - \hat{\mathbf b}_g }. \]

Quaternion propagation is then performed using

\[ \boxed{ \dot{\hat{\mathbf q}} = \frac12 \Omega(\hat{\boldsymbol{\omega}}) \hat{\mathbf q} }. \]

Suppose an absolute attitude sensor supplies

\[ \mathbf q_m. \]

An attitude-error quaternion can be formed:

\[ \boxed{ \delta\mathbf q = \mathbf q_m \otimes \hat{\mathbf q}^{-1} }. \]

The exact multiplication order depends on the selected quaternion convention.

For small attitude error,

\[ \delta\mathbf q \approx \begin{bmatrix} 1\\ \frac12 \delta\boldsymbol{\theta} \end{bmatrix}. \]

The small rotation vector

\[ \delta\boldsymbol{\theta} \]

provides a useful correction signal.

Conceptually,

\[ \boxed{\text{Gyro}} \rightarrow \boxed{\text{Quaternion Propagation}} \]

\[ \boxed{\text{Star Tracker}} \rightarrow \boxed{\text{Attitude Residual}} \]

\[ \boxed{\text{Residual}} \rightarrow \boxed{\text{Observer Correction}} \]

producing

\[ \boxed{ \hat{\mathbf q}, \hat{\mathbf b}_g }. \]

4.2.4.15 Vector-Based Attitude Observer

A spacecraft may not always receive a complete measured attitude quaternion.

Instead, it may receive physical reference vectors such as

\[ \mathbf s_m^B \]

from a Sun sensor and

\[ \mathbf B_m^B \]

from a magnetometer.

Using the estimated attitude, the expected body-frame vectors are

\[ \hat{\mathbf s}^B = \mathbf C_I^B(\hat{\mathbf q}) \mathbf s^I \]

and

\[ \hat{\mathbf B}^B = \mathbf C_I^B(\hat{\mathbf q}) \mathbf B^I. \]

A geometric residual can be formed using cross products:

\[ \boxed{ \mathbf e_s = \hat{\mathbf s}^B \times \mathbf s_m^B } \]

and

\[ \boxed{ \mathbf e_B = \hat{\mathbf B}^B \times \mathbf B_m^B }. \]

A combined attitude correction may be

\[ \boxed{ \mathbf e_R = w_s\mathbf e_s + w_B\mathbf e_B }. \]

The weights \(w_s\) and \(w_B\) determine the relative influence of the two reference measurements.

This provides a geometric observer-based form of attitude fusion.

4.2.4.16 Gyroscope Bias Estimation

A useful observer can estimate gyroscope bias together with attitude.

Instead of estimating only

\[ \mathbf q, \]

the observer state includes

\[ \boxed{ \hat{\mathbf x} = \begin{bmatrix} \hat{\mathbf q}\\ \hat{\mathbf b}_g \end{bmatrix} }. \]

Suppose the attitude residual is

\[ \mathbf e_R. \]

A simplified observer may use

\[ \boxed{ \boldsymbol{\omega}_c = \boldsymbol{\omega}_m - \hat{\mathbf b}_g + K_P\mathbf e_R } \]

for attitude propagation and

\[ \boxed{ \dot{\hat{\mathbf b}}_g = -K_I\mathbf e_R } \]

for bias adaptation.

The proportional term produces faster attitude correction, while the integral term slowly adjusts the bias estimate.

Conceptually,

\[ \boxed{\text{Attitude Residual}} \rightarrow \begin{cases} \text{Attitude Correction}\\ \text{Gyro-Bias Correction} \end{cases} \]

This shows why PI-type complementary filters naturally lead into observer-based estimation.

4.2.4.17 Relationship to Complementary Filters

The previous section introduced the complementary-filter structure

\[ \hat{\theta}_k = \hat{\theta}_k^- + K_c \left( \theta_{abs,k} - \hat{\theta}_k^- \right). \]

This already contains

\[ \boxed{\text{Prediction}} + \boxed{\text{Measurement Residual}} + \boxed{\text{Correction}}. \]

The observer formalizes and generalizes this structure.

Complementary filtering is usually interpreted primarily through complementary frequency characteristics.

Observer-based fusion is interpreted primarily through

\[ \boxed{ \text{Dynamic Model} + \text{Output-Error Feedback} }. \]

A useful conceptual progression is therefore

\[ \boxed{\text{Complementary Filter}} \rightarrow \boxed{\text{Observer}} \rightarrow \boxed{\text{Probabilistic State Estimator}}. \]

4.2.4.18 Observer Gain vs Kalman Gain

A deterministic observer uses a designed gain

\[ \boxed{\mathbf L}. \]

The designer selects this gain based on desired convergence, robustness, bandwidth, and noise sensitivity.

A Kalman filter instead computes its correction gain from predicted uncertainty and measurement uncertainty.

For the linear Kalman filter,

\[ \boxed{ \mathbf K_k = \mathbf P_k^- \mathbf H_k^T \left( \mathbf H_k \mathbf P_k^- \mathbf H_k^T + \mathbf R_k \right)^{-1} }. \]

Therefore,

\[ \boxed{ \text{Observer Gain} = \text{Designed from Desired Error Dynamics} } \]

whereas

\[ \boxed{ \text{Kalman Gain} = \text{Computed from Model and Measurement Uncertainty} }. \]

4.2.4.19 Noise in Observer-Based Fusion

Real spacecraft measurements contain noise:

\[ \boxed{ \mathbf y = \mathbf C\mathbf x + \mathbf v }. \]

Real spacecraft dynamics also contain disturbances and modelling uncertainty:

\[ \boxed{ \dot{\mathbf x} = \mathbf A\mathbf x + \mathbf B\mathbf u + \mathbf w }. \]

The observer remains

\[ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u + \mathbf L (\mathbf y-\mathbf C\hat{\mathbf x}). \]

The resulting error dynamics become

\[ \boxed{ \dot{\mathbf e} = (\mathbf A-\mathbf L\mathbf C)\mathbf e + \mathbf w - \mathbf L\mathbf v }. \]

This equation reveals an important design trade-off.

Increasing \(\mathbf L\) can accelerate convergence.

But measurement noise enters through

\[ -\mathbf L\mathbf v. \]

Therefore,

\[ \boxed{ \text{Higher Observer Gain} \rightarrow \text{Faster Correction} + \text{Greater Measurement-Noise Sensitivity} }. \]

4.2.4.20 Model Uncertainty and Robustness

The observer uses a mathematical model of the spacecraft.

Suppose the real system is

\[ \dot{\mathbf x} = (\mathbf A+\Delta\mathbf A)\mathbf x + (\mathbf B+\Delta\mathbf B)\mathbf u + \mathbf d \]

while the observer uses nominal matrices

\[ \mathbf A,\mathbf B. \]

Model mismatch then contributes to estimation error.

Spacecraft examples include

A useful observer should therefore be not only stable for the nominal mathematical model, but sufficiently robust to expected spacecraft uncertainty.

4.2.4.21 Disturbance Observers

Observer concepts can be extended to estimate unknown disturbances.

Suppose

\[ \dot{\mathbf x} = \mathbf A\mathbf x + \mathbf B\mathbf u + \mathbf E\mathbf d \]

where

\[ \mathbf d \]

is an unknown disturbance.

The state can be augmented:

\[ \boxed{ \mathbf x_a = \begin{bmatrix} \mathbf x\\ \mathbf d \end{bmatrix} }. \]

If the disturbance varies slowly, one possible model is

\[ \boxed{ \dot{\mathbf d} \approx 0 }. \]

The observer can then attempt to estimate

\[ \hat{\mathbf x} \]

and

\[ \hat{\mathbf d}. \]

This can be useful for slowly varying disturbance forces or torques.

However, the augmented system must remain observable.

Adding an additional state does not automatically make the corresponding physical quantity estimable.

4.2.4.22 Discrete-Time Observer

Flight software normally operates digitally.

A discrete-time spacecraft model can be written as

\[ \boxed{ \mathbf x_{k+1} = \mathbf F\mathbf x_k + \mathbf G\mathbf u_k } \]

with measurement equation

\[ \boxed{ \mathbf y_k = \mathbf H\mathbf x_k }. \]

One observer form is

\[ \boxed{ \hat{\mathbf x}_{k+1} = \mathbf F\hat{\mathbf x}_k + \mathbf G\mathbf u_k + \mathbf L \left( \mathbf y_k - \mathbf H\hat{\mathbf x}_k \right) }. \]

The error dynamics are

\[ \boxed{ \mathbf e_{k+1} = (\mathbf F-\mathbf L\mathbf H)\mathbf e_k }. \]

For discrete-time stability,

\[ \boxed{ \left| \lambda_i (\mathbf F-\mathbf L\mathbf H) \right| < 1 }

for all observer poles.

This differs from the continuous-time requirement, where the poles must lie in the left half of the complex plane.

4.2.4.23 Multi-Rate Observer-Based Fusion

Spacecraft sensors normally operate at different update rates.

For example,

\[ f_{gyro} > f_{star}. \]

GNSS, camera, and LiDAR may also operate at different rates.

The observer can propagate at the high-rate navigation cycle:

\[ \boxed{ \hat{\mathbf x}_{k+1}^{-} = f( \hat{\mathbf x}_k^+, \mathbf u_k ) }. \]

Corrections are then applied only when new sensor measurements become available.

Therefore,

\[ \boxed{\text{Every Navigation Step}} \rightarrow \boxed{\text{Prediction}} \]

while

\[ \boxed{\text{New Valid Measurement}} \rightarrow \boxed{\text{Correction}}. \]

This is a much more realistic flight architecture than assuming all sensors are synchronized.

4.2.4.24 Sensor Dropout

Suppose a star tracker or relative-navigation sensor becomes temporarily unavailable.

The observer can continue using model propagation:

\[ \boxed{ \dot{\hat{\mathbf x}} = f(\hat{\mathbf x},\mathbf u) }. \]

Therefore,

\[ \boxed{ \text{Sensor Dropout} \rightarrow \text{Model-Based Propagation} }. \]

The state estimate remains available, but estimation error may grow.

When the sensor becomes valid again, the residual can once again be used for correction.

Reacquisition logic should avoid introducing excessive transients when the residual has become large during the outage.

4.2.4.25 Measurement Validation

Sensor measurements should generally be validated before they are used to correct the observer.

A useful processing chain is

\[ \boxed{\text{Sensor Measurement}} \rightarrow \boxed{\text{Validity Check}} \rightarrow \boxed{\text{Residual}} \rightarrow \boxed{\text{Observer Correction}}. \]

Possible checks include

If the measurement is invalid,

\[ \boxed{\text{Reject Correction}} \]

and continue prediction.

4.2.4.26 Latency and Time Synchronization

Suppose a measurement received at time

\[ t_k \]

actually represents the spacecraft state at

\[ t_k-\tau. \]

If this delayed measurement is compared directly with the current state estimate

\[ \hat{\mathbf x}(t_k), \]

the residual includes an artificial timing error.

Therefore,

\[ \boxed{ \text{Incorrect Time Alignment} \rightarrow \text{Incorrect Measurement Residual} \rightarrow \text{Incorrect State Correction} }. \]

This can become significant during spacecraft slews and close-range rendezvous operations.

Timestamp accuracy and synchronization are therefore part of the estimator design.

4.2.4.27 Observer-Based Fusion for Translational Navigation

Observer-based fusion is not limited to attitude estimation.

Consider translational state

\[ \mathbf x = \begin{bmatrix} \mathbf r\\ \mathbf v \end{bmatrix}. \]

The dynamics contain

\[ \dot{\mathbf r} = \mathbf v \]

and

\[ \dot{\mathbf v} = \mathbf a (\mathbf r,\mathbf v,\mathbf u). \]

Suppose GNSS provides position:

\[ \mathbf z_r = \mathbf r + \mathbf v_r. \]

The predicted position measurement is

\[ \hat{\mathbf z}_r = \hat{\mathbf r}. \]

Therefore,

\[ \boxed{ \mathbf r_r = \mathbf z_r - \hat{\mathbf r} }. \]

This residual may directly correct position and, through system dynamics, may also correct velocity and other observable states.

Thus,

\[ \boxed{ \text{Measurement of One Quantity} \rightarrow \text{Correction of Multiple Observable States} }. \]

4.2.4.28 Observer-Based Fusion for RPO

For rendezvous and proximity operations, consider the relative state

\[ \boxed{ \mathbf x_{rel} = \begin{bmatrix} \mathbf r_{rel}\\ \mathbf v_{rel} \end{bmatrix} }. \]

Relative dynamics may be represented using CW/Hill equations, linearized relative dynamics, or a nonlinear orbital model.

Different sensors contribute different measurements.

GNSS may provide relative position or relative velocity at longer range.

A camera may provide

\[ \boxed{ \text{Bearing / Line of Sight / Relative Pose} }. \]

LiDAR may provide

\[ \boxed{ \text{Range / Relative Geometry / Pose Information} }. \]

The observer compares each measurement with the corresponding predicted measurement from the relative state.

Therefore,

\[ \boxed{\text{Relative Dynamics}} \rightarrow \boxed{\hat{\mathbf x}_{rel}^{-}} \]

while

\[ \boxed{\text{GNSS / Camera / LiDAR}} \rightarrow \boxed{\text{Measurement Residuals}}. \]

The observer then produces

\[ \boxed{ \hat{\mathbf r}_{rel}, \hat{\mathbf v}_{rel}, \ldots }. \]

4.2.4.29 Mode-Dependent Observer Fusion

Sensor availability and measurement quality can change significantly throughout an RPO mission.

A representative sequence is

\[ \boxed{\text{Far Range}} \rightarrow \boxed{\text{Mid Range}} \rightarrow \boxed{\text{Final Approach}} \rightarrow \boxed{\text{Capture}}. \]

At far range,

\[ \boxed{\text{GNSS-Dominated Navigation}} \]

may be appropriate.

At closer range,

\[ \boxed{\text{GNSS + Vision}} \]

may be used.

During final approach,

\[ \boxed{\text{Vision + LiDAR / Relative Navigation}} \]

may dominate.

A flight observer must therefore support changing measurement sets and sensor validity.

Observer-based fusion in practice therefore includes

\[ \boxed{ \text{Sensor Selection} + \text{Measurement Validation} + \text{Mode Logic} + \text{Estimator Correction} }. \]

4.2.4.30 Convergence

An observer is useful only if its estimate converges sufficiently quickly and reliably.

Ideally,

\[ \boxed{ \| \mathbf x - \hat{\mathbf x} \| \rightarrow 0 }. \]

Convergence depends on

A theoretically stable observer can still be unsuitable if convergence is too slow for the mission.

For example, a convergence time of tens of seconds may be acceptable during coarse acquisition but unacceptable during a short final approach or capture phase.

4.2.4.31 Convergence vs Robustness

These two concepts should be distinguished.

Convergence asks:

Does the estimation error approach zero under the assumed model?

Robustness asks:

Does the estimator still behave acceptably when the real spacecraft differs from that model?

A robust observer should tolerate reasonable levels of

\[ \boxed{ \text{Sensor Noise} + \text{Model Error} + \text{Disturbances} + \text{Parameter Uncertainty} + \text{Timing Error} }. \]

A mathematically stable observer is therefore not automatically a flight-robust observer.

4.2.4.32 Observer-Based Fusion vs Direct Sensor Fusion

A direct fusion system might combine related sensor outputs immediately:

\[ \boxed{ \mathbf z_1 + \mathbf z_2 \rightarrow \text{Combined Measurement} }. \]

Observer-based fusion asks a different set of questions:

  1. What spacecraft state produced these measurements?
  2. What should each sensor measure according to the current estimated state?
  3. How does each measurement disagree with the prediction?
  4. Which state components should that disagreement correct?

Therefore,

\[ \boxed{ \text{Observer-Based Fusion} = \text{State-Centric Fusion} } \]

rather than simple measurement averaging.

4.2.4.33 Simulink Implementation Concept

A basic linear observer can be implemented in Simulink using the observer equation

\[ \dot{\hat{\mathbf x}} = \mathbf A\hat{\mathbf x} + \mathbf B\mathbf u + \mathbf L\mathbf r \]

where

\[ \mathbf r = \mathbf y - \hat{\mathbf y} \]

and

\[ \hat{\mathbf y} = \mathbf C\hat{\mathbf x}. \]

A conceptual implementation is

\[ \boxed{\mathbf u} \rightarrow \boxed{\mathbf B} \]

and

\[ \boxed{\hat{\mathbf x}} \rightarrow \boxed{\mathbf A}. \]

The predicted measurement is formed:

\[ \boxed{ \hat{\mathbf y} = \mathbf C\hat{\mathbf x} }. \]

The measurement residual is

\[ \boxed{ \mathbf r = \mathbf y - \hat{\mathbf y} }. \]

This passes through

\[ \boxed{\mathbf L} \]

and the resulting correction is summed with the model dynamics before integration.

Therefore the signal flow is

\[ \boxed{\mathbf u} \rightarrow \boxed{\text{Observer Dynamics}} \rightarrow \boxed{\hat{\mathbf x}} \]

\[ \boxed{\hat{\mathbf x}} \rightarrow \boxed{\text{Measurement Model}} \rightarrow \boxed{\hat{\mathbf y}} \]

\[ \boxed{\mathbf y-\hat{\mathbf y}} \rightarrow \boxed{\mathbf L} \rightarrow \boxed{\text{Observer Dynamics}}. \]

For nonlinear spacecraft systems, the matrix blocks are replaced with nonlinear dynamic and measurement functions.

4.2.4.34 Verification of an Observer

Observer verification should test much more than a single nominal simulation.

4.2.4.34.1 Initial-State Error Test

Start with

\[ \hat{\mathbf x}_0 \neq \mathbf x_0 \]

and verify convergence.

4.2.4.34.2 Measurement-Noise Test

Increase sensor noise and determine how observer gain changes the estimated state.

4.2.4.34.3 Model-Uncertainty Test

Vary quantities such as

4.2.4.34.4 Bias Test

Inject sensor bias and determine whether the observer rejects it or whether a bias state must be added.

4.2.4.34.5 Sensor-Dropout Test

Remove one measurement source temporarily and evaluate drift and recovery.

4.2.4.34.6 Outlier Test

Inject an invalid measurement and verify that measurement-validation logic prevents corruption of the estimated state.

4.2.4.34.7 Latency Test

Introduce realistic sensor delay and verify correct time alignment.

4.2.4.34.8 Manoeuvre Test

Test representative

4.2.4.34.9 Monte Carlo Test

Randomize sensor errors, initial states, disturbances, parameters, and timing uncertainties over many runs.

The goal is not merely to show

\[ \boxed{\text{Observer Runs}} \]

but rather

\[ \boxed{ \text{Observer Converges Reliably Under Expected Mission Conditions} }. \]

4.2.4.35 Observer Performance Metrics

For state-estimation error

\[ \mathbf e_k = \mathbf x_k - \hat{\mathbf x}_k, \]

a general RMS measure is

\[ \boxed{ RMSE = \sqrt{ \frac{1}{N} \sum_{k=1}^{N} \| \mathbf e_k \|^2 } }. \]

Other useful performance metrics include

For attitude estimation, a physically meaningful attitude-error angle should generally be obtained from the attitude-error quaternion rather than comparing quaternion elements individually.

4.2.4.36 Advantages of Observer-Based Fusion

Observer-based estimation provides several important advantages.

It explicitly combines

\[ \boxed{ \text{Physics Model} + \text{Sensor Measurements} }. \]

It can estimate states that are not measured directly.

It allows convergence dynamics to be designed explicitly.

It can often be computationally simpler than a full covariance-based estimator.

It naturally supports measurement residuals and model-based consistency checking.

It can also be extended to estimate

\[ \boxed{ \text{Biases} + \text{Disturbances} + \text{Unmeasured Dynamic States} }. \]

4.2.4.37 Limitations of Observer-Based Fusion

Classical deterministic observers also have important limitations.

A standard Luenberger observer does not automatically provide a state uncertainty covariance

\[ \boxed{\mathbf P}. \]

Its gain

\[ \mathbf L \]

does not automatically adapt when measurement quality changes.

Stochastic process uncertainty and measurement uncertainty are handled less systematically than in Kalman filtering.

Complex nonlinear navigation problems can also make deterministic observer design difficult.

This becomes particularly important when the navigation system must answer not only

\[ \boxed{ \text{What Is My Estimated State?} } \]

but also

\[ \boxed{ \text{How Certain Am I About That Estimate?} }. \]

That question leads naturally toward probabilistic state estimation.

4.2.4.38 Complete Observer-Based Spacecraft Fusion Architecture

A complete conceptual observer architecture can now be assembled.

\[ \boxed{\text{Spacecraft Dynamics}} \]

\[ \downarrow \]

\[ \boxed{\text{State Prediction}} \]

\[ \downarrow \]

\[ \boxed{\hat{\mathbf x}^{-}}. \]

From the predicted state,

\[ \boxed{\hat{\mathbf x}^{-}} \rightarrow \boxed{\text{Sensor Measurement Models}} \rightarrow \boxed{\hat{\mathbf z}}. \]

The real sensors provide

\[ \boxed{\mathbf z}. \]

The residual is then

\[ \boxed{ \mathbf r = \mathbf z - \hat{\mathbf z} }. \]

This passes through

\[ \boxed{\text{Measurement Validation}} \rightarrow \boxed{\text{Observer Gain}} \rightarrow \boxed{\text{State Correction}}. \]

The corrected state is

\[ \boxed{\hat{\mathbf x}^{+}}. \]

Therefore, the overall architecture is

\[ \boxed{ \text{Dynamics} \rightarrow \text{Prediction} \rightarrow \text{Predicted Measurements} \rightarrow \text{Residuals} \rightarrow \text{Correction} \rightarrow \text{Estimated State} }. \]

A practical flight implementation additionally requires

\[ \boxed{ \text{Timing} + \text{Validation} + \text{Dropout Handling} + \text{Mode Logic} }. \]

4.2.4.39 Key Takeaways

Next: 4.2.5 Bayesian Estimation Fundamentals

Observer-based fusion has established the structure

\[ \boxed{ \text{Model Prediction} + \text{Measurement Information} \rightarrow \text{State Estimate} }. \]

But an important question remains:

How should uncertainty in the spacecraft state and measurements be represented mathematically?

Instead of treating the state only as one deterministic estimate

\[ \hat{\mathbf x}, \]

Bayesian estimation treats the unknown state probabilistically:

\[ \boxed{ p(\mathbf x|\mathbf z) }. \]

The fundamental Bayesian update is

\[ \boxed{\text{Prior}} + \boxed{\text{Measurement Likelihood}} \rightarrow \boxed{\text{Posterior}}. \]

This probabilistic framework becomes the foundation of the Kalman Filter, EKF, ESKF, MEKF, UKF, and Particle Filter developed in later sections.