RADICAL RIMU Attitude Determination/Calibration Filter Print

Precise attitude determination requires that attitude sensor and gyro parameters be calibrated accurately. It is often the case that attitude sensor and gyro calibration are not carefully considered in the design and operation of a system, or the calibration algorithm and its software implementation are limited in their capability or performance. A well designed calibration algorithm and software tools are necessary to conduct early trade studies and to predict performance, to quickly design and implement a system, and to achieve optimum system performance during operation.

A large number of spacecraft carry a Redundant IMU (RIMU). A RIMU is an Inertial Measurement Unit (IMU) that comprises more than three sense axes. In this context we are talking about active redundancy rather than passive functional redundancy, so we assume that all gyros are active in the RIMU. Examples of a RIMU are the Northrop Grumman SIRU, four or more interferometric fiber-optic gyros (IFOG), a set of two or more two-axis gyros such as dry-tuned rotor gyros (DTG), and two 3-axis IMUs. Calibration filters in common use treat the RIMU as a 3-axis IMU and estimate only a minimal set of calibration parameters and do not fully exploit the capability of a RIMU.

The Redundant IMU (RIMU) Attitude Determination/Calibration (RADICAL TM) Filter takes full advantage of the redundancy in a RIMU to optimally estimate spacecraft attitude and a full set of calibration parameters for n ≥ 3 gyro sense axes and relative misalignments (interlocks) for m attitude sensors. The RADICAL filter is ideal for

  • desktop analysis and design,
  • automated or semi-automated ground-based processing of telemetry,
  • real-time on-orbit processing of attitude sensor data.

RADICAL has been used to support several missions and has processed thousands of hours of telemetry. Its performance has been verified through extensive testing via simulation and processing of in-flight telemetry, and demonstrated by accurate geolocation results based on attitude estimates produced by the RADICAL filter.

The RADICAL solution makes sense in a world of tighter requirements, shorter procurement schedules, smaller design teams, and limited research and development funds. RADICAL is a cost-effective alternative to in-house development. The RADICAL software incorporates not only the best algorithms, but also relevant experience.

The RADICAL software can support your project through either a support contract or by licensing the software. Contact ACS to discuss how we can best address your technical and programmatic requirements.


The benefits of using RADICAL include:

  • Script files and command-line input facilitate setup and execution for desktop analysis and ground-based processing.
  • The design engineer can quickly perform trade studies, performance analyses, and Monte-Carlo analyses.
  • Eliminate software development time and cost.
  • Easily process volumes of telemetry.
  • Obtain reliable results by using a full calibration model, factorized covariance calculations, and other features.
  • Use the core filter functions and command or function interfaces for real-time processing.

Additional benefits of using the RADICAL attitude determination/calibration filter are

  • Reliability — by using the best numerical algorithms and by extensive testing and practical use
  • Availability — RADICAL is ready to support any spacecraft project, whether planned, in development, or in operation
  • Performance — by using the most advanced algorithms implemented in C
  • Cost effectiveness — as an alternative to expensive in-house development and maintenance
  • Dedicated expertise — through experience in practical application
  • Continued improvement — to provide customers with the best possible attitude determination and calibration software


The RADICAL filter has many features that address common requirements, plus many advanced features for enhanced functionality, performance, and reliability. The following is a partial list of features.

  • Efficient, modular software in C
  • Default and active parameter tables
  • Initialization with cold or warm start
  • Processing of disjoint telemetry segments (i.e., with long gaps)
  • Data buffering and time synchronization
  • UD factorized covariance for numerical stability and accuracy
  • Parity measurement update for full observability of RIMU calibration parameters
  • Advanced measurement error models for optimal measurement updates
  • Fault detection and performance monitoring functions
  • Command interface and direct access to public functions (host-to-filter interface)
  • Command interpreter for desktop analysis and design, and for automated ground-based processing
  • Telemetry data output in a choice of three different sized packets (customizable)
  • Summary output upon reaching the end of a telemetry file
  • Diagnostic output data
  • Filter state checkpoint written, upon command, to a file or sent as a data packet
  • Matlab support software for generating simulated sensor data and for graphing filter output

