Class UDUStochasticCloningEKF

Inheritance Relationships

Base Type

Class Documentation

class UDUStochasticCloningEKF : public lupnt::UDUEKF

UDU EKF with one-step stochastic cloning for time-differenced measurements.

The filter state is [x_current; x_previous]. During Predict, the first block is propagated from t_{k-1} to t_k, while the second block is set to the previous posterior current state. This lets measurement functions build rows that depend on both the current and previous receiver state, such as TDCP.

Public Functions

UDUStochasticCloningEKF() = default
inline explicit UDUStochasticCloningEKF(Config &config)
~UDUStochasticCloningEKF() override = default
void SetBaseStateSize(int base_state_size)
inline int GetBaseStateSize() const
virtual void SetState(const State &x) override

Initialize the state estimate x_ (and prior/posterior copies) at filter setup.

Called once by application setup code before the estimation loop begins. Overridden by UDUEKF::SetCovariance’s sibling (see SetCovariance) but SetState itself is not specialized by the UD filter.

Parameters:

x – Initial state estimate

virtual void SetCovariance(const MatXd &P) override

Set the initial state covariance P_ (via Filter::SetCovariance) and immediately factor it into U_/D_diag_ via SetUd.

virtual void Predict(Real t, const State *u = nullptr) override

UDU-filter predict step: same propagation as EKF::Predict (state via f_dyn_/F_, process noise Q_ via f_proc_), but reconstructs P_ from U_/D_diag_ before propagation and refactors the result back into U_/D_diag_ via SetUd afterward.

inline State GetCurrentState() const
inline MatXd GetCurrentCovariance() const