Trait nyx_space::od::Filter[][src]

pub trait Filter<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, <T as State>::Size> + Allocator<f64, A, A> + Allocator<f64, <T as State>::Size, A> + Allocator<f64, A, <T as State>::Size>, 
{ type Estimate: Estimate<T>; fn previous_estimate(&self) -> &Self::Estimate;
fn set_previous_estimate(&mut self, est: &Self::Estimate);
fn update_stm(
        &mut self,
        new_stm: MatrixMN<f64, <T as State>::Size, <T as State>::Size>
    );
fn update_h_tilde(&mut self, h_tilde: MatrixMN<f64, M, <T as State>::Size>);
fn time_update(
        &mut self,
        nominal_state: T
    ) -> Result<Self::Estimate, NyxError>;
fn measurement_update(
        &mut self,
        nominal_state: T,
        real_obs: &VectorN<f64, M>,
        computed_obs: &VectorN<f64, M>
    ) -> Result<(Self::Estimate, Residual<M>), NyxError>;
fn is_extended(&self) -> bool;
fn set_extended(&mut self, status: bool);
fn set_process_noise(&mut self, snc: SNC<A>); }
Expand description

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

Required methods

Returns the previous estimate

Set the previous estimate

Update the State Transition Matrix (STM). This function must be called in between each call to time_update or measurement_update.

Update the sensitivity matrix (or “H tilde”). This function must be called prior to each call to measurement_update.

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.

Computes the measurement update with a provided real observation and computed observation.

Returns an error if the STM or sensitivity matrices were not updated.

Returns whether the filter is an extended filter (e.g. EKF)

Sets the filter to be extended or not depending on the value of status

Sets the process noise matrix of the estimated state

Implementors

Returns the previous estimate

Update the State Transition Matrix (STM). This function must be called in between each call to time_update or measurement_update.

Update the sensitivity matrix (or “H tilde”). This function must be called prior to each call to measurement_update.

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.

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.

Overwrites all of the process noises to the one provided