These features are described in more detail on the following sections.

Software Components

The RADICAL software, which is written in C, comprises core filter functions; a command interpreter; pre-processing; data ingest, synchronization, and buffering functions; and Matlab support software for sensor simulation and for plotting and tabulating results.

Core Filter Functions

The core filter functions include Extended Kalman Filter functions, a command interface, telemetry interface, initialization for cold and warm start, processing of disjoint telemetry streams, default and active parameter tables, advanced measurement error models, parity residual update for full observability of the gyro calibration parameters, fault detection and performance monitoring functions, diagnostic output data, telemetry output in a choice of three different size but customizable packets, and several other features. The covariance matrix in a calibration filter can become ill conditioned during its initial convergence and in other situations. Therefore UD-factorized covariance algorithms are used in RADICAL to ensure numerical stability and accuracy. The covariance matrix is never computed, except that certain elements of the covariance matrix are computed only for output and for convergence threshold tests. RADICAL is suitable for real-time on-board calibration, automated or semi-automated ground-based processing of telemetry, and desktop analysis and design. It has been used to support NASA, military, and commercial spacecraft. The RADICAL filter was instrumental in anomaly resolution, performance verification, and provisional ground-based processing of attitude telemetry for a commercial imaging satellite.

Command Interpreter

For ground-based processing and desktop analysis, the Command Interpreter provides a powerful and flexible command-line user interface. The Command Interpreter reads one or more script files that tell the interpreter how to execute the RADICAL filter. Commands may also be input manually or from another program, which can include commands to read script files. The script files can be nested. The Command Interpreter gives the user considerable flexibility to perform various operations during processing of telemetry data without having to modify code. The scripting commands are fairly simple in function and format. The commands define telemetry, parameter, and output file names and locations; control execution of the filter; and interact with the filter at specified times during processing. Wildcards are defined to simplify the specification of file names.

Matlab Support

Matlab scripts are used to plot the filter states, estimation errors (if truth data is avaialble from a simulator), residuals, standardized residuals (chi variables), covariance information, and measurement update information.

Advanced Capabilities

In addition to estimating a full set of calibration parameters, the RADICAL filter has several features that give flexibility when processing actual telemetry. These include a warm and cold start, check points, a covariance bump, fault detection and performance monitoring, and logically defined parameter tables. Telemetry data are automatically synchronized, and small time tag differences are compensated. These are just some of the many features incorporated into RADICAL, and are described in more detail below.

Warm and Cold Start

The filter is first initialized by using a “cold start”, the calibration parameter estimates are set to a given default value with a given covariance that may be large. Convergence of the parameters can take several minutes or longer, depending on attitude motions such as a calibration maneuver. One feature of the RADICAL filter is that it can process disjoint or interrupted telemetry streams and telemetry in multiple files. The attitude estimate, attitude covariance, and attitude cross-covariance are reset when there is a break in the gyro data. The parameter covariance remains intact (in UD factorized form). This is called a “warm-start” of the calibration filter.

The importance of being able to process disjoint telemetry streams and applying the covariance bump is that the filter does not have to be reinitialized, and the filter is nearly converged when the prior converged estimates and their covariance are used to warm-start the filter. This can be of benefit in autonomous on-board calibration. Convergence problems are avoided when a prior estimate and a small prior covariance are used to warm-start the filter, and a shorter calibration maneuver may then be sufficient for re-convergence of the calibration parameters and their covariance. This can be of benefit during mission operations to reduce risk, to reduce interruption of payload operations, and to reduce the volume of telemetry dedicated to calibration. The warm-start feature permits a calibration maneuver to be segmented under certain operational constraints.

Check Points

A check point can be saved at anytime during processing so that processing can be resumed in case there is a problem with the telemetry some time after the check point is saved. After loading the check point, the filter is resumed with a warm start. The filter can be restarted at any time in the telemetry after the check point. (It could be started prior to the check point, but doing so would result in error correlation and suboptimal performance; a cold start would avoid that problem.) Of course, this feature is not used in real time, but only with stored telemetry data.

Covariance Bump

A covariance bump can be applied at any time during processing in RADICAL. In particular, the covariance “bump” can be applied upon a warm start to model uncertainty due to a change in parameters since the epoch of the previously processed telemetry stream. A bump can also be applied to the attitude covariance. The covariance bump is simply a specified increase in the covariance of any estimated parameter or attitude, and is applied upon a warm-start or at any time upon command. The bump is applied directly to the UD factors of the covariance matrix for computational efficiency and to ensure numerical accuracy and stability.

Fau lt Detection and Performance Monitoring

The fault detection function monitors a large number of variables and compares them to threshold limits and tests for numerical faults. The fault detection function provides a small set of fault detection signals that can be monitored by a centralized C&DH fault detection system. This reduction to a small set of signals greatly simplifies integration and test, and it protects the inner workings of the calibration filter from its software environment.

Several variables that are indicators of performance are provided in the output packets. These include attitude covariance information, residuals and residual statistics, and a pair of scalars that measure the overall accuracy of the filter.

Parameter Tables

Parameters are logically arranged into a small number of tables to support simple table upload and maintenance. The required data is simple in nature and requires very little ground support to produce a table. For example, instead of storing the (very large) process noise matrix in a table, only the gyro noise variances and parameter process noise variances are stored in the process noise table. When using the command interpreter, the parameter tables can be read from files and written to files in either binary or ascii.

Data Synchronization

Telemetry data read from files are automatically synchronized, which simplifies processing. For both telemetry read from files and for real-time data, there can be small time tag differences between the star tracker and gyro data. Small time tag differences are compensated to avoid attitude estimation error that would appear with non-zero angular rate.

Filter States

The filter states and their dimensions are shown in the following table.

Filter States
States Dimension
Attitude perturbation 3
Gyro bias n
Symmetric scale factor n
Asymmetric scale factor n
Gyro axis misalignment 2n
Attitude sensor misalignment 3m – 3
Total Number of States
5n + 3m


Because only relative misalignments can be estimated for the attitude sensors, the number of independent attitude sensor misalignments is 3m – 3, not 3m. The misalignments are modeled as small-angle rotation vectors at each of the m attitude sensors.

Further Reading

The following papers provide technical insight into the RIMU calibration filter and its performance. Look for related papers in the journal articles and conference papers.

"Calibration and Attitude Determination with Redundant Inertial Measurement Units", AIAA Journal of Guidance, Control, and Dynamics, Vol. 28, No. 4, July–August 2005, pp. 743–752.

“Survey of Calibration Algorithms for Spacecraft Attitude Sensors and Gyros”, Paper No. AAS 07-295, AAS/AIAA Astrodynamics Specialists Conference, Mackinac Island, MI, 19–23 August 2007, in Advances in the Astronautical Sciences, Vol. 129, 2008, pp. 651–705.
An outline of the survey paper and access to the paper and presentation are on the Survey Paper page.

O’Shaughnessy, D.; Pittelkau, M. E., “Attitude Sensor and Gyro Calibration for MESSENGER”, (revised) 20th International Symposium on Space Flight Dynamics, Annapolis, MD, 24–28 September 2007, NASA Conference Publication NASA/CP-2007-214158, Document ID 20080012629.

"Observability and Calibration of a Redundant Inertial Measurement Unit (RIMU)", Paper No. AAS 05-105, AAS/AIAA Space Flight Mechanics Meeting, Copper Mountain, CO, 23–27 January 2005. In Advances in the Astronautical Sciences, Vol. 120, Part I, 2005, pp. 71–84. [CD, Book]

"Attitude Determination and Calibration with Redundant Inertial Measurement Units", Paper No. AAS 04-116, AAS/AIAA Space Flight Mechanics Meeting, 8–12 February 2004, Maui, HI. In Advances in the Astronautical Sciences, Vol. 119, Part I, pp. 229–248, 2005. [CD, Book]