observations_simulation_settingsΒΆ

FunctionsΒΆ

tabulated_simulation_settings(...)

Function for creating settings object for observation simulation, using a predefined list of observation times.

tabulated_simulation_settings_list(...)

Function for creating a list of settings object for observation simulation, using a predefined list of observation times.

continuous_arc_simulation_settings(...)

Function for creating settings object for observation simulation, using observation times according to a requirement for a continuous tracking arc.

continuous_arc_simulation_settings_list(...)

Function for creating a list of settings object for observation simulation, using observation times according to a requirement for a continuous tracking arc.

observation_settings_from_collection(...)

No documentation found.

change_simulation_settings_observable_types(...)

No documentation found.

create_observation_simulators(...)

Function for creating observation simulator objects.

tabulated_simulation_settings(observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, simulation_times: collections.abc.Sequence[tudatpy.kernel.astro.time_representation.Time], reference_link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType = <LinkEndType.receiver: 5>, viability_settings: collections.abc.Sequence[tudat::observation_models::ObservationViabilitySettings] = [], noise_function: collections.abc.Callable[[typing.SupportsFloat], typing.Annotated[numpy.typing.NDArray[numpy.float64], "[m, 1]"]] = None, ancilliary_settings: tudatpy.kernel.estimation.observations_setup.ancillary_settings.ObservationAncilliarySimulationSettings = None) tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettingsΒΆ

Function for creating settings object for observation simulation, using a predefined list of observation times.

Function for creating single simulation settings object, using a predefined list of observation times. The list of resulting observations may be reduced compared to the simulation_times should be provided here, as only observations that meet the viability settings are retained during observation simulation (these may be provide directly here through the viability_settings input, or added later to the resulting settings object).

Parameters:
  • observable_type (ObservableType) – Observable type of which observations are to be simulated.

  • link_ends (LinkDefinition) – Link ends for which observations are to be simulated.

  • simulation_times (List[astro.time_representation.Time]) – List of times at which to perform the observation simulation.

  • reference_link_end_type (LinkEndType, default = LinkEndType.receiver) – Defines the link end (via the LinkEndType) which is used as a reference time for the observation.

  • viability_settings (List[ ObservationViabilitySettings ], default = [ ]) – Settings for the creation of the viability criteria calculators, which conduct viability checks on the simulated observations.

  • noise_function (Callable[ [astro.time_representation.Time], numpy.ndarray[numpy.float64[m, 1]] ], default = None) – Function providing the observation noise factors as a function of observation time.

Returns:

Instance of the ObservationSimulationSettings derived TabulatedObservationSimulationSettings class.

Return type:

TabulatedObservationSimulationSettings

tabulated_simulation_settings_list(link_ends_per_observable: collections.abc.Mapping[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition]], simulation_times: collections.abc.Sequence[tudatpy.kernel.astro.time_representation.Time], reference_link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType = <LinkEndType.receiver: 5>, viability_settings: collections.abc.Sequence[tudat::observation_models::ObservationViabilitySettings] = []) list[tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettings]ΒΆ

Function for creating a list of settings object for observation simulation, using a predefined list of observation times.

Function for creating multiple tabulated observation simulation settings objects in a list. This function is equivalent to calling the tabulated_simulation_settings() repeatedly, with the different observables and link definition provided here through link_ends_per_observable. During a single call to this function, one simulation settings object is created for each combination of observable type and link geometry given by the link_ends_per_observable parameter.

Parameters:
  • link_ends_per_observable (Dict[ObservableType, List[LinkDefinition]]]) – Link geometry per observable type of which observations are to be simulated.

  • simulation_times (List[ astro.time_representation.Time ]) – List of times at which to perform the observation simulation.

  • reference_link_end_type (LinkEndType, default = LinkEndType.receiver) – Defines the link end (via the LinkEndType) which is used as a reference for observation times. The single link end specified here will be considered as the reference link end for all simulation settings object created in the function call.

  • viability_settings (List[ ObservationViabilitySettings ], default = [ ]) – Settings for the creation of the viability criteria calculators, which conduct viability checks on the simulated observations. The single settings list given here will be considered as potential viability settings for all simulation settings object created in the function call.

Returns:

