model_settings¶
Functions¶
|
Function for creating settings for a one-way range observable. |
|
Function for creating settings for a two-way range observable. |
|
Function for creating settings for a two-way range observable. |
|
Function for creating settings for a n-way range observable. |
|
Function for creating settings for a n-way range observable. |
|
No documentation found. |
|
Function for creating settings for a one-way averaged Doppler observable. |
|
Function for creating settings for an n-way averaged Doppler observable. |
Function for creating settings for an n-way averaged Doppler observable. |
|
|
Function for creating settings for an n-way averaged Doppler observable. |
Function for creating settings for an n-way averaged Doppler observable. |
|
|
No documentation found. |
No documentation found. |
|
|
Function for creating settings for a one-way instantaneous Doppler observable. |
|
No documentation found. |
Function for creating settings for a two-way instantaneous Doppler observable. |
|
|
Function for creating settings for an angular position observable. |
|
Function for creating settings for a relative angular position observable. |
|
Function for creating settings for a Cartesian position observable. |
|
Function for creating settings for a relative Cartesian position observable. |
|
Function for creating settings for a Cartesian velocity observable. |
|
No documentation found. |
- one_way_range(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a6221824eb0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a one-way range observable.
Function for creating observation model settings of one-way range type observables, for a single link definition. The associated observation model creates a single-valued observable \(h_{_{\text{1-range}}}\) as follows (in the unbiased case):
\[h_{_{\text{1-range}}}(t_{R},t_{T})=|\mathbf{r}_{R}(t_{R})-\mathbf{r}_{T}(t_{T})| + \Delta s\]where \(\mathbf{r}_{R}\), \(\mathbf{r}_{T}\), \(t_{R}\) and \(t_{T}\) denote the position function of receiver and transmitter, and evaluation time of receiver and transmitter. The term \(\Delta s\) denotes light-time corrections due to e.g relativistic, atmospheric effects (as defined by the
light_time_correction_settingsinput). The transmission and reception time are related to the light-time \(T=t_{R}-t_{T}\), which is in turn related to the one-way range as \(T=h/c\) As a result, the calculation of the one-way range (and light-time) requires the iterative solution of the equation:\[t_{R}-t_{T}=c\left(|\mathbf{r}_{R}(t_{R})-\mathbf{r}(t_{R})| + \Delta s\right)\]The method for the iterative solution is described in the
light_time_convergence_settings()entry- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined.light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is None (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the one-way observable.- Return type:
Examples
# Code Snippet to showcase the use of the one_way_range function from tudatpy.estimation.observable_models_setup import links, model_settings # Create Link Ends dictionary link_ends = dict() link_ends[links.receiver] = links.body_origin_link_end_id("Earth") link_ends[links.transmitter] = links.body_origin_link_end_id("Delfi-C3") # Create a Link Definition Object from link_ends dictionary. This will be the input to the function. Link_Definition_Object = links.LinkDefinition(link_ends) # Create minimal ObservationModelSettings object (only required Link_Definition_Object argument is passed) # Note: other optional parameters (bias_settings, light_time_correction_settings, light_time_convergence_settings) can be set observation_settings = model_settings.one_way_range(Link_Definition_Object) # Show that this returns an ObservationModelSettings object. print(observation_settings)
- two_way_range(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622169fcf0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a two-way range observable.
Same as
n_way_range(), with \(n=2\). This function is provided for convenience.- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter, retransmitter and receiver
LinkEndTypeentries to be definedlight_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used for each constituent one-way range. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation). Note that only one bias setting is applied to the n-way observable.light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderivedNWayRangeObservationModelSettingsclass.- Return type:
Examples
# Code Snippet to showcase the use of the two_way_range function from tudatpy.estimation.observable_models_setup import links, model_settings # two_way_range() takes a Link Definition Object as input to the function. # Note: as for this case, transmitter, retransmitter and receiver are required to define the Link Ends dictionary link_ends = dict() link_ends[links.transmitter] = links.body_origin_link_end_id("Earth") link_ends[links.retransmitter] = links.body_origin_link_end_id("Delfi-C3") link_ends[links.receiver] = links.body_origin_link_end_id("Earth") # Create the LinkDefinition object Link_Definition_Object = links.LinkDefinition(link_ends) # Create minimal ObservationModelSettings object (only required Link_Definition_Object argument is passed) # Note: other optional parameters (bias_settings, light_time_correction_settings, light_time_convergence_settings) can be set observation_settings = model_settings.two_way_range(Link_Definition_Object) # Show that two_way_range() returns an NWayRangeObservationModelSettings object. print(observation_settings)
- two_way_range_from_one_way_links(one_way_range_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a two-way range observable.
Same as
n_way_range_from_one_way_links(), with \(n=2\). This function is provided for convenience.- Parameters:
one_way_range_settings (List[
ObservationModelSettings]) – List of observation model settings of size two, with the first entry the one-way range settings for the uplink, and the second entry the one-way range settings for the downlink. TheLinkDefinitionof this two-way range observable is created from this list, with thetransmitterandretransmitterdefined by thetransmitterandreceiverof the first entry in this list. Theretransmitterandreceiverare defined by thetransmitterandreceiverof the second entry of this list.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation). Note that only one bias setting is applied to the n-way observable.
- Returns:
Instance of the
ObservationModelSettingsderivedNWayRangeObservationModelSettingsclass.- Return type:
Examples
# Code Snippet to showcase the use of the two_way_range_from_one_way_links function from tudatpy.estimation.observable_models_setup import links, model_settings # two_way_range_from_one_way_links() takes a list of ObservationModelSettings objects # Note: as for this case, transmitter, retransmitter and receiver are required to define the Link Ends dictionary link_ends = dict() link_ends[links.transmitter] = links.body_origin_link_end_id("Earth") link_ends[links.retransmitter] = links.body_origin_link_end_id("Delfi-C3") link_ends[links.receiver] = links.body_origin_link_end_id("Earth") # Create the LinkDefinition object to be used as input Link_Definition_Object = links.LinkDefinition(link_ends) # define LinkDefinition object two_way_range_observation_settings_list = [model_settings.two_way_range(Link_Definition_Object)] # define (minimal) NWayRangeObservationModelSettings object two_way_range_one_way_link_settings = model_settings.two_way_range_from_one_way_links(two_way_range_observation_settings_list) # Show that two_way_range_from_one_way_links() returns an NWayRangeObservationModelSettings object. print(two_way_range_one_way_link_settings)
- n_way_range(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a6221b15130>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a n-way range observable.
Function for creating observation model settings of n-way range type observables, for a single link definition. The associated observation model creates a single-valued observable \(h_{_{\text{N-range}}}\) by combining together a series \(n\) one-way range observations (see
one_way_range()). By default, the reception time of the \(i^{th}\) one-way range is set as the transmission time of the \((i+1)^{th}\) one-way range. A retransmission delay may be defined by ancilliary settings (seeObservationAncilliarySimulationSettings()) when creating observation simulation setings.For this function, the settings for each constituent one-way range (with the exception of the link end identifiers) are equal.
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined, as well as a retransmitter1, retransmitter2, …. (with the number of retransmitters to be defined by the user).light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used for each constituent one-way range. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation). Note that only one bias setting is applied to the n-way observable.light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderivedNWayRangeObservationModelSettingsclass.- Return type:
Examples
# Code Snippet to showcase the use of the n_way_range function from tudatpy.estimation.observable_models_setup import links, model_settings # Create Link Ends dictionary link_ends = dict() link_ends[links.receiver] = links.body_origin_link_end_id("Earth") link_ends[links.transmitter] = links.body_origin_link_end_id("Delfi-C3") # n_way_range() takes a Link Definition Object as input to the function. # Let's create it from link_ends Link_Definition_Object = links.LinkDefinition(link_ends) # Create minimal ObservationModelSettings object (only required Link_Definition_Object argument is passed) # Note: other optional parameters (bias_settings, light_time_correction_settings, light_time_convergence_settings) can be set observation_settings = model_settings.n_way_range(Link_Definition_Object) # Show that n_way_range() returns an NWayRangeObservationModelSettings object. print(observation_settings)
- n_way_range_from_one_way_links(one_way_range_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a n-way range observable.
Function for creating observation model settings of n-way range type observables, for a single link definition. The implementation is the same as
n_way_range(), with the difference that the constituent one-way ranges may have different settings.s- Parameters:
one_way_range_settings (List[
ObservationModelSettings]) – List of observation model settings for each of the \(n\) constituent one-way ranges of the n-way range observable. TheLinkDefinitionof this n-way range observable is created from this list, with thetransmitterandretransmitterdefined by thetransmitterandreceiverof the first entry in this list. Theretransmitter(n-1) andreceiverare defined by thetransmitterandreceiverof the \(\text{n}^{th}\) entry of this list.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation). Note that only one bias setting is applied to the n-way observable.
- Returns:
Instance of the
ObservationModelSettingsderivedNWayRangeObservationModelSettingsclass.- Return type:
Examples
# Code Snippet to showcase the use of the n_way_range_from_one_way_links function from tudatpy.estimation.observable_models_setup import links, model_settings # Create Link Ends dictionary link_ends = dict() link_ends[links.receiver] = links.body_origin_link_end_id("Earth") link_ends[links.transmitter] = links.body_origin_link_end_id("Delfi-C3") # n_way_range_from_one_way_links() takes 1) a list of ObservationModelSettings objects and 2) bias as input (default is None) # Let's create it. Link_Definition_Object = links.LinkDefinition(link_ends) # define LinkDefinition object n_way_observation_settings_list = [model_settings.n_way_range(Link_Definition_Object)] # define (minimal) ObservationModelSettings object n_way_from_one_link_observation_settings = model_settings.n_way_range_from_one_way_links(n_way_observation_settings_list, bias_settings = None) # Show that n_way_range_from_one_way_links() returns an NWayRangeObservationModelSettings object. print(n_way_from_one_link_observation_settings)
- dsn_n_way_range(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622184caf0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
No documentation found.
- one_way_doppler_averaged(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a6221866af0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a one-way averaged Doppler observable.
Function for creating observation model settings for one-way averaged Doppler observables, for a single link definition. The associated observation model creates a single-valued observable \(h_{_{\text{1-\bar{Dopp}}}}\) as follows (in the unbiased case):
\[\begin{split}h_{_{\text{1-\bar{Dopp}}}}&=c\int_{t-\Delta t}^{t+\Delta t}\frac{t_{T}}{dt_{R}}d\bar{t}\\ &=\frac{h_{_{\text{1-range}}}(t_{R}=t+\Delta t,t_{T})-h_{_{\text{1-range}}}(t_{R}=t,t_{T})}{\Delta t}\end{split}\]where, in the latter formulation (which is the one that is implemented), the observable is referenced to the receiver time. This averaged Doppler observable is computed as the difference of two one-way range observables (see
one_way_range()), with the reference time shifted by \(\Delta t\). As such, it is sensitive to numerical errors for small \(\Delta t\)The integration time \(\Delta t\) is defined in the ancilliary settings when simulating the observations (with 60 s as default).
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires that the transmitter and receiver
LinkEndTypeentries to be defined.light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderived OneWayDifferencedRangeRateObservationSettings class defining the settings for the one-way closed-loop doppler observable.- Return type:
- two_way_doppler_averaged(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a62216b46b0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for an n-way averaged Doppler observable.
Function for creating observation model settings for n-way averaged Doppler observables, for a single link definition. The implementation is analogous to the
one_way_doppler_averaged()observable. But, in the present case the observable is computed from the difference of two n-way range observables, with the reference time shifted by \(\Delta t\).The integration time \(\Delta t\) is defined in the ancilliary settings when simulating the observations (with 60 s as default).
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined, as well as a retransmitter1, retransmitter2, …. (with the number of retransmitters to be defined by the user).light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderived ~tudatpy.estimation.observable_models_setup.model_settings.NWayDifferencedRangeRateObservationSettings class defining the settings for the one-way closed-loop doppler observable.- Return type:
- two_way_doppler_averaged_from_one_way_links(one_way_range_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for an n-way averaged Doppler observable.
Function for creating observation model settings for n-way averaged Doppler observables, for a single link definition. The implemenation is analogous to the
one_way_doppler_averaged()observable. But, in the present case the observable is computed from the difference of two n-way range observables, with the reference time shifted by \(\Delta t\).The integration time \(\Delta t\) is defined in the ancilliary settings when simulating the observations (with 60 s as default).
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined, as well as a retransmitter1, retransmitter2, …. (with the number of retransmitters to be defined by the user).light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderived ~tudatpy.estimation.observable_models_setup.model_settings.NWayDifferencedRangeRateObservationSettings class defining the settings for the one-way closed-loop doppler observable.- Return type:
- n_way_doppler_averaged(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a6221681d30>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for an n-way averaged Doppler observable.
Function for creating observation model settings for n-way averaged Doppler observables, for a single link definition. The implementation is analogous to the
one_way_doppler_averaged()observable. But, in the present case the observable is computed from the difference of two n-way range observables, with the reference time shifted by \(\Delta t\).The integration time \(\Delta t\) is defined in the ancilliary settings when simulating the observations (with 60 s as default).
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined, as well as a retransmitter1, retransmitter2, …. (with the number of retransmitters to be defined by the user).light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderived ~tudatpy.estimation.observable_models_setup.model_settings.NWayDifferencedRangeRateObservationSettings class defining the settings for the one-way closed-loop doppler observable.- Return type:
- n_way_doppler_averaged_from_one_way_links(one_way_range_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622183c1b0>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for an n-way averaged Doppler observable.
Function for creating observation model settings for n-way averaged Doppler observables, for a single link definition. The implementation is the same as
n_way_doppler_averaged(), with the difference that the constituent one-way range observables may have different settings.- Parameters:
one_way_range_settings (List[
ObservationModelSettings]) – List of observation model settings for each of the \(n\) constituent one-way ranges of the n-way averaged range rate observable. TheLinkDefinitionof this n-way range observable is created from this list, with thetransmitterandretransmitterdefined by thetransmitterandreceiverof the first entry in this list. Theretransmitter(n-1) andreceiverare defined by thetransmitterandreceiverof the \(\text{n}^{th}\) entry of this list.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)
- Returns:
Instance of the
ObservationModelSettingsderived ~tudatpy.estimation.observable_models_setup.model_settings.NWayDifferencedRangeRateObservationSettings class defining the settings for the one-way closed-loop doppler observable.- Return type:
- dsn_n_way_doppler_averaged(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622184f770>, subtract_doppler_signature: bool = True) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
No documentation found.
- dsn_n_way_doppler_averaged_from_one_way_links(one_way_range_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622169fc70>, subtract_doppler_signature: bool = True) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
No documentation found.
- one_way_doppler_instantaneous(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, transmitter_proper_time_rate_settings: tudatpy.kernel.estimation.observable_models_setup.model_settings.DopplerProperTimeRateSettings = None, receiver_proper_time_rate_settings: tudatpy.kernel.estimation.observable_models_setup.model_settings.DopplerProperTimeRateSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a62217b8af0>, normalized_with_speed_of_light: bool = False) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a one-way instantaneous Doppler observable.
Function for creating settings for a one-way instantaneous Doppler observable for a single link definition. The associated observation model creates a single-valued observable \(h_{_{\text{1-Dopp.}}}\) as follows (in the unbiased case):
\[h_{_{\text{1-Dopp.}}}=c\left(\frac{d\tau_{T}}{dt_{T}}\frac{t_{T}}{dt_{R}}\frac{dt_{R}}{d\tau_{R}}-1\right)\]where \(t\) and \(\tau\) denote coordinate and proper time of the transmitter T and receiver R, respectively. The receiver and transmitter position and coordinate time are computed identically as described for the
one_way_range(). The detailed mathematical implementation are described in: Moyer, T.D. (2000) Formulation for Observed and Computed Values of Deep Space Network Data Types for Navigation. Monograph 2, Deep Space Communications and Navigation Series, JPL Publication 00-7.This observable represents the ‘instantaneous (non-integrated)’ Doppler observable, as obtained from open-loop observations. It should not be used for the modelling of the typical closed-loop observations used in deep space tracking (for which the
one_way_doppler_averaged()should be used)The coordinate time derivative \(\frac{t_{A}}{dt_{B}}\) is always computed when generating this observable. Settings for the proper time rates \(\frac{d\tau}{dt}\) can be specified by the user through the
transmitter_proper_time_rate_settingsandreceiver_proper_time_rate_settingsarguments (inputs, see Parameters). Whenever these are left empty, the proper time rates are omitted (set to 1.0).The observable may be non-dimensionalized by the speed of light \(c\), which results in the observable being equal to thee received and transmitted signal frequencies \(f_{R}/f_{T}-1\).
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires that the transmitter and receiver
LinkEndTypeentries to be defined.light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)transmitter_proper_time_rate_settings (
DopplerProperTimeRateSettings, default = None) – Settings for computing the transmitter proper time rate \(\frac{d\tau}{dt}\), default is none (\(\frac{d\tau}{dt}=1\))receiver_proper_time_rate_settings (
DopplerProperTimeRateSettings, default = None) – Settings for computing the receiver proper time rate \(\frac{d\tau}{dt}\), default is none (\(\frac{d\tau}{dt}=1\))light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-timenormalized_with_speed_of_light (bool, default = false) – Option to non-dimensionalize the observable with speed of light \(c\)
- Returns:
Instance of the
ObservationModelSettingsderivedOneWayDopplerObservationModelSettingsclass defining the settings for the one-way open doppler observable observable.- Return type:
- two_way_doppler_instantaneous(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622169cc70>, normalized_with_speed_of_light: bool = False) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
No documentation found.
- two_way_doppler_instantaneous_from_one_way_links(uplink_doppler_settings: tudatpy.kernel.estimation.observable_models_setup.model_settings.OneWayDopplerObservationModelSettings, downlink_doppler_settings: tudatpy.kernel.estimation.observable_models_setup.model_settings.OneWayDopplerObservationModelSettings, bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a two-way instantaneous Doppler observable.
Function for creating settings for a two-way instantaneous Doppler observable for a single link definition. The implementation is the same as
two_way_doppler_instantaneous(), with the difference that the constituent one-way ranges may have different settings.The observable may be non-dimensionalized by the speed of light \(c\) (in the constituent one-way Doppler observable settings), which results in the observable being equal to the received and transmitted signal frequencies \(f_{R}/f_{T}-1\).
- Parameters:
uplink_doppler_settings (
OneWayDopplerObservationModelSettings) – Settings for uplink leg of one-way observable, created usingone_way_open_loop_doppler()downlink_doppler_settings (
OneWayDopplerObservationModelSettings) – Settings for downlink leg of one-way observable, created usingone_way_open_loop_doppler()bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the full observation, default is none (unbiased observation). Note that, even if no bias is applied to the two-way observable, the constituent one-way observables may still be biased.light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsderivedTwoWayDopplerObservationModelSettingsclass defining the settings for the two-way open doppler observable.- Return type:
TwoWayDopplerObservationModelSettings
- angular_position(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622169ff70>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for an angular position observable.
Function for creating observation model settings of angular position type observables (as right ascension \(\alpha\) and declination \(\delta\)), for a single link definition. The associated observation model creates an observable \(\mathbf{h}_{_{\text{ang.pos.}}}\) of type two as follows (in the unbiased case):
\[\begin{split}\Delta\mathbf{r}=\mathbf{r}_{R}(t_{R})-\mathbf{r}_{T}(t_{T})\\ \tan\alpha=\frac{\Delta r_{y}}{\Delta r_{x}}\\ \delta=\frac{\Delta r_{z}}{\sqrt{\Delta r_{x}^{2}+\Delta r_{y}^{2}}}\\ \mathbf{h}_{_{\text{ang.pos.}}} = [\alpha;\delta]\end{split}\]The relative position vector \(\Delta\mathbf{r}\) is computed identically as described for the
one_way_range()The angular position observable can be used for optical astrometry, VLBI, etc. Due to the definition of this observable, the xy-plane is defined by the global frame orientation of the environment.- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter and receiver
LinkEndTypeentries to be defined.light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the angular position observable.- Return type:
- relative_angular_position(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, light_time_correction_settings: collections.abc.Sequence[tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeCorrectionSettings] = [], bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None, light_time_convergence_settings: tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria = <tudatpy.kernel.estimation.observable_models_setup.light_time_corrections.LightTimeConvergenceCriteria object at 0x7a622183c270>) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a relative angular position observable.
Function for creating observation model settings of relative angular position type observables (as right ascension difference \(\Delta \alpha\) and declination difference \(\Delta \delta\)), from two link definitions. The associated observation model creates an observable \(\mathbf{h}_{_{\text{ang.pos.}}}\) of type two as follows (in the unbiased case):
\[\begin{split}\Delta\mathbf{r}_1=\mathbf{r}_{R}(t_{R})-\mathbf{r}_{T1}(t_{T1}) \\ \tan\alpha_{1} =\frac{\Delta r_{1y}}{\Delta r_{1x}} \\ \delta_{1} =\frac{\Delta r_{1z}}{\sqrt{\Delta r_{1x}^{2}+\Delta r_{1y}^{2}}} \\ \Delta\mathbf{r}_2=\mathbf{r}_{R}(t_{R})-\mathbf{r}_{T2}(t_{T2}) \\ \tan\alpha_{2} =\frac{\Delta r_{2y}}{\Delta r_{2x}} \\ \delta_{2} =\frac{\Delta r_{2z}}{\sqrt{\Delta r_{2x}^{2}+\Delta r_{2y}^{2}}} \\ \mathbf{h}_{_{\text{rel.ang.pos.}}} = [\alpha_{2}-\alpha_{1};\delta_{2}-\delta_{1}]\end{split}\]The relative position vectors \(\Delta\mathbf{r}_1\) and \(\Delta\mathbf{r}_2\) are computed identically as described for the
one_way_range()The relative angular position observable can be used for optical astrometry, optical navigation, etc. Due to the definition of this observable, the xy-plane is defined by the global frame orientation of the environment.- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires the transmitter, transmitter2 and receiver
LinkEndTypeentries to be defined.light_time_correction_settings (List[
LightTimeCorrectionSettings], default = list()) – List of corrections for the light-time that are to be used. Default is none, which will result in the signal being modelled as moving in a straight line with the speed of lightbias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)light_time_convergence_settings (
LightTimeConvergenceCriteria, default =light_time_convergence_settings()) – Settings for convergence of the light-time
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the relative angular position observable.- Return type:
- cartesian_position(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a Cartesian position observable.
Function for creating observation model settings of Cartesian position type observables. Note that this observable is typically not realized in reality, but can be very useful for verification or analysis purposes. This observable provides the inertial (w.r.t. global frame origin) Cartesian position of the observed_body defined by the link_ends input. The observable has size 3, and contains the \(x\), \(y\) and \(z\) position
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires that the observed_body
LinkEndTypeentries to be defined.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the cartesian position observable.- Return type:
- relative_cartesian_position(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a relative Cartesian position observable.
Function for creating observation model settings of relative Cartesian position type observables. Note that this observable is typically not realized in reality, but can be very useful for verification or analysis purposes. This observable provides the inertial Cartesian position of the observed_body, w.r.t. the observer defined by the link_ends input. The observable has size 3, and contains the \(x\), \(y\) and \(z\) position
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires that the observed_body and observer
LinkEndTypeentries to be defined.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the relative Cartesian position observable.- Return type:
- cartesian_velocity(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
Function for creating settings for a Cartesian velocity observable.
Function for creating observation model settings of Cartesian position type observables. Note that this observable is typically not realized in reality, but can be very useful for verification or analysis purposes. This observable provides the inertial (w.r.t. global frame origin) Cartesian velocity of the observed_body defined by the link_ends input. The observable has size 3, and contains the \(x\), \(y\) and \(z\) velocity
- Parameters:
link_ends (LinkDefinition) – Set of link ends that define the geometry of the observation. This observable requires that the observed_body
LinkEndTypeentries to be defined.bias_settings (
ObservationBiasSettings, default = None) – Settings for the observation bias that is to be used for the observation, default is none (unbiased observation)
- Returns:
Instance of the
ObservationModelSettingsclass defining the settings for the cartesian velocity observable.- Return type:
- euler_angles_313(link_ends: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, bias_settings: tudatpy.kernel.estimation.observable_models_setup.biases.ObservationBiasSettings = None) tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservationModelSettings¶
No documentation found.
Enumerations¶
Enumeration of available observable types. |
- class ObservableType¶
Enumeration of available observable types.
Examples
# Code snippet to print all available Observable Types from tudatpy.estimation.observable_models_setup import model_settings num_observable_types = len(model_settings.ObservableType.__members__) print(f'The length of all available Tudatpy Observable Types is: {num_observable_types}') # Print all available Observable Types using the "name" property for i in range(num_observable_types): print(i, model_settings.ObservableType(i).name)
Members:
one_way_range_type
n_way_range_type
angular_position_type
relative_angular_position_type
position_observable_type
velocity_observable_type
relative_position_observable_type
one_way_instantaneous_doppler_type
one_way_averaged_doppler_type
two_way_instantaneous_doppler_type
n_way_averaged_doppler_type
euler_angle_313_observable_type
dsn_one_way_averaged_doppler_type
dsn_n_way_averaged_doppler_type
doppler_measured_frequency_type
dsn_n_way_range_type
- property name¶
Classes¶
Base class to define proper time rate settings. |
|
Base class to define settings of observation models. |
|
Derived Class for defining the settings of one-way instantaneous Doppler observation models. |
|
No documentation found. |
- class DopplerProperTimeRateSettings¶
Base class to define proper time rate settings.
Base class to define proper time rate settings (at a single link end) for instantaneous Doppler observation model settings. Specific proper time rate settings must be defined using an object derived from this class. The derived classes are made accessible via dedicated functions.
- class ObservationModelSettings¶
Base class to define settings of observation models.
Base class to define settings of observation models. Observation model settings define at least the type and geometry of a given observation. They can furthermore set observation biases and/or light-time corrections. Simple observation models settings that are fully characterised by these elements can be managed by this base class. Instances of this class are typically created via functions, such as
one_way_range(),cartesian_position(),angular_position(), etc. Model settings for specific observation models that require additional information such as integration time, retransmission time, etc. must be defined using an object derived from this class. The derived classes are made accessible through further functions.Examples
# Code snippet to show the creation of an ObservationModelSettings object from tudatpy.estimation.observable_models_setup import links, model_settings # Create Link Ends dictionary link_ends = dict() link_ends[links.receiver] = links.body_origin_link_end_id("Earth") link_ends[links.transmitter] = links.body_origin_link_end_id("Delfi-C3") # Create a Link Definition Object from link_ends dictionary Link_Definition_Object = links.LinkDefinition(link_ends) # Create minimal ObservationModelSettings object (only required Link_Definition_Object argument is passed) # Other optional parameters (bias_settings, light_time_correction_settings, light_time_convergence_settings) are set by default observation_settings = model_settings.one_way_range(Link_Definition_Object) # Show that it is an ObservationModelSettings object. print(observation_settings)
- class OneWayDopplerObservationModelSettings¶
Derived Class for defining the settings of one-way instantaneous Doppler observation models.
Derived Class for defining the settings of one-way instantaneous Doppler observation models. Settings object can account for additional observation model aspects such as light time corrections and proper time rate settings. Instances of this class can be created via the
one_way_doppler_instantaneous()function. Associated base class:ObservationModelSettings.Examples
# Code snippet to show the creation of a OneWayDopplerObservationModelSettings object from tudatpy.estimation.observable_models_setup import links, model_settings # Create Link Ends dictionary link_ends = dict() link_ends[links.receiver] = links.body_origin_link_end_id("Earth") link_ends[links.transmitter] = links.body_origin_link_end_id("Delfi-C3") # Create a Link Definition Object from link_ends dictionary Link_Definition_Object = links.LinkDefinition(link_ends) # Use: model_settings.one_way_doppler_instantaneous to create a OneWayDopplerObservationModelSettings object (only required Link_Definition_Object argument is passed) # Other optional parameters (bias_settings, light_time_correction_settings, light_time_convergence_settings, proper time rate) are set by default doppler_observation_settings = model_settings.one_way_doppler_instantaneous(Link_Definition_Object) # Show that it is an OneWayDopplerObservationModelSettings object. print(doppler_observation_settings)
- class NWayRangeObservationModelSettings¶
No documentation found.
- Members: