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
- \(\mathbf r\) represents spacecraft position,
- \(\mathbf v\) represents spacecraft velocity,
- \(\mathbf q\) represents spacecraft attitude,
- \(\boldsymbol{\omega}\) represents spacecraft angular velocity,
- \(\mathbf b\) may represent sensor biases or other parameters included in the estimated state.
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
- \(\mathbf x_k\) is the spacecraft state at measurement time \(k\),
- \(\mathbf z_k\) is the measurement produced by the sensor,
- \(h(\cdot)\) is the measurement function that maps the spacecraft state into the physical quantity observed by the sensor,
- \(\mathbf v_k\) represents measurement noise.
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
- gyroscopes for high-rate angular-velocity measurements,
- star trackers for accurate absolute attitude measurements,
- sun sensors for Sun-vector observations,
- magnetometers for Earth magnetic-field observations.
Translational Navigation
Translational navigation may use sensors such as
- GNSS receivers for position and velocity,
- accelerometers for inertial specific-force measurements,
- additional relative-navigation sensors for rendezvous and docking missions.
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
- \(\mathbf b\) represents sensor bias,
- \(\mathbf n\) represents stochastic measurement noise.
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
- \(\mathbf K\) represents scale-factor effects,
- \(\mathbf M\) represents axis-misalignment or cross-axis effects,
- \(\mathbf b\) represents bias and slowly varying drift,
- \(\mathbf n\) represents stochastic measurement noise.
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
- \(\mathbf I\) is the identity matrix,
- \(\mathbf S\) contains scale-factor errors,
- \(\mathbf M\) contains small axis-misalignment terms.
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
- constant bias,
- scale-factor error,
- axis misalignment,
- cross-axis sensitivity,
- nonlinearity,
- temperature-dependent bias,
- fixed sensor mounting errors.
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
- white measurement noise,
- angle random walk,
- velocity random walk,
- rate random walk,
- bias instability,
- slowly varying stochastic bias.
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:
- Reference or inertial frame \(I\): an external reference frame such as ECI,
- Spacecraft body frame \(B\): a frame rigidly attached to the spacecraft,
- Sensor frame \(S\): a frame aligned with the physical sensing axes of the instrument.
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
- noisy,
- biased,
- sampled at different rates,
- temporarily unavailable,
- expressed in different coordinate frames,
- affected by different physical error mechanisms.
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.
4.1.1 Gyroscopes
Measures: Angular velocity
\[ \boldsymbol{\omega}_m \]
Operating principle, bias, drift, scale-factor error, axis misalignment, angle random walk, bias instability, saturation, complete three-axis gyro modelling, Simulink implementation, and quaternion propagation.
Explore Gyroscope Models →
4.1.2 Accelerometers
Measures: Specific force
\[ \mathbf f_m \]
Specific force, gravity relationship, bias, scale-factor error, cross-axis sensitivity, measurement noise, random walk, inertial-navigation applications, and spacecraft acceleration modelling.
Explore Accelerometer Models →
4.1.3 Magnetometers
Measures: Magnetic-field vector
\[ \mathbf B_m \]
Earth's magnetic-field reference, inertial-to-body frame transformation, hard-iron effects, soft-iron effects, calibration, ellipsoid fitting, measurement noise, and spacecraft attitude determination.
Explore Magnetometer Models →
4.1.4 Star Trackers
Measures: Absolute spacecraft attitude
\[ \mathbf q_m \]
Camera projection, centroid extraction, star identification, star catalogues, attitude solution, quaternion output, lost-in-space mode, tracking mode, accuracy, blinding, and spacecraft attitude determination.
Explore Star Tracker Models →
4.1.5 Sun Sensors
Measures: Sun direction
\[ \mathbf s_m \]
Coarse Sun Sensors, Fine Sun Sensors, inertial Sun-vector transformation, sensor mounting geometry, field of view, angular resolution, blind zones, measurement validity, and spacecraft safe-mode applications.
Explore Sun Sensor Models →
4.1.6 GPS / GNSS
Measures: Position, velocity, and time
\[ \mathbf r_m, \qquad \mathbf v_m, \qquad t_m \]
Pseudorange, Doppler, carrier phase, receiver clock bias and drift, satellite geometry, dilution of precision, navigation covariance, spaceborne GNSS, and LEO spacecraft navigation.
Explore GPS / GNSS Models →
Cross-Cutting Sensor Topics
The following sections address modelling concepts that apply across multiple sensor types.
4.1.7 Sensor Error Sources
Detailed treatment of bias, drift, scale-factor error, axis misalignment, quantisation, saturation, temperature effects, white noise, random walk, bias instability, Allan variance, and sensor calibration.
Explore Sensor Error Sources →
4.1.8 Combined Sensor Suites
IMU + GNSS, IMU + magnetometer, gyro + star tracker, gyro + Sun sensor + magnetometer, and other spacecraft sensor architectures used for attitude determination and navigation.
Explore Combined Sensor Suites →
4.1.9 Measurement Models
Mathematical formulation of gyroscope, accelerometer, magnetometer, star-tracker, Sun-sensor, and GNSS measurements for Kalman Filter, EKF, and UKF implementation.
Explore Measurement Models →
4.1.10 Sensor Specifications
Interpretation of accuracy, precision, resolution, bias, noise density, bandwidth, update rate, latency, field of view, dynamic range, mass, power consumption, and radiation tolerance.
Explore Sensor Specifications →
4.1.11 Sensor Selection for Space Missions
Sensor-selection strategies for CubeSats, LEO spacecraft, deep-space missions, rendezvous and docking, formation flying, and planetary exploration missions.
Explore Sensor Selection →