List of ObservationSimulationSettings derived TabulatedObservationSimulationSettings objects.

Return type:

List[ TabulatedObservationSimulationSettings ]

continuous_arc_simulation_settings(observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, start_time: tudatpy.kernel.astro.time_representation.Time, end_time: tudatpy.kernel.astro.time_representation.Time, interval_between_observations: tudatpy.kernel.astro.time_representation.Time, arc_limiting_constraints: tudat::observation_models::ObservationViabilitySettings, minimum_arc_duration: tudatpy.kernel.astro.time_representation.Time, maximum_arc_duration: tudatpy.kernel.astro.time_representation.Time, minimum_time_between_arcs: tudatpy.kernel.astro.time_representation.Time, reference_link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType = <LinkEndType.receiver: 5>, additional_viability_settings: collections.abc.Sequence[tudat::observation_models::ObservationViabilitySettings] = [], noise_function: collections.abc.Callable[[typing.SupportsFloat], typing.Annotated[numpy.typing.NDArray[numpy.float64], "[m, 1]"]] = None) tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettingsΒΆ

Function for creating settings object for observation simulation, using observation times according to a requirement for a continuous tracking arc.

Function for creating settings object for observation simulation. Unlike the tabulated_simulation_settings() function, the resulting settings do not define the observation times explicitly. Instead, this settings object determines the observation times adaptively during the simulation of the observation, with the requirement that observations should be simulated over a set of contiguous arcs (if possible). The exact algorithm meets the following conditions:

  • Observations are only simulated within the time span of start_time and end_time

  • A contiguous tracking arc has simulated observations separated by interval_between_observations

  • Starting from start_time, an observation is simulated each interval_between_observations. Once an observation is unviable, as defined by the arc_limiting_constraints input, it is checked whether the arc up until that point is longer in duration than minimum_arc_duration. If it is, the arc is added to the simulated observations. If not, the arc is discarded. In either case, a new arc is started once a viable is observation is encountered

  • If the current arc reaches a duration greater than maximum_arc_duration, the arc is added to the existing observations, and a new arc is started

  • If defined (e.g. if not NaN), the current observation time is incremented by minimum_time_between_arcs when an arc has been added to the observations.

Nominally, this algorithm ensures that any arc of observations has a minimum and maximum duration. In addition, it ensures that (if desired) there is a minimum time interval between two tracking arcs. This behaviour can be modified by adding additional_viability_settings, which are not used when computing the tracking arcs, but which are instead only used to reduce the set of simulated observations afterwards.

Parameters:
  • observable_type (ObservableType) – Observable type of which observations are to be simulated.

  • link_ends (LinkDefinition) – Link ends for which observations are to be simulated.

  • start_time (astro.time_representation.Time) – First time at which an observation is to be simulated (and checked for viability).

  • end_time (astro.time_representation.Time) – Maximum time at which an observation is to be simulated (and checked for viability).

  • interval_between_observations (float) – Cadence (in seconds) of subsequent observations in an arc

  • arc_limiting_constraints (List[ ObservationViabilitySettings ], default = [ ]) – List of settings for the creation of the viability criteria calculators, which are used to check if an observation is viable, and define whether an arc should be terminated.

  • minimum_arc_duration (float) – Minimum permissible time for a tracking arc

  • maximum_arc_duration (float) – Maximum permissible time for a tracking arc

  • minimum_time_between_arc (float, default = NaN) – Minimum time between two tracking arcs. If NaN, this is effectively set to the interval_between_observations

  • additional_viability_settings (List[ ObservationViabilitySettings ], default = [ ]) – Settings for the creation of the viability criteria calculators, which conduct viability checks on the simulated observations. These settings are not used to determine whether an arc is to be terminated, but are instead applied after the arcs have been computed.

  • noise_function (Callable[ [astro.time_representation.Time], numpy.ndarray[numpy.float64[m, 1]] ], default = None) – Function providing the observation noise factors as a function of observation time.

Returns:

Instance of the ObservationSimulationSettings derived TabulatedObservationSimulationSettings class.

Return type:

TabulatedObservationSimulationSettings

