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.