Classes | |
class | sp::KF |
class | sp::EKF |
class | sp::UKF |
Functions | |
sp::KF::KF (arma::uword _N, arma::uword _M, arma::uword _L) | |
sp::KF::~KF () | |
void | sp::KF::clear (void) |
void | sp::KF::set_state_vec (const arma::mat &_x) |
void | sp::KF::set_trans_mat (const arma::mat &_A) |
void | sp::KF::set_control_mat (const arma::mat &_B) |
void | sp::KF::set_meas_mat (const arma::mat &_H) |
void | sp::KF::set_err_cov (const arma::mat &_P) |
void | sp::KF::set_proc_noise (const arma::mat &_Q) |
void | sp::KF::set_meas_noise (const arma::mat &_R) |
void | sp::KF::set_kalman_gain (const arma::mat &_K) |
void | sp::KF::set_trans_fcn (fcn_v _f) |
void | sp::KF::set_meas_fcn (fcn_v _h) |
arma::mat | sp::KF::get_state_vec (void) |
arma::mat | sp::KF::get_err (void) |
arma::mat | sp::KF::get_kalman_gain (void) |
arma::mat | sp::KF::get_err_cov (void) |
void | sp::KF::predict (const arma::mat u) |
void | sp::KF::predict (void) |
void | sp::KF::update (const arma::mat z) |
void | sp::KF::rts_smooth (const arma::mat &Xf, const arma::cube &Pf, arma::mat &Xs, arma::cube &Ps) |
sp::EKF::EKF (arma::uword _N, arma::uword _M, arma::uword _L) | |
void | sp::EKF::set_diff_step (double _dx) |
void | sp::EKF::set_state_jac (fcn_m _f) |
void | sp::EKF::set_meas_jac (fcn_m _h) |
void | sp::EKF::jacobian_diff (arma::mat &_F, fcn_v _f, const arma::mat &_x) |
void | sp::EKF::jacobian_diff (arma::mat &_F, fcn_v _f) |
void | sp::EKF::jacobian_analytical (arma::mat &_F, fcn_m _f_m, const arma::mat &_x) |
void | sp::EKF::jacobian_analytical (arma::mat &_F, fcn_m _f_m) |
void | sp::EKF::predict (const arma::mat u) |
void | sp::EKF::predict (void) |
void | sp::EKF::update (const arma::mat z) |
void | sp::EKF::rts_smooth (const arma::mat &Xf, const arma::cube &Pf, arma::mat &Xs, arma::cube &Ps) |
sp::UKF::UKF (arma::uword _N, arma::uword _M, arma::uword _L) | |
void | sp::UKF::set_alpha (double _a) |
void | sp::UKF::set_beta (double _b) |
void | sp::UKF::set_kappa (double _k) |
void | sp::UKF::set_lambda (double _l) |
void | sp::UKF::update_weights (void) |
void | sp::UKF::update_sigma (const arma::mat &_x, const arma::mat &_P) |
arma::mat | sp::UKF::ut (const arma::mat &_x, const arma::mat &_P, const fcn_v _f) |
void | sp::UKF::predict (const arma::mat u) |
void | sp::UKF::predict (void) |
void | sp::UKF::update (const arma::mat z) |
void | sp::UKF::rts_smooth (const arma::mat &Xf, const arma::cube &Pf, arma::mat &Xs, arma::cube &Ps) |
Variables | |
arma::uword | sp::KF::N |
arma::uword | sp::KF::M |
arma::uword | sp::KF::L |
bool | sp::KF::lin_proc |
bool | sp::KF::lin_meas |
arma::mat | sp::KF::x |
arma::mat | sp::KF::z_err |
arma::mat | sp::KF::A |
arma::mat | sp::KF::B |
arma::mat | sp::KF::H |
arma::mat | sp::KF::P |
arma::mat | sp::KF::Q |
arma::mat | sp::KF::R |
arma::mat | sp::KF::K |
fcn_v | sp::KF::f |
fcn_v | sp::KF::h |
fcn_m | sp::EKF::f_jac |
fcn_m | sp::EKF::h_jac |
double | sp::EKF::dx |
double | sp::UKF::alpha |
double | sp::UKF::beta |
double | sp::UKF::kappa |
double | sp::UKF::lambda |
arma::mat | sp::UKF::X |
arma::mat | sp::UKF::S |
arma::mat | sp::UKF::C |
arma::vec | sp::UKF::Wx |
arma::vec | sp::UKF::Wp |
|
inline |
|
inline |
|
inline |
Definition at line 238 of file kalman.h.
References sp::KF::z_err.
Referenced by main().
|
inline |
Definition at line 240 of file kalman.h.
References sp::KF::P.
Referenced by main().
|
inline |
Definition at line 239 of file kalman.h.
References sp::KF::K.
Referenced by main().
|
inline |
Definition at line 237 of file kalman.h.
References sp::KF::x.
Referenced by main().
|
inline |
Evaluate Jacobian matrix using analytical jacobian.
_F | Jacobian matrix d/dx evaluated at x |
_f_m | Jacobian function matrix |
_x | State vector |
Definition at line 406 of file kalman.h.
References err_handler.
|
inline |
|
inline |
Calculate and evaluate Jacobian matrix using finite difference approximation.
_F | Jacobian matrix d/dx evaluated at x |
_f | Function vector [ f0(x,u,w) ... fN(x,u,w)] |
_x | State vector |
Alternative: Complex Step Diff: http://blogs.mathworks.com/cleve/2013/10/14/complex-step-differentiation/
Definition at line 367 of file kalman.h.
References err_handler.
|
inline |
|
inline |
|
inline |
Predict the internal states using a control input.
u | Input/control signal |
Definition at line 246 of file kalman.h.
References sp::KF::Q.
Referenced by main().
|
inline |
Predict the internal states, no control.
Definition at line 255 of file kalman.h.
Referenced by sp::EKF::predict(), and sp::UKF::predict().
|
inline |
Predict the internal states using a control input.
u | Input/control signal |
Definition at line 436 of file kalman.h.
References sp::KF::A, sp::KF::B, sp::eval_fcn(), sp::KF::f, sp::KF::lin_proc, sp::KF::P, sp::KF::Q, and sp::KF::x.
|
inline |
Predict the internal states, no control.
Definition at line 459 of file kalman.h.
References sp::KF::L, and sp::KF::predict().
|
inline |
|
inline |
Predict the internal states, no control. Convenient function.
Definition at line 692 of file kalman.h.
References sp::KF::L, and sp::KF::predict().
|
inline |
Rauch-Tung-Striebel smoother. See http://www.lce.hut.fi/~ssarkka/course_k2011/pdf/course_booklet_2011.pdf.
Definition at line 283 of file kalman.h.
References sp::KF::Q.
Referenced by main().
|
inline |
Rauch-Tung-Striebel smoother. See http://www.lce.hut.fi/~ssarkka/course_k2011/pdf/course_booklet_2011.pdf.
Definition at line 505 of file kalman.h.
References sp::KF::A, sp::eval_fcn(), sp::KF::f, sp::KF::lin_proc, sp::KF::N, and sp::KF::Q.
|
inline |
Rauch-Tung-Striebel smoother. See http://www.lce.hut.fi/~ssarkka/course_k2011/pdf/course_booklet_2011.pdf.
Definition at line 744 of file kalman.h.
References sp::KF::A, sp::KF::f, sp::KF::lin_proc, sp::KF::N, and sp::KF::Q.
Referenced by main().
|
inline |
|
inline |
Definition at line 210 of file kalman.h.
Referenced by main().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 218 of file kalman.h.
Referenced by main().
|
inline |
Definition at line 214 of file kalman.h.
Referenced by main().
|
inline |
Definition at line 197 of file kalman.h.
Referenced by main().
|
inline |
Definition at line 198 of file kalman.h.
Referenced by main().
|
inline |
|
inline |
Correct and update the internal states.
Definition at line 264 of file kalman.h.
References sp::KF::N, sp::KF::R, sp::KF::x, and sp::KF::z_err.
Referenced by main().
|
inline |
Correct and update the internal states. EKF.
Definition at line 468 of file kalman.h.
References sp::eval_fcn(), sp::KF::H, sp::KF::h, sp::KF::K, sp::KF::lin_meas, sp::KF::M, sp::KF::N, sp::KF::P, sp::KF::R, sp::KF::x, and sp::KF::z_err.
|
inline |
Correct and update the internal states. UKF.
Definition at line 701 of file kalman.h.
References sp::KF::H, sp::KF::h, sp::KF::K, sp::KF::lin_meas, sp::KF::M, sp::KF::N, sp::KF::P, sp::KF::R, sp::KF::x, and sp::KF::z_err.
Referenced by main().
|
inline |
|
inline |
|
inline |
Calculate unscented transform.
Definition at line 636 of file kalman.h.
References sp::eval_fcn(), and sp::KF::N.
|
protected |
State transition matrix.
Definition at line 139 of file kalman.h.
Referenced by sp::EKF::predict(), sp::UKF::predict(), sp::EKF::rts_smooth(), and sp::UKF::rts_smooth().
|
protected |
|
protected |
Input matrix.
Definition at line 140 of file kalman.h.
Referenced by sp::EKF::predict(), and sp::UKF::predict().
|
protected |
|
protected |
|
protected |
|
protected |
Vector of Kalman state transition functions.
Definition at line 146 of file kalman.h.
Referenced by sp::EKF::predict(), sp::UKF::predict(), sp::EKF::rts_smooth(), and sp::UKF::rts_smooth().
|
protected |
|
protected |
Measurement matrix.
Definition at line 141 of file kalman.h.
Referenced by sp::EKF::update(), and sp::UKF::update().
|
protected |
Vector of Kalman measurement functions.
Definition at line 147 of file kalman.h.
Referenced by sp::EKF::update(), and sp::UKF::update().
|
protected |
|
protected |
Kalman gain vector.
Definition at line 145 of file kalman.h.
Referenced by sp::KF::get_kalman_gain(), sp::EKF::update(), and sp::UKF::update().
|
protected |
Number of measurements/observations.
Definition at line 134 of file kalman.h.
Referenced by sp::EKF::predict(), and sp::UKF::predict().
|
protected |
Linearity flag for measurement.
Definition at line 136 of file kalman.h.
Referenced by sp::EKF::update(), and sp::UKF::update().
|
protected |
Linearity flag for process.
Definition at line 135 of file kalman.h.
Referenced by sp::EKF::predict(), sp::UKF::predict(), sp::EKF::rts_smooth(), and sp::UKF::rts_smooth().
|
protected |
Number of inputs.
Definition at line 133 of file kalman.h.
Referenced by sp::EKF::update(), and sp::UKF::update().
|
protected |
Number of states.
Definition at line 132 of file kalman.h.
Referenced by sp::EKF::rts_smooth(), sp::UKF::rts_smooth(), sp::KF::update(), sp::EKF::update(), sp::UKF::update(), sp::UKF::update_sigma(), sp::UKF::update_weights(), and sp::UKF::ut().
|
protected |
Error covariance matrix (estimated accuracy)
Definition at line 142 of file kalman.h.
Referenced by sp::KF::get_err_cov(), sp::EKF::predict(), sp::UKF::predict(), sp::EKF::update(), and sp::UKF::update().
|
protected |
Process noise.
Definition at line 143 of file kalman.h.
Referenced by sp::KF::predict(), sp::EKF::predict(), sp::UKF::predict(), sp::KF::rts_smooth(), sp::EKF::rts_smooth(), and sp::UKF::rts_smooth().
|
protected |
Measurement noise.
Definition at line 144 of file kalman.h.
Referenced by sp::KF::update(), sp::EKF::update(), and sp::UKF::update().
|
protected |
State vector.
Definition at line 137 of file kalman.h.
Referenced by sp::KF::get_state_vec(), sp::EKF::jacobian_analytical(), sp::EKF::jacobian_diff(), sp::EKF::predict(), sp::UKF::predict(), sp::KF::update(), sp::EKF::update(), and sp::UKF::update().
|
protected |
Prediction error.
Definition at line 138 of file kalman.h.
Referenced by sp::KF::get_err(), sp::KF::update(), sp::EKF::update(), and sp::UKF::update().