continuous_arc_simulation_settings_list(link_ends_per_observable: collections.abc.Mapping[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition]], start_time: tudatpy.kernel.astro.time_representation.Time, end_time: tudatpy.kernel.astro.time_representation.Time, interval_between_observations: tudatpy.kernel.astro.time_representation.Time, arc_limiting_constraints: tudat::observation_models::ObservationViabilitySettings, minimum_arc_duration: tudatpy.kernel.astro.time_representation.Time, maximum_arc_duration: tudatpy.kernel.astro.time_representation.Time, minimum_time_between_arcs: tudatpy.kernel.astro.time_representation.Time, reference_link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType = <LinkEndType.receiver: 5>, additional_viability_settings: collections.abc.Sequence[tudat::observation_models::ObservationViabilitySettings] = []) list[tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettings]ΒΆ

Function for creating a list of settings object for observation simulation, using observation times according to a requirement for a continuous tracking arc.

Function for creating multiple settings objects for observation simulation in a list. This function is equivalent to calling the continuous_arc_simulation_settings() repeatedly, with the different observables and link definition provided here through link_ends_per_observable. During a single call to this function, one simulation settings object is created for each combination of observable type and link geometry given by the link_ends_per_observable parameter.

Parameters:
  • link_ends_per_observable (Dict[ObservableType, List[LinkDefinition]]]) – Link geometry per observable type of which observations are to be simulated.

  • start_time (astro.time_representation.Time) – First time at which an observation is to be simulated (and checked for viability).

  • end_time (astro.time_representation.Time) – Maximum time at which an observation is to be simulated (and checked for viability).

  • interval_between_observations (float) – Cadence (in seconds) of subsequent observations in an arc

  • arc_limiting_constraints (List[ ObservationViabilitySettings ], default = [ ]) – List of settings for the creation of the viability criteria calculators, which are used to check if an observation is viable, and define whether an arc should be terminated.

  • minimum_arc_duration (float) – Minimum permissible time for a tracking arc

  • maximum_arc_duration (float) – Maximum permissible time for a tracking arc

  • minimum_time_between_arc (float, default = NaN) – Minimum time between two tracking arcs. If NaN, this is effectively set to the interval_between_observations

  • additional_viability_settings (List[ ObservationViabilitySettings ], default = [ ]) – Settings for the creation of the viability criteria calculators, which conduct viability checks on the simulated observations. These settings are not used to determine whether an arc is to be terminated, but are instead applied after the arcs have been computed.

Returns:

List of ObservationSimulationSettings derived TabulatedObservationSimulationSettings objects.

Return type:

List[ TabulatedObservationSimulationSettings ]

observation_settings_from_collection(observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies) list[tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettings]ΒΆ

No documentation found.

change_simulation_settings_observable_types(observation_simulation_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observations_setup.observations_simulation_settings.ObservationSimulationSettings], replacement_observable_types: collections.abc.Mapping[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType] = {<ObservableType.dsn_one_way_averaged_doppler_type: 12>: <ObservableType.one_way_averaged_doppler_type: 4>, <ObservableType.dsn_n_way_averaged_doppler_type: 13>: <ObservableType.n_way_averaged_doppler_type: 10>}) NoneΒΆ

No documentation found.

create_observation_simulators(observation_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies) list[tudatpy.kernel.estimation.observable_models.observables_simulation.ObservationSimulator]ΒΆ

Function for creating observation simulator objects.

Function for creating observation simulator objects from observation settings. Note that each observation (i.e. combination of observable and link geometry) requires its own observation simulator object.

Parameters:
  • observation_settings (List[ ObservationModelSettings ]) – List of settings objects, each object defining the observation model settings for one combination of observable and link geometry that is to be simulated.

  • bodies (SystemOfBodies) – Object consolidating all bodies and environment models, including ground station models, that constitute the physical environment.

Returns:

List of ObservationSimulator objects, each object hosting the functionality for simulating one combination of observable type and link geometry.

Return type:

List[ ObservationSimulator ]

Examples

from tudatpy.estimation.observations_setup import observations_simulation_settings

# Create bodies
bodies = ...
# Define parameters settings
observation_settings = ...
# Create observation simulators
observation_simulators = observations_simulation_settings.create_observation_simulators(observation_settings, bodies)

This code snippet closely follows what is done in: The following snippet closely follows what is done in: Galilean Moons State Estimation Example.