Observation Creation#

Observation Collection Overview#

In Tudat, observations, whether real or simulated, are stored in an ObservationCollection object. This class manages the storage of all observations in a sorted manner and handles all related bookkeeping.

Single Observation Structure#

A single observation is defined by the following quantities:

  • Its type, which also defines the size of the observation (e.g., a range observation has a size of 1, while an angular position has a size of 2).

  • Its link ends, which define the transmitter, receiver, and any transponders involved in the observation.

  • The actual observable value.

  • The time of the observation. While original data may be time-tagged in any scale (e.g., UTC), all times are converted to and stored in the Barycentric Dynamical Time (TDB) scale within Tudat.

  • The weight assigned to the observation, used during least-squares estimation to account for observation uncertainty (defaults to 1).

  • Any dependent variables calculated for the observation.

  • The observation residual, computed as the difference between the observed and simulated values. This value is only available after being explicitly computed.

  • Ancillary settings (optional).

Single Observation Set#

Within an ObservationCollection, observations are not stored individually but are grouped into SingleObservationSet objects. These objects store any number of observations that share:

  • The same observable type.

  • The same link ends.

  • The same ancillary settings.

Each SingleObservationSet contains vectors of observation times, values, and weights. Residuals and dependent variables are also stored here once they are computed. The ObservationCollection acts as a container for these SingleObservationSet objects, organizing them in an internal data structure.

Note

The internal dictionary structure of the ObservationCollection is a low-level implementation detail that is typically not needed for most user interactions.

Working with Observations: A Workflow Guide#

The following sections of this guide will walk you through the workflow of working with observations in Tudat. We will cover:

Creating an ObservationCollection: How to generate observations by simulation or load them from real tracking data files, as well as how to create pseudo-observations from external ephemerides.

Extracting Information: How to access specific subsets of information from the collection using parsers.

Modifying the Collection: How to adjust the properties of your observations after creation, such as setting weights and defining reference points.

Using Dependent Variables: How to work with ancillary data, like observation geometry, for deeper analysis.

Processing Observations: How to refine your data by filtering outliers, splitting sets, or removing data.