Sensor Models

Measurement models for IMU, GNSS, magnetometers, star trackers, sun sensors, and spacecraft navigation systems.

4.1 Sensor Models

Spacecraft guidance, navigation, and control (GNC) algorithms operate using estimates of the vehicle state rather than direct knowledge of the true physical state.

Quantities such as position, velocity, attitude, angular velocity, acceleration, and environmental reference vectors cannot normally be known perfectly. Instead, onboard sensors observe different physical quantities and provide measurements to the spacecraft flight computer.

A representative spacecraft state may be written as

\[ \mathbf{x} = \begin{bmatrix} \mathbf r & \mathbf v & \mathbf q & \boldsymbol{\omega} & \mathbf b & \cdots \end{bmatrix}^{T}, \]

where

No single spacecraft sensor generally observes this complete state. Different sensors measure different physical quantities.

For example, a gyroscope measures angular rate, an accelerometer measures specific force, a magnetometer measures the local magnetic-field vector, a star tracker provides an absolute attitude observation, and a GNSS receiver provides navigation information such as position, velocity, and time.

A sensor model mathematically describes the relationship between the true physical quantity associated with the spacecraft and the measurement that is ultimately delivered by the sensor.

General Measurement Equation

A general nonlinear measurement model is written as

\[ \boxed{ \mathbf z_k = h(\mathbf x_k) + \mathbf v_k } \]

where

The measurement function \(h(\cdot)\) depends on the particular sensor. For some sensors it may be a simple linear relationship, while for others it may contain coordinate transformations, nonlinear geometry, environmental models, or optical measurement equations.

This general measurement equation is fundamental to GNC because the same form is used later in sensor-fusion and state-estimation algorithms such as the Kalman Filter, Extended Kalman Filter (EKF), and Unscented Kalman Filter (UKF).

Why Sensors Are Needed in GNC

A spacecraft controller cannot directly access the physical state of the vehicle. The true attitude, angular velocity, position, velocity, and environmental vectors exist in the physical system, but the flight computer requires numerical measurements before these quantities can be used for navigation or control.

Sensors therefore form the connection between the physical spacecraft and the onboard GNC algorithms.

The basic information flow is

\[ \boxed{\text{Physical Spacecraft}} \rightarrow \boxed{\text{Sensors}} \rightarrow \boxed{\text{State Estimation}} \rightarrow \boxed{\text{Guidance \& Control}} \rightarrow \boxed{\text{Actuators}}. \]

The physical spacecraft first produces quantities such as angular velocity, acceleration, attitude, position, velocity, magnetic field, and Sun direction. Sensors observe some of these quantities and convert them into electrical or digital measurements.

The measurements are then processed by state-estimation algorithms. The estimated state is used by guidance and control algorithms to determine the required actuator commands.

Attitude Determination

For spacecraft attitude determination, a typical sensor suite may contain

Translational Navigation

Translational navigation may use sensors such as

Why Multiple Sensors Are Used

Different sensors have different strengths, limitations, update rates, noise characteristics, and failure modes. A sensor that provides rapid measurements may accumulate error with time, while another sensor may provide accurate absolute information at a lower update rate.

Combining complementary measurements allows the navigation system to obtain a more accurate and robust estimate than would normally be possible using any single sensor alone.

This is the motivation for the sensor-fusion methods introduced later in Section 4.2.

True State vs Sensor Measurement

An important distinction in spacecraft simulation and state estimation is the difference between a true physical quantity and the corresponding sensor measurement.

Consider the true angular velocity of a spacecraft,

\[ \boldsymbol{\omega}_{true}. \]

An ideal gyroscope would reproduce the true angular velocity exactly:

\[ \boldsymbol{\omega}_{m} = \boldsymbol{\omega}_{true}. \]

Real sensors, however, contain imperfections such as bias, scale-factor error, axis misalignment, noise, drift, quantisation, and finite dynamic range.

Consequently,

\[ \boxed{ \boldsymbol{\omega}_{m} \neq \boldsymbol{\omega}_{true} } \]

in general.

Examples for Different Sensors

The same distinction applies to all spacecraft sensors.

For a gyroscope,

\[ \boldsymbol{\omega}_{true} \rightarrow \boxed{\text{Gyroscope}} \rightarrow \boldsymbol{\omega}_{m}. \]

For an accelerometer,

