#include <kalman.h>
Public Member Functions | |
UKF (arma::uword _N, arma::uword _M, arma::uword _L) | |
void | set_alpha (double _a) |
void | set_beta (double _b) |
void | set_kappa (double _k) |
void | set_lambda (double _l) |
void | update_weights (void) |
void | update_sigma (const arma::mat &_x, const arma::mat &_P) |
arma::mat | ut (const arma::mat &_x, const arma::mat &_P, const fcn_v _f) |
void | predict (const arma::mat u) |
void | predict (void) |
void | update (const arma::mat z) |
void | rts_smooth (const arma::mat &Xf, const arma::cube &Pf, arma::mat &Xs, arma::cube &Ps) |
Public Member Functions inherited from sp::KF | |
KF (arma::uword _N, arma::uword _M, arma::uword _L) | |
~KF () | |
void | clear (void) |
void | set_state_vec (const arma::mat &_x) |
void | set_trans_mat (const arma::mat &_A) |
void | set_control_mat (const arma::mat &_B) |
void | set_meas_mat (const arma::mat &_H) |
void | set_err_cov (const arma::mat &_P) |
void | set_proc_noise (const arma::mat &_Q) |
void | set_meas_noise (const arma::mat &_R) |
void | set_kalman_gain (const arma::mat &_K) |
void | set_trans_fcn (fcn_v _f) |
void | set_meas_fcn (fcn_v _h) |
arma::mat | get_state_vec (void) |
arma::mat | get_err (void) |
arma::mat | get_kalman_gain (void) |
arma::mat | get_err_cov (void) |
void | predict (const arma::mat u) |
void | predict (void) |
void | update (const arma::mat z) |
void | rts_smooth (const arma::mat &Xf, const arma::cube &Pf, arma::mat &Xs, arma::cube &Ps) |
Protected Attributes | |
double | alpha |
double | beta |
double | kappa |
double | lambda |
arma::mat | X |
arma::mat | S |
arma::mat | C |
arma::vec | Wx |
arma::vec | Wp |
Protected Attributes inherited from sp::KF | |
arma::uword | N |
arma::uword | M |
arma::uword | L |
bool | lin_proc |
bool | lin_meas |
arma::mat | x |
arma::mat | z_err |
arma::mat | A |
arma::mat | B |
arma::mat | H |
arma::mat | P |
arma::mat | Q |
arma::mat | R |
arma::mat | K |
fcn_v | f |
fcn_v | h |
Implements Kalman functions for the discrete system with additive noise
\[ x_k = f(x_{k-1})+Bu_{k-1} + w_{k-1} \]
and with measurements
\[ z_k = h(x_k) + v_k \]
where f(x) and h(x) may be nonlinear functions.
The predict and update stage is using the unscented transform of the sigma points of the input and/or the measurements.
For detailed info see: http://www.lce.hut.fi/~ssarkka/course_k2011/pdf/course_booklet_2011.pdf