Trait nyx_space::od::Filter [−][src]
Defines a Filter trait where S is the size of the estimated state, A the number of acceleration components of the EOMs (used for process noise matrix size), M the size of the measurements.
Associated Types
Loading content...Required methods
fn previous_estimate(&self) -> &Self::Estimate
[src]
Returns the previous estimate
fn set_previous_estimate(&mut self, est: &Self::Estimate)
[src]
Set the previous estimate
fn update_stm(
&mut self,
new_stm: MatrixMN<f64, <T as State>::Size, <T as State>::Size>
)
[src]
&mut self,
new_stm: MatrixMN<f64, <T as State>::Size, <T as State>::Size>
)
Update the State Transition Matrix (STM). This function must be called in between each
call to time_update
or measurement_update
.
fn update_h_tilde(&mut self, h_tilde: MatrixMN<f64, M, <T as State>::Size>)
[src]
Update the sensitivity matrix (or “H tilde”). This function must be called prior to each
call to measurement_update
.
fn time_update(&mut self, nominal_state: T) -> Result<Self::Estimate, NyxError>
[src]
Computes a time update/prediction at the provided nominal state (i.e. advances the filter estimate with the updated STM).
Returns an error if the STM was not updated.
fn measurement_update(
&mut self,
nominal_state: T,
real_obs: &VectorN<f64, M>,
computed_obs: &VectorN<f64, M>
) -> Result<(Self::Estimate, Residual<M>), NyxError>
[src]
&mut self,
nominal_state: T,
real_obs: &VectorN<f64, M>,
computed_obs: &VectorN<f64, M>
) -> Result<(Self::Estimate, Residual<M>), NyxError>
Computes the measurement update with a provided real observation and computed observation.
Returns an error if the STM or sensitivity matrices were not updated.
fn is_extended(&self) -> bool
[src]
Returns whether the filter is an extended filter (e.g. EKF)
fn set_extended(&mut self, status: bool)
[src]
Sets the filter to be extended or not depending on the value of status
fn set_process_noise(&mut self, snc: SNC<A>)
[src]
Sets the process noise matrix of the estimated state
Implementors
impl<T, A, M> Filter<T, A, M> for KF<T, A, M> where
A: DimName,
M: DimName,
T: State,
DefaultAllocator: Allocator<f64, M> + Allocator<f64, <T as State>::Size> + Allocator<f64, A> + Allocator<f64, M, M> + Allocator<f64, M, <T as State>::Size> + Allocator<f64, <T as State>::Size, M> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<f64, A, A> + Allocator<f64, <T as State>::Size, A> + Allocator<f64, A, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
[src]
A: DimName,
M: DimName,
T: State,
DefaultAllocator: Allocator<f64, M> + Allocator<f64, <T as State>::Size> + Allocator<f64, A> + Allocator<f64, M, M> + Allocator<f64, M, <T as State>::Size> + Allocator<f64, <T as State>::Size, M> + Allocator<f64, <T as State>::Size, <T as State>::Size> + Allocator<f64, A, A> + Allocator<f64, <T as State>::Size, A> + Allocator<f64, A, <T as State>::Size> + Allocator<usize, <T as State>::Size> + Allocator<usize, <T as State>::Size, <T as State>::Size>,
type Estimate = KfEstimate<T>
fn previous_estimate(&self) -> &Self::Estimate
[src]
Returns the previous estimate
fn set_previous_estimate(&mut self, est: &Self::Estimate)
[src]
fn update_stm(
&mut self,
new_stm: MatrixMN<f64, <T as State>::Size, <T as State>::Size>
)
[src]
&mut self,
new_stm: MatrixMN<f64, <T as State>::Size, <T as State>::Size>
)
Update the State Transition Matrix (STM). This function must be called in between each
call to time_update
or measurement_update
.
fn update_h_tilde(&mut self, h_tilde: MatrixMN<f64, M, <T as State>::Size>)
[src]
Update the sensitivity matrix (or “H tilde”). This function must be called prior to each
call to measurement_update
.
fn time_update(&mut self, nominal_state: T) -> Result<Self::Estimate, NyxError>
[src]
Computes a time update/prediction (i.e. advances the filter estimate with the updated STM).
May return a FilterError if the STM was not updated.
fn measurement_update(
&mut self,
nominal_state: T,
real_obs: &VectorN<f64, M>,
computed_obs: &VectorN<f64, M>
) -> Result<(Self::Estimate, Residual<M>), NyxError>
[src]
&mut self,
nominal_state: T,
real_obs: &VectorN<f64, M>,
computed_obs: &VectorN<f64, M>
) -> Result<(Self::Estimate, Residual<M>), NyxError>
Computes the measurement update with a provided real observation and computed observation.
May return a FilterError if the STM or sensitivity matrices were not updated.
fn is_extended(&self) -> bool
[src]
fn set_extended(&mut self, status: bool)
[src]
fn set_process_noise(&mut self, snc: SNC<A>)
[src]
Overwrites all of the process noises to the one provided