\[ \mathbf f_{true} \rightarrow \boxed{\text{Accelerometer}} \rightarrow \mathbf f_m. \]

For a magnetometer,

\[ \mathbf B_{true} \rightarrow \boxed{\text{Magnetometer}} \rightarrow \mathbf B_m. \]

For a star tracker,

\[ \mathbf q_{true} \rightarrow \boxed{\text{Star Tracker}} \rightarrow \mathbf q_m. \]

For GNSS,

\[ \left( \mathbf r_{true}, \mathbf v_{true} \right) \rightarrow \boxed{\text{GNSS}} \rightarrow \left( \mathbf r_m, \mathbf v_m \right). \]

Truth Model and Measurement Model

This distinction becomes especially important when constructing a spacecraft simulation.

The spacecraft dynamics model generates the truth state,

\[ \mathbf x_{true}, \]

while the sensor model converts the appropriate components of this truth state into realistic sensor measurements,

\[ \mathbf x_{true} \rightarrow \boxed{\text{Sensor Model}} \rightarrow \mathbf z_m. \]

The navigation or attitude estimator should receive \(\mathbf z_m\), not the perfect truth quantity \(\mathbf x_{true}\).

Maintaining this separation between truth and measurement is essential when evaluating estimation accuracy, sensor performance, robustness, and closed-loop GNC behaviour.

General Sensor Measurement Model

Sensor models can be developed progressively from an ideal measurement toward a more realistic engineering representation.

Ideal Sensor

An ideal sensor produces an output exactly equal to the physical quantity being measured:

\[ \boxed{ \mathbf z_m = \mathbf z_{true} }. \]

This model is useful for initial algorithm development, but it does not represent realistic sensor behaviour.

Measurement Noise

The simplest non-ideal model introduces measurement noise:

\[ \boxed{ \mathbf z_m = \mathbf z_{true} + \mathbf n } \]

where \(\mathbf n\) represents random measurement noise.

Bias and Noise

A more realistic model includes sensor bias:

\[ \boxed{ \mathbf z_m = \mathbf z_{true} + \mathbf b + \mathbf n } \]

where

Scale Factor and Axis Misalignment

Three-axis sensors may also contain unequal sensitivity along each measurement axis and small alignment errors between the physical sensing axes and the nominal sensor axes.

A more general model can therefore be written as

\[ \boxed{ \mathbf z_m = \mathbf K \mathbf M \mathbf z_{true} + \mathbf b + \mathbf n } \]

where

Small-Error Representation

When scale-factor and misalignment errors are small, they are often expressed as perturbations about an ideal identity transformation.

A convenient representation is

\[ \boxed{ \mathbf z_m = \left( \mathbf I + \mathbf S + \mathbf M \right) \mathbf z_{true} + \mathbf b + \mathbf n } \]

where

Example: Three-Axis Gyroscope

Applying the general model to a gyroscope gives

\[ \boldsymbol{\omega}_m = \left( \mathbf I + \mathbf S_g + \mathbf M_g \right) \boldsymbol{\omega}_{true} + \mathbf b_g + \mathbf n_g. \]

The same general modelling philosophy will later be applied to accelerometers, magnetometers, star trackers, sun sensors, and GNSS receivers.

Deterministic and Stochastic Sensor Errors

Real sensor errors can broadly be separated into deterministic and stochastic components.

Understanding this distinction is important because deterministic errors are commonly addressed through calibration, whereas stochastic errors must generally be represented statistically within the navigation or estimation system.

Deterministic Errors

Deterministic errors have a repeatable or parameterisable relationship with the sensor input, installation geometry, or operating conditions.

Typical deterministic error sources include

Because these effects can often be measured experimentally, a portion of the error can be characterised and removed through calibration.

Stochastic Errors

Stochastic errors vary randomly with time and cannot normally be removed using a single fixed calibration coefficient.

Examples include

Bias Random Walk

A simple model for a slowly varying sensor bias is a random-walk process:

\[ \boxed{ \dot{\mathbf b} = \mathbf n_b } \]

where \(\mathbf n_b\) is a stochastic process that drives the evolution of the bias.

For a gyroscope this becomes

\[ \dot{\mathbf b}_g = \mathbf n_{bg}. \]

The distinction between deterministic and stochastic sensor errors later becomes important when constructing the process-noise and measurement-noise covariance matrices used in Kalman-filter-based estimators.

