12. SequentialRangingReal#
- class SequentialRangingReal(name: str, instrument: Instrument, sigma: ArrayWUnits = None, gs_range_bias=None, state_definition=None, sequence_definition=None, epoch_sec=None, computed_measurements_dict=None)#
Bases:
MeasurementWORK-IN-PROGRESS
Attributes
DESC
EpochArray in seconds of day
The instrument.
The name of the model.
The standard deviation of the measurement model.
Methods
compute_h_tilde_pos(relative_state, epoch_time)This will generate the portion of h_tilde related to the position components.
compute_h_tilde_vel(relative_state, epoch_time)This will generate the portion of h_tilde related to the position components.
compute_partials(target, epoch_array[, frame])Stacks together measurement partials for an epoch array at different epochs.
computed_measurements(target[, epoch_array, ...])This method compute the doppler measurement between target.name and self.instrument.name (2-way doppler).
generate_measurement_dataset(dataset_name, ...)Generates a MeasurementDataSet object that can be used by filters downstream.
observed_measurements(file_name[, ...])Reads measurements from a .json file.
partials(target, epoch, frame)residuals(observed_meas, computed_meas)Generates the measurement model's residuals given observed and computed ArrayWFrames.
write_observed_measurements(target[, ...])Generates synthetic measurements and write them as a .json file.
- compute_h_tilde_pos(relative_state: ArrayWUnits, epoch_time) list#
This will generate the portion of h_tilde related to the position components.
- Parameters:
relative_state (ArrayWUnits) – relative state beween self and target
- compute_h_tilde_vel(relative_state: ArrayWUnits, epoch_time) list#
This will generate the portion of h_tilde related to the position components.
- Parameters:
relative_state (ArrayWUnits) – relative state beween self and target
- compute_partials(target: ~scarabaeus.spacecraft.Spacecraft.Spacecraft, epoch_array: ~scarabaeus.timeAndFrame.EpochArray.EpochArray, frame: ~scarabaeus.timeAndFrame.Frame.Frame = J2000 (0 - SOLAR SYSTEM BARYCENTER)) list#
Stacks together measurement partials for an epoch array at different epochs.
- Parameters:
target (
Spacecraft) – The target spacecraft.epoch_array (
EpochArray) – The epochs.frame (
Frame, optional) – The reference frame. Defaults to a J2000 Frame object.
- Returns:
partials – A list with all the partials evaluated at different epochs in the
epoch_array.- Return type:
- computed_measurements(target: ~scarabaeus.spacecraft.Spacecraft.Spacecraft, epoch_array: ~scarabaeus.timeAndFrame.EpochArray.EpochArray = None, epoch_start: ~scarabaeus.timeAndFrame.EpochArray.EpochArray = None, epoch_end: ~scarabaeus.timeAndFrame.EpochArray.EpochArray = None, tstep: float = 1, frame: ~scarabaeus.timeAndFrame.Frame.Frame = J2000 (0 - SOLAR SYSTEM BARYCENTER), noisy: bool = False, prior_range_bias: float = None) ArrayWFrame#
This method compute the doppler measurement between target.name and self.instrument.name (2-way doppler). If a “receiver_station” is specified as an instrument (i.e. a ground station) 3-way dopller is computed instead.
- Parameters:
target (Body, Spacecraft) – target spacecraft as scb Spacecraft/Body object
antenna_name (str) – name of the antenna to be used for Doppler
epoch (Epoch) – epochs as scb Epoch object
transmit_frequency (ArrayWUnits) – transmit frequency, used to compute the doppler count
noisy (bool) – Noise flag, defaults to False
receive_station (GroundStation) – receiving station object for three-way doppler, defaults to None
- generate_measurement_dataset(dataset_name: str, measurement_type: str, target: ~scarabaeus.body.Body.Body, observed_meas: ~scarabaeus.timeAndFrame.ArrayWFrame.ArrayWFrame = None, frame: ~scarabaeus.timeAndFrame.Frame.Frame = J2000 (0 - SOLAR SYSTEM BARYCENTER), noisy: bool = False, prior_range_bias=None) list[MeasurementDataSet]#
Generates a MeasurementDataSet object that can be used by filters downstream.
- Parameters:
dataset_name (
str) – The name of the MeasurementDataSet.target (
Spacecraft) – The target spacecraft.epoch_list (
EpochArray, optional) – The epochs. Defaults toNone.epoch_start (
EpochArray, optional) – The starting epoch. Defaults toNone.epoch_end (
EpochArray, optional) – The end epoch. Defaults toNone.tstep (
int, optional) – The integration timestep. Defaults to1.observed_measurements (
list, optional) – The observed measurements. Defaults toNone.frame (
Frame, optional) – The reference frame. Defaults to a J2000 Frame object.noisy (
bool, optional) – Indicates if noise is added to the measurements or not. Defaults toFalse.
- Returns:
mds_list – A list of MeasurementDataSet objects representing the measurements with their key properties to be used by a filter.
- Return type:
list[MeasurementDataSet]
Notes
The MeasurementDataSet output is generated in 6 steps:
Computed measurements
Partials
Residuals
Sigmas
Pack everything in a list
Pack the list in a MeasurementDataSet object
- observed_measurements(file_name, meas_name: str = 'meas_ideal', units: ~scarabaeus.units.Units.Units = unitless, frame: ~scarabaeus.timeAndFrame.Frame.Frame = J2000 (0 - SOLAR SYSTEM BARYCENTER)) Tuple[EpochArray, ndarray, ArrayWFrame]#
Reads measurements from a .json file.
- Parameters:
file_name (
str) – The filename of the .json file containig the measurement information.meas_name (
str, optional) – The name of the measurement data to access from the dictionary. Defaults to'meas_ideal'.units (
Units, optional) – Units to be used to write the output AWU. Defaults tounitless.frame (
Frame, optional) – Frame to be used to write the output AWF. Defaults to a J2000 Frame object.
- Returns:
meas_time_et, meas_sec, meas_obs – A tuple with the following values corresponding to their respective indices:
[0]= meas_time_etEpochArrayThe time in ephemeris time.
[1]= meas_Secnumpy.ndarrayThe times in seconds.
[2]= meas_obsArrayWFrameAn AWF with the quantities in AWU.
- Return type:
Tuple[EpochArray,numpy.ndarray,ArrayWFrame]
Notes
The writing of the json assumes or requires units and frames.
- partials(target: Spacecraft, epoch: EpochArray, frame: Frame) list#
- residuals(observed_meas: ArrayWFrame, computed_meas: ArrayWFrame) ArrayWFrame#
Generates the measurement model’s residuals given observed and computed ArrayWFrames.
- Parameters:
observed_meas (
ArrayWFrame) – The observed measurements values (O).computed_meas (
ArrayWFrame) – The computed measurements values (C).
- Returns:
residuals – AWF with the residual O-C.
- Return type:
- write_observed_measurements(target: Spacecraft, epoch_array: EpochArray = None, epoch_start: EpochArray = None, epoch_end: EpochArray = None, tstep: float = 1, frame: Frame = None, noisy: bool = False, prior_range_bias: float = None, file_name: str = 'ideal_measurement') None#
Generates synthetic measurements and write them as a .json file. The input of this method encapsulate the ones needed for the “computed_meas” method in each measurement model class.
- Parameters:
target (
Spacecraft) – The target spacecraft for which the range measurement is to be computed.epoch_array (
EpochArray, optional) – An array of epochs (times) at which the range measurements should be computed. If provided, overridesepoch_start,epoch_end, andtstep.epoch_start (
EpochArray, optional) – The starting epoch for the range measurement computations. Required ifepoch_arrayis not provided.epoch_end (
EpochArray, optional) – The ending epoch for the range measurement computations. Required ifepoch_arrayis not provided.tstep (
float, optional) – The time step, in seconds, between consecutive range measurements. If epoch_array is not provided. Defaults to1second.frame (Frame , optional) – The reference frame in which the range computation is performed. Defaults to
None.noisy (bool , optional) – Whether to add noise to the computed range measurement. Defaults to
False.prior_range_bias (
float, optional) – A prior bias value to add to the computed range measurements. Defaults toNone.file_name (
str, optional) – The filename of the JSON in which the measurement is saved, Defaults to'ideal_measurement'.
- Return type:
- ECLIPJ2000 = ECLIPJ2000 (0 - SOLAR SYSTEM BARYCENTER)#
- IAUEARTH = IAU_EARTH (399 - EARTH)#
- ITRF93 = ITRF93 (399 - EARTH)#
- J2000 = J2000 (0 - SOLAR SYSTEM BARYCENTER)#
- property computed_measurements_dict#
DESC
- property epoch_sec: EpochArray#
EpochArray in seconds of day
- property instrument: Instrument#
The instrument.
- property sigma: ArrayWUnits#
The standard deviation of the measurement model.