The ODTK filter is provided with output controls for data archiving, display, output to the smoother and creation of STK ephemeris files: for display and file operations.

Data Archiving

Various Data Archiving options are available.

Display Output Controls

The following display output control options can be set:

Display Output Controls
Parameter Description
EveryNMeasUpdates A number can be entered here to indicate how many sets of measurement updates (azimuth, elevation, range and doppler) to skip before displaying the next set in the dynamic display windows. For example, to output every 5th set of measurement updates, enter 4.
EveryNTimeUpdates A number can be entered here to indicate how many time updates to skip before displaying the next one in the dynamic display windows. For example, to output every 5th time update, enter 4.
ShowPassTimes When the filter runs, it can provide information about when the next pass of data will be processed. When processing GPS or other multiple satellite scenarios, these messages can be overwhelming and so may be turned off.
OutputClockReductionUpdates This option is mainly for debug/validation. If set to true, output from the Covariance Reduction Update algorithm is written to the State History file as a Measurement Update. Default is false.


Set the ClearMsgLog attribute to true to clear the FilterLog file of old entries before the filter writes a new entry.

Smoother Data

The following options control the creation of a filter output file for the smoother.

SmootherData Options
Option Description
Generate Set to true to have filter output data written to the specified file (see below). The output data for the smoother is saved in a file with the extension .rough. This file, which is needed if you want to run the smoother, constitutes the input for the smoother.
Filename Specify the path and filename of the file to which filter output data for the smoother is to be written. Click the current value to display a file selection window. The default name for this file is <Scenario name>_<Filter name>.rough, and its default location is <USER HOME>\Smoother.
TimeMode The TimeMode value can be set to either FilterSpan or SetTimeSpan. If you choose FilterSpan, then Smoother data is created for the entire span of the filter run and stored in the .rough file. Alternatively, you can choose SetTimeSpan and set a StartTime and a StopTime (defaults are the filter start and stop times). Then the .rough file will only contain information between the specified times, and the smoother will only process information between those times. Typically, the latter option is used to exclude data from the early stages of the filter run.

STK Ephemeris Files

Configure the STKEphemeris attribute to write the filter output to a file in your Ephemeris directory during the filtering process. The file is assigned a default name based on the name of the satellite:


where the FILTER REF TIME is one of the following:

And where ext = "e" when using STK Ephemeris format and "oem" when using CCSDS 502 format

NOTE: If Predict.Generate is set to false, PredictStop is the filter stop time.

NOTE: The filter ephemeris file may also contain the position or position and velocity covariance information.

SP3 Ephemeris Files

Configure the SP3Ephemeris attribute to reformat the output ephemeris and clock data into a sp3 (http://igscb.jpl.nasa.gov/components/formats.html) file. One file is generated for each Constellation object for which ephemeris and clocks were estimated.

Note: The SP3Ephemeris attribute only applies to scenarios containing one or more Constellation objects where Constellation.SVEstimated states include the ephemeris and clock.

You can generate the sp3 data over:

  1. The process interval only, or
  2. The predict interval only, or
  3. The process & predict interval

Data over the process interval requires that STKEphemeris be generated over the process interval and that clock data be added to the process run file.

Data over the predict interval requires that the STKEphemeris be generated over the predict interval.

The granularity for the STKEphemeris may be different than the SP3 ephemeris.

The output file name is in the form:

<GNSS Name>_<Process Type>_yyymmdd_hhmmss.sp3


<Process_Type> = “Truth”| “Filter| “Smoother”
yyymmdd_hhmmss refers to the start time of the SP3 file in Scenario.Units.DateFormat system.

Example filename is:



The Debug attributes control whether filter internal data will be dumped to a text file. Such a file can become quite large very quickly depending on state size and the number of steps taken during a filter run.


The debug matrices include the filtered state, covariance, state transition and process noise matrices at each time update and measurement update. The first part of the file shows the state contents, each state name, the state object name, and the units of the state parameter. The values are in state units. The times are written as minutes after midnight TDT. The matrix names can be related directly to the filter equations in Chapter 5 of ODTK Orbit Determination: Theorems & Equations. PHI and Pss designate the state transition and process noise matrices, respectively. Matrices are written as N rows and M columns. For measurement type values, see the entry for MeasureType in the help on Tracking Data File Providers.

To use debug matrices, set the Generate attribute to true and specify a Filename to hold the filter state and covariance information. A sample of a debug matrix text file accompanies this help system. It uses the following state notation:


The Eigenvalues attribute allows logging of determinants and eigenvalues of filtered covariance matrices. The matrix names can be related directly to the filter equations in Chapter 5 of ODTK Orbit Determination: Theorems & Equations.

To write eigenvalues and determinants of each filter covariance matrix to a file, set the Generate attribute to true and specify a Filename.

In the accompanying sample of an eigenvalue text file, the following notation is used:

As shown in the sample, when there is a time update step, time step information is written as TDT minutes after midnight. The current time is for the state before being moved to the predict time. The times in the first line of the sample are the same, indicating that we are looking at the initial covariance. State Size is an indication of how many eigenvalues will be written for a matrix.

Then we write the determinant and the eigenvalues of the matrix in state units. For state units and original covariance values, create the filter Matrix debug file.

When a measurement is processed, the measurement time and internal measurement type designation are output.

Warning: For large state sizes, the option to dump eigenvalues to a file should be used with discretion, since there will be a considerable amount of output, and calculating the eigenvalues will slow the process considerably.

ODTK 6.5