pub struct SNC<A: DimName>where
DefaultAllocator: Allocator<f64, A> + Allocator<f64, A, A>,{
pub start_time: Option<Epoch>,
pub frame: Option<Frame>,
pub disable_time: Duration,
pub init_epoch: Option<Epoch>,
pub prev_epoch: Option<Epoch>,
/* private fields */
}
Fields§
§start_time: Option<Epoch>
Time at which this SNC starts to become applicable
frame: Option<Frame>
Specify the frame of this SNC – CURRENTLY UNIMPLEMENTED
disable_time: Duration
Enables state noise compensation (process noise) only be applied if the time between measurements is less than the disable_time amount in seconds
init_epoch: Option<Epoch>
§prev_epoch: Option<Epoch>
Implementations§
source§impl<A: DimName> SNC<A>where
DefaultAllocator: Allocator<f64, A> + Allocator<f64, A, A>,
impl<A: DimName> SNC<A>where DefaultAllocator: Allocator<f64, A> + Allocator<f64, A, A>,
sourcepub fn from_diagonal(disable_time: Duration, values: &[f64]) -> Self
pub fn from_diagonal(disable_time: Duration, values: &[f64]) -> Self
Initialize a state noise compensation structure from the diagonal values
sourcepub fn with_start_time(
disable_time: Duration,
values: &[f64],
start_time: Epoch
) -> Self
pub fn with_start_time( disable_time: Duration, values: &[f64], start_time: Epoch ) -> Self
Initialize an SNC with a time at which it should start
sourcepub fn with_decay(
disable_time: Duration,
initial_snc: &[f64],
decay_constants_s: &[f64]
) -> Self
pub fn with_decay( disable_time: Duration, initial_snc: &[f64], decay_constants_s: &[f64] ) -> Self
Initialize an exponentially decaying SNC with initial SNC and decay constants. Decay constants in seconds since start of the tracking pass.
sourcepub fn to_matrix(&self, epoch: Epoch) -> Option<OMatrix<f64, A, A>>
pub fn to_matrix(&self, epoch: Epoch) -> Option<OMatrix<f64, A, A>>
Returns the SNC matrix (not incl. Gamma matrix approximation) at the provided Epoch. May be None if:
- Start time of this matrix is after epoch
- Time between epoch and previous epoch (set in the Kalman filter!) is longer than disabling time
Trait Implementations§
source§impl<A: Clone + DimName> Clone for SNC<A>where
DefaultAllocator: Allocator<f64, A> + Allocator<f64, A, A>,
impl<A: Clone + DimName> Clone for SNC<A>where DefaultAllocator: Allocator<f64, A> + Allocator<f64, A, A>,
Auto Trait Implementations§
impl<A> !RefUnwindSafe for SNC<A>
impl<A> !Send for SNC<A>
impl<A> !Sync for SNC<A>
impl<A> !Unpin for SNC<A>
impl<A> !UnwindSafe for SNC<A>
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.