Struct nyx_space::od::estimate::KfEstimate
source · pub struct KfEstimate<T: State>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,{
pub nominal_state: T,
pub state_deviation: OVector<f64, <T as State>::Size>,
pub covar: OMatrix<f64, <T as State>::Size, <T as State>::Size>,
pub covar_bar: OMatrix<f64, <T as State>::Size, <T as State>::Size>,
pub predicted: bool,
pub stm: OMatrix<f64, <T as State>::Size, <T as State>::Size>,
pub epoch_fmt: EpochFormat,
pub covar_fmt: CovarFormat,
}
Expand description
Kalman filter Estimate
Fields§
§nominal_state: T
The estimated state
state_deviation: OVector<f64, <T as State>::Size>
The state deviation
covar: OMatrix<f64, <T as State>::Size, <T as State>::Size>
The Covariance of this estimate
covar_bar: OMatrix<f64, <T as State>::Size, <T as State>::Size>
The predicted covariance of this estimate
predicted: bool
Whether or not this is a predicted estimate from a time update, or an estimate from a measurement
stm: OMatrix<f64, <T as State>::Size, <T as State>::Size>
The STM used to compute this Estimate
epoch_fmt: EpochFormat
The Epoch format upon serialization
covar_fmt: CovarFormat
The covariance format upon serialization
Implementations§
Trait Implementations§
source§impl<T: Clone + State> Clone for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: Clone + State> Clone for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
source§fn clone(&self) -> KfEstimate<T>
fn clone(&self) -> KfEstimate<T>
Returns a copy 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<T: Debug + State> Debug for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: Debug + State> Debug for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
source§impl<T: State> Display for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: State> Display for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
source§impl<T: State> Estimate<T> for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: State> Estimate<T> for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
source§fn zeros(nominal_state: T) -> Self
fn zeros(nominal_state: T) -> Self
An empty estimate. This is useful if wanting to store an estimate outside the scope of a filtering loop.
source§fn nominal_state(&self) -> T
fn nominal_state(&self) -> T
The nominal state as reported by the filter dynamics
source§fn state_deviation(&self) -> OVector<f64, <T as State>::Size>
fn state_deviation(&self) -> OVector<f64, <T as State>::Size>
The state deviation as computed by the filter.
source§fn covar(&self) -> OMatrix<f64, <T as State>::Size, <T as State>::Size>
fn covar(&self) -> OMatrix<f64, <T as State>::Size, <T as State>::Size>
The Covariance of this estimate. Will return the predicted covariance if this is a time update/prediction.
source§fn predicted_covar(
&self
) -> OMatrix<f64, <T as State>::Size, <T as State>::Size>
fn predicted_covar( &self ) -> OMatrix<f64, <T as State>::Size, <T as State>::Size>
The predicted covariance of this estimate from the time update
source§fn predicted(&self) -> bool
fn predicted(&self) -> bool
Whether or not this is a predicted estimate from a time update, or an estimate from a measurement
source§fn stm(&self) -> &OMatrix<f64, <T as State>::Size, <T as State>::Size>
fn stm(&self) -> &OMatrix<f64, <T as State>::Size, <T as State>::Size>
The STM used to compute this Estimate
source§fn epoch_fmt(&self) -> EpochFormat
fn epoch_fmt(&self) -> EpochFormat
The Epoch format upon serialization
source§fn covar_fmt(&self) -> CovarFormat
fn covar_fmt(&self) -> CovarFormat
The covariance format upon serialization
source§fn set_state_deviation(&mut self, new_state: OVector<f64, <T as State>::Size>)
fn set_state_deviation(&mut self, new_state: OVector<f64, <T as State>::Size>)
Sets the state deviation.
source§fn set_covar(
&mut self,
new_covar: OMatrix<f64, <T as State>::Size, <T as State>::Size>
)
fn set_covar( &mut self, new_covar: OMatrix<f64, <T as State>::Size, <T as State>::Size> )
Sets the Covariance of this estimate
fn set_epoch(&mut self, dt: Epoch)
source§fn within_sigma(&self, sigma: f64) -> bool
fn within_sigma(&self, sigma: f64) -> bool
Returns whether this estimate is within some bound
The 68-95-99.7 rule is a good way to assess whether the filter is operating normally
source§fn within_3sigma(&self) -> bool
fn within_3sigma(&self) -> bool
Returns whether this estimate is within 3 sigma, which represent 99.7% for a Normal distribution
source§fn header(epoch_fmt: EpochFormat, covar_fmt: CovarFormat) -> Vec<String> ⓘ
fn header(epoch_fmt: EpochFormat, covar_fmt: CovarFormat) -> Vec<String> ⓘ
Returns the header
source§impl<T: State> LowerExp for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: State> LowerExp for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
fn orbital_state(&self) -> Orbit
source§fn expected_state(&self) -> Orbit
fn expected_state(&self) -> Orbit
Returns the nominal state as computed by the dynamics
source§impl<T: PartialEq + State> PartialEq<KfEstimate<T>> for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: PartialEq + State> PartialEq<KfEstimate<T>> for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
source§fn eq(&self, other: &KfEstimate<T>) -> bool
fn eq(&self, other: &KfEstimate<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: State> Serialize for KfEstimate<T>where
DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: State> Serialize for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
impl<T: State> StructuralPartialEq for KfEstimate<T>where DefaultAllocator: Allocator<f64, <T as State>::Size> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<f64, <T as State>::VecLength> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
Auto Trait Implementations§
impl<T> !RefUnwindSafe for KfEstimate<T>
impl<T> !Send for KfEstimate<T>
impl<T> !Sync for KfEstimate<T>
impl<T> !Unpin for KfEstimate<T>
impl<T> !UnwindSafe for KfEstimate<T>
Blanket Implementations§
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Printing<T> for Twhere
T: Display,
impl<T> Printing<T> for Twhere T: Display,
§fn to_str(self) -> String
fn to_str(self) -> String
Method to serialize.
Decorates Vecs with square brackets and tuples with round ones.
Implementation code is in
printing.rs
. §fn to_plainstr(self) -> String
fn to_plainstr(self) -> String
Method to serialize in minimal form (space separated, no brackets)
Implementation code is in
printing.rs
.§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.