pub struct InterlinkTxSpacecraft {
pub traj: Trajectory,
pub measurement_types: IndexSet<MeasurementType>,
pub integration_time: Option<Duration>,
pub timestamp_noise_s: Option<StochasticNoise>,
pub stochastic_noises: Option<IndexMap<MeasurementType, StochasticNoise>>,
pub ab_corr: Option<Aberration>,
}
Fields§
§traj: Trajectory
Trajectory of the transmitter spacercaft
measurement_types: IndexSet<MeasurementType>
Measurement types supported by the link
integration_time: Option<Duration>
Integration time used to generate the measurement.
timestamp_noise_s: Option<StochasticNoise>
§stochastic_noises: Option<IndexMap<MeasurementType, StochasticNoise>>
§ab_corr: Option<Aberration>
Aberration correction used in the interlink
Trait Implementations§
Source§impl Clone for InterlinkTxSpacecraft
impl Clone for InterlinkTxSpacecraft
Source§fn clone(&self) -> InterlinkTxSpacecraft
fn clone(&self) -> InterlinkTxSpacecraft
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl ConfigRepr for InterlinkTxSpacecraft
impl ConfigRepr for InterlinkTxSpacecraft
Source§fn load<P>(path: P) -> Result<Self, ConfigError>
fn load<P>(path: P) -> Result<Self, ConfigError>
Builds the configuration representation from the path to a yaml
Source§fn load_many<P>(path: P) -> Result<Vec<Self>, ConfigError>
fn load_many<P>(path: P) -> Result<Vec<Self>, ConfigError>
Builds a sequence of “Selves” from the provided path to a yaml
Source§fn load_named<P>(path: P) -> Result<BTreeMap<String, Self>, ConfigError>
fn load_named<P>(path: P) -> Result<BTreeMap<String, Self>, ConfigError>
Builds a map of names to “selves” from the provided path to a yaml
Source§fn loads_many(data: &str) -> Result<Vec<Self>, ConfigError>
fn loads_many(data: &str) -> Result<Vec<Self>, ConfigError>
Builds a sequence of “Selves” from the provided string of a yaml
Source§fn loads_named(data: &str) -> Result<BTreeMap<String, Self>, ConfigError>
fn loads_named(data: &str) -> Result<BTreeMap<String, Self>, ConfigError>
Builds a sequence of “Selves” from the provided string of a yaml
Source§impl Debug for InterlinkTxSpacecraft
impl Debug for InterlinkTxSpacecraft
Source§impl<'de> Deserialize<'de> for InterlinkTxSpacecraft
impl<'de> Deserialize<'de> for InterlinkTxSpacecraft
Source§fn deserialize<D>(_deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(_deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for InterlinkTxSpacecraft
impl Serialize for InterlinkTxSpacecraft
Source§impl TrackerSensitivity<Spacecraft, Spacecraft> for InterlinkTxSpacecraftwhere
DefaultAllocator: Allocator<<Spacecraft as State>::Size> + Allocator<<Spacecraft as State>::VecLength> + Allocator<<Spacecraft as State>::Size, <Spacecraft as State>::Size>,
impl TrackerSensitivity<Spacecraft, Spacecraft> for InterlinkTxSpacecraftwhere
DefaultAllocator: Allocator<<Spacecraft as State>::Size> + Allocator<<Spacecraft as State>::VecLength> + Allocator<<Spacecraft as State>::Size, <Spacecraft as State>::Size>,
Source§fn h_tilde<M: DimName>(
&self,
msr: &Measurement,
msr_types: &IndexSet<MeasurementType>,
rx: &Spacecraft,
almanac: Arc<Almanac>,
) -> Result<OMatrix<f64, M, <Spacecraft as State>::Size>, ODError>
fn h_tilde<M: DimName>( &self, msr: &Measurement, msr_types: &IndexSet<MeasurementType>, rx: &Spacecraft, almanac: Arc<Almanac>, ) -> Result<OMatrix<f64, M, <Spacecraft as State>::Size>, ODError>
Returns the sensitivity matrix of size MxS where M is the number of simultaneous measurements
and S is the size of the state being solved for.
Source§impl TrackingDevice<Spacecraft> for InterlinkTxSpacecraft
impl TrackingDevice<Spacecraft> for InterlinkTxSpacecraft
Source§fn measurement_covar(
&self,
msr_type: MeasurementType,
epoch: Epoch,
) -> Result<f64, ODError>
fn measurement_covar( &self, msr_type: MeasurementType, epoch: Epoch, ) -> Result<f64, ODError>
Returns the measurement noise of this ground station.
§Methodology
Noises are modeled using a StochasticNoise process, defined by the sigma on the turn-on bias and on the steady state noise. The measurement noise is computed assuming that all measurements are independent variables, i.e. the measurement matrix is a diagonal matrix. The first item in the diagonal is the range noise (in km), set to the square of the steady state sigma. The second item is the Doppler noise (in km/s), set to the square of the steady state sigma of that Gauss Markov process.
Source§fn measurement_types(&self) -> &IndexSet<MeasurementType>
fn measurement_types(&self) -> &IndexSet<MeasurementType>
Returns the enabled measurement types for thie device.
Source§fn location(
&self,
epoch: Epoch,
frame: Frame,
almanac: Arc<Almanac>,
) -> AlmanacResult<Orbit>
fn location( &self, epoch: Epoch, frame: Frame, almanac: Arc<Almanac>, ) -> AlmanacResult<Orbit>
Returns the device location at the given epoch and in the given frame.
Source§fn measure(
&mut self,
epoch: Epoch,
traj: &Traj<Spacecraft>,
rng: Option<&mut Pcg64Mcg>,
almanac: Arc<Almanac>,
) -> Result<Option<Measurement>, ODError>
fn measure( &mut self, epoch: Epoch, traj: &Traj<Spacecraft>, rng: Option<&mut Pcg64Mcg>, almanac: Arc<Almanac>, ) -> Result<Option<Measurement>, ODError>
Performs a measurement of the input trajectory at the provided epoch (with integration times if relevant), and returns a measurement from itself to the input state. Returns None of the object is not visible.
This trait function takes in a trajectory and epoch so it can properly simulate integration times for the measurements.
If the random number generator is provided, it shall be used to add noise to the measurement. Read more
fn measure_instantaneous( &mut self, rx: Spacecraft, rng: Option<&mut Pcg64Mcg>, almanac: Arc<Almanac>, ) -> Result<Option<Measurement>, ODError>
fn measurement_bias( &self, msr_type: MeasurementType, _epoch: Epoch, ) -> Result<f64, ODError>
fn measurement_covar_matrix<M: DimName>(
&self,
msr_types: &IndexSet<MeasurementType>,
epoch: Epoch,
) -> Result<OMatrix<f64, M, M>, ODError>where
DefaultAllocator: Allocator<M, M>,
fn measurement_bias_vector<M: DimName>(
&self,
msr_types: &IndexSet<MeasurementType>,
epoch: Epoch,
) -> Result<OVector<f64, M>, ODError>where
DefaultAllocator: Allocator<M>,
Auto Trait Implementations§
impl Freeze for InterlinkTxSpacecraft
impl RefUnwindSafe for InterlinkTxSpacecraft
impl Send for InterlinkTxSpacecraft
impl Sync for InterlinkTxSpacecraft
impl Unpin for InterlinkTxSpacecraft
impl UnwindSafe for InterlinkTxSpacecraft
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromDhall for Twhere
T: DeserializeOwned,
impl<T> FromDhall for Twhere
T: DeserializeOwned,
fn from_dhall(v: &Value) -> Result<T, Error>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.