These error mechanisms are developed in greater detail in 4.1.7 Sensor Error Sources.

Sensor Coordinate Frames

A sensor measurement is meaningful only when the coordinate frame in which the measurement is expressed is clearly defined.

Spacecraft sensor modelling commonly involves at least three coordinate frames:

Conceptually,

\[ \boxed{\text{Reference Frame }I} \rightarrow \boxed{\text{Body Frame }B} \rightarrow \boxed{\text{Sensor Frame }S}. \]

Inertial-to-Body Transformation

Consider a physical vector \(\mathbf z^I\) expressed in inertial-frame coordinates.

Its representation in the spacecraft body frame is

\[ \mathbf z^B = C_I^B \mathbf z^I. \]

Body-to-Sensor Transformation

If the sensor possesses its own mounting frame, the body-frame vector must be transformed into sensor coordinates:

\[ \mathbf z^S = C_B^S \mathbf z^B. \]

Combining the two transformations gives

\[ \boxed{ \mathbf z^S = C_B^S C_I^B \mathbf z^I }. \]

Connection to Direction Cosine Matrices

These transformations directly connect sensor modelling with the Direction Cosine Matrix concepts introduced in Section 1.1 Direction Cosine Matrices.

The sensor-frame transformation becomes particularly important when modelling sensors that observe physical vectors.

Magnetometer Example

Suppose an Earth magnetic-field model provides the reference magnetic vector

\[ \mathbf B^I. \]

The corresponding magnetic-field vector in the spacecraft body frame is

\[ \mathbf B^B = C_I^B \mathbf B^I. \]

If the magnetometer axes are not perfectly aligned with the spacecraft body axes, an additional mounting transformation is required:

\[ \mathbf B^S = C_B^S C_I^B \mathbf B^I. \]

Sensor bias, scale-factor error, hard-iron effects, soft-iron effects, and measurement noise can then be applied to this ideal sensor-frame magnetic vector.

Sun Sensor Example

A similar procedure is used for sun sensors. An inertial Sun vector is first transformed into the spacecraft body frame and then into the individual sensor mounting frame before field-of-view and measurement error models are applied.

Coordinate-frame consistency is therefore essential throughout the sensor-model and state-estimation chain.

Sampling and Real Sensor Effects

Spacecraft motion evolves continuously in time, but most digital sensors provide measurements only at discrete sampling instants.

If the sensor sampling period is \(T_s\), the measurement times are

\[ \boxed{ t_k = kT_s } \]

where \(k=0,1,2,\ldots\).

The corresponding sampling frequency is

\[ \boxed{ f_s = \frac{1}{T_s} }. \]

Example

For a sensor operating at

\[ f_s=100~\text{Hz}, \]

the sampling period is

\[ T_s = \frac{1}{100} = 0.01~\text{s}. \]

The continuously varying physical quantity \(\mathbf z(t)\) is therefore converted into a sequence of discrete measurements:

\[ \mathbf z(t) \rightarrow \mathbf z(t_0), \mathbf z(t_1), \mathbf z(t_2), \ldots \]

Quantisation

Digital sensors represent measurements using a finite number of output levels. The continuous physical quantity is therefore rounded to the nearest representable digital value.

This introduces quantisation error, particularly when the sensor resolution is coarse relative to the magnitude of the physical signal being measured.

Saturation

Every sensor has a finite measurable range. If the physical input exceeds this range, the output cannot continue to follow the true value and becomes saturated.

For a scalar sensor with range

\[ z_{min} \leq z \leq z_{max}, \]

the measured output is constrained to remain within these limits.

Bandwidth

Sensor bandwidth determines how rapidly the measurement system can respond to changes in the physical input.

Dynamics occurring substantially above the sensor bandwidth may be attenuated or distorted and therefore cannot be represented accurately by the measurement.

Update Rate

The update rate determines how frequently new measurements become available to the onboard estimator.

High-rate inertial sensors such as gyroscopes may provide measurements much more frequently than absolute reference sensors such as star trackers.

Consequently, practical sensor-fusion algorithms frequently combine measurements arriving at different rates.

Latency

Measurement latency is the delay between the physical event occurring and the corresponding measurement becoming available to the flight computer.

If a sensor has latency \(\tau\), the measurement available at time \(t\) may correspond approximately to the physical state at

\[ t-\tau. \]

Latency can become important in high-bandwidth control systems and during rapid spacecraft manoeuvres.

Field of View

Optical sensors such as star trackers and sun sensors also possess a finite field of view.

A measurement is available only when the reference object or vector lies within the observable region of the sensor.

Sun exclusion angles, Earth limb interference, Moon interference, spacecraft obstruction, and sensor blind zones can therefore determine whether a valid measurement is available.

These practical effects distinguish a realistic sensor model from a simple model that merely adds Gaussian noise to the true physical quantity.

General Sensor Signal Flow

The different effects introduced above can be combined into a common sensor-model architecture.

The spacecraft truth model first generates the physical quantity that would exist in the absence of measurement errors. This quantity is transformed into the appropriate coordinate frame and passed through the ideal sensor model.

Scale-factor errors, axis misalignment, bias, drift, random noise, quantisation, saturation, sampling, and latency are then introduced before the measurement is supplied to the estimator.

Generic Sensor Model

\[ \boxed{\text{Spacecraft Truth Model}} \]

\[ \downarrow \]

\[ \boxed{\text{True Physical Quantity}} \]

\[ \downarrow \]

\[ \boxed{\text{Coordinate / Frame Transformation}} \]

\[ \downarrow \]

\[ \boxed{\text{Ideal Sensor Model}} \]

\[ \downarrow \]

\[ \boxed{\text{Scale Factor + Axis Misalignment}} \]

\[ \downarrow \]

\[ \boxed{\text{Bias + Drift + Random Noise}} \]

\[ \downarrow \]

\[ \boxed{\text{Quantisation / Saturation / FOV}} \]

\[ \downarrow \]

\[ \boxed{\text{Sampling + Latency}} \]

\[ \downarrow \]

\[ \boxed{\text{Measured Sensor Output}} \]

\[ \downarrow \]

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

Compact Representation

The complete process can be summarised as

\[ \boxed{\text{Truth}} \rightarrow \boxed{\text{Sensor Physics}} \rightarrow \boxed{\text{Sensor Errors}} \rightarrow \boxed{\text{Digital Measurement}} \rightarrow \boxed{\text{State Estimation}}. \]

This generic architecture will be reused throughout the individual gyroscope, accelerometer, magnetometer, star-tracker, sun-sensor, and GNSS models.

From Sensors to State Estimation

Different spacecraft sensors observe different components or functions of the underlying spacecraft state.

No individual measurement should generally be interpreted as a perfect representation of the corresponding physical state quantity.

Instead, measurements from several sensors are combined by an estimation algorithm.

Measurement Architecture

Conceptually, the spacecraft state produces several independent sensor measurements:

\[ \mathbf x \rightarrow \begin{cases} \text{Gyroscope} \\ \text{Accelerometer} \\ \text{Magnetometer} \\ \text{Star Tracker} \\ \text{Sun Sensor} \\ \text{GNSS} \end{cases} \rightarrow \mathbf z. \]

These measurements are then processed by the navigation or attitude estimator:

\[ \boxed{\text{Sensor Measurements}} \rightarrow \boxed{\text{Sensor Fusion / State Estimator}} \rightarrow \boxed{\hat{\mathbf x}}. \]

Here,

\[ \hat{\mathbf x} \]

denotes the estimated spacecraft state.

Why Estimation Is Required

The estimator must reconstruct the spacecraft state from measurements that may be

The estimator therefore combines sensor information with the spacecraft dynamic or kinematic model to obtain a consistent estimate of the vehicle state.

Connection to Sensor Fusion

Section 4.1 develops the physical and mathematical models that describe how each sensor produces its measurements.

Section 4.2 will then examine how measurements from multiple sensors can be combined to obtain improved estimates of spacecraft attitude, angular rate, position, velocity, and sensor biases.

The overall progression is therefore

\[ \boxed{\text{True Spacecraft State}} \rightarrow \boxed{\text{Sensor Models}} \rightarrow \boxed{\text{Measurements}} \rightarrow \boxed{\text{Sensor Fusion}} \rightarrow \boxed{\text{Estimated State}}. \]

Explore Individual Sensor Models

The following sections develop the mathematical model, physical operating principle, major error sources, practical specifications, simulation structure, and spacecraft applications of each sensor individually.

Cross-Cutting Sensor Topics

The following sections address modelling concepts that apply across multiple sensor types.