Bayes++ Bayesian Filtering Classes
Release 2014.5 - Copyright (c) 2003,2004,2005,2006,2011,2012,2014 Michael Stevens
|
#include <UDFlt.hpp>
Public Member Functions | |
UD_scheme (std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize=0) | |
UD_scheme & | operator= (const UD_scheme &) |
void | init () |
void | update () |
Float | predict (Linrz_predict_model &f) |
Float | observe (Linrz_correlated_observe_model &h, const FM::Vec &z) |
Float | observe (Linrz_uncorrelated_observe_model &h, const FM::Vec &z) |
Float | observe (Linear_correlated_observe_model &h, const FM::Vec &z) |
Float | observe (UD_sequential_observe_model &h, const FM::Vec &z) |
Public Member Functions inherited from Bayesian_filter::Bayes_base | |
virtual | ~Bayes_base ()=0 |
Public Member Functions inherited from Bayesian_filter::Kalman_state_filter | |
Kalman_state_filter (std::size_t x_size) | |
void | init_kalman (const FM::Vec &x, const FM::SymMatrix &X) |
Public Member Functions inherited from Bayesian_filter::State_filter | |
State_filter (std::size_t x_size) | |
Public Attributes | |
FM::Matrix | UD |
FM::Vec | s |
FM::Vec | Sd |
Public Attributes inherited from Bayesian_filter::Kalman_state_filter | |
FM::SymMatrix | X |
Numerical_rcond | rclimit |
Public Attributes inherited from Bayesian_filter::State_filter | |
FM::Vec | x |
Protected Member Functions | |
Float | predictGq (const FM::Matrix &Fx, const FM::Matrix &G, const FM::Vec &q) |
Float | observeUD (FM::Vec &gain, Float &alpha, const FM::Vec &h, const Float r) |
void | observe_size (std::size_t z_size) |
Protected Member Functions inherited from Bayesian_filter::Linrz_kalman_filter | |
Linrz_kalman_filter () | |
Protected Attributes | |
FM::Vec | d |
FM::Vec | dv |
FM::Vec | v |
FM::Vec | a |
FM::Vec | b |
std::size_t | last_z_size |
FM::Vec | h1 |
FM::Vec | w |
FM::Vec | znorm |
FM::Vec | zpdecol |
FM::Matrix | Gz |
FM::Matrix | GIHx |
Additional Inherited Members | |
Public Types inherited from Bayesian_filter::Bayes_base | |
typedef Bayesian_filter_matrix::Float | Float |
Static Public Member Functions inherited from Bayesian_filter::Bayes_base | |
static void | error (const Numeric_exception &a) |
static void | error (const Logic_exception &a) |
Bayesian_filter::UD_scheme::UD_scheme | ( | std::size_t | x_size, |
std::size_t | q_maxsize, | ||
std::size_t | z_initialsize = 0 |
||
) |
References last_z_size, and observe_size().
|
virtual |
|
virtual |
Implements Bayesian_filter::Linrz_filter.
References Bayesian_filter::Bayes_base::error().
|
virtual |
Implements Bayesian_filter::Linrz_filter.
References Bayesian_filter::Numerical_rcond::check_PSD(), Bayesian_filter::Bayes_base::error(), Bayesian_filter::Parametised_observe_model::h(), h1, Bayesian_filter::Jacobian_observe_model::Hx, Bayesian_filter_matrix::noalias(), Bayesian_filter::Parametised_observe_model::normalise(), observe_size(), observeUD(), Bayesian_filter::Kalman_state_filter::rclimit, s, Sd, w, Bayesian_filter::State_filter::x, znorm, and Bayesian_filter::Uncorrelated_additive_observe_model::Zv.
Bayes_base::Float Bayesian_filter::UD_scheme::observe | ( | Linear_correlated_observe_model & | h, |
const FM::Vec & | z | ||
) |
References Bayesian_filter::Numerical_rcond::check_PSD(), GIHx, Gz, Bayesian_filter::Linear_correlated_observe_model::h(), h1, Bayesian_filter::Jacobian_observe_model::Hx, Bayesian_filter_matrix::noalias(), Bayesian_filter::Parametised_observe_model::normalise(), observe_size(), observeUD(), Bayesian_filter::Kalman_state_filter::rclimit, s, Sd, Bayesian_filter_matrix::UdUfactor(), w, Bayesian_filter::State_filter::x, Bayesian_filter::Correlated_additive_observe_model::Z, znorm, and zpdecol.
Bayes_base::Float Bayesian_filter::UD_scheme::observe | ( | UD_sequential_observe_model & | h, |
const FM::Vec & | z | ||
) |
References Bayesian_filter::Numerical_rcond::check_PSD(), Bayesian_filter::Bayes_base::error(), Bayesian_filter::UD_sequential_observe_model::ho(), Bayesian_filter::UD_sequential_observe_model::Hx_o, Bayesian_filter_matrix::noalias(), Bayesian_filter::Parametised_observe_model::normalise(), observe_size(), observeUD(), Bayesian_filter::Kalman_state_filter::rclimit, s, Sd, w, Bayesian_filter::State_filter::x, znorm, and Bayesian_filter::Uncorrelated_additive_observe_model::Zv.
|
protected |
References last_z_size, s, Sd, and znorm.
Referenced by observe(), and UD_scheme().
|
protected |
Linear UD factorisation update Bierman UdU' factorisation update. Bierman p.100 Input h observation coefficients r observation variance Output gain observation Kalman gain alpha observation innovation variance Variables with physical significance gamma becomes covariance of innovation Precondition: UD r is PSD (not checked) Postcondition: UD (see return value) Return: reciprocal condition number of UD, -1 if alpha singular (negative or zero)
References a, b, Bayesian_filter_matrix::noalias(), UD, and Bayesian_filter_matrix::UdUrcond().
Referenced by observe().
|
virtual |
Implements Bayesian_filter::Linrz_filter.
References Bayesian_filter::Numerical_rcond::check_PSD(), Bayesian_filter::Additive_predict_model::f(), Bayesian_filter::Linrz_predict_model::Fx, Bayesian_filter::Additive_predict_model::G, predictGq(), Bayesian_filter::Additive_predict_model::q, Bayesian_filter::Kalman_state_filter::rclimit, and Bayesian_filter::State_filter::x.
|
protected |
References d, dv, Bayesian_filter::Bayes_base::error(), UD, Bayesian_filter_matrix::UdUrcond(), v, and Bayesian_filter::State_filter::x.
Referenced by predict().
|
virtual |
Implements Bayesian_filter::Kalman_state_filter.
References UD, Bayesian_filter_matrix::UdUrecompose(), and Bayesian_filter::Kalman_state_filter::X.
|
protected |
Referenced by observeUD().
|
protected |
Referenced by observeUD().
|
protected |
Referenced by predictGq().
|
protected |
Referenced by predictGq().
|
protected |
Referenced by observe().
|
protected |
Referenced by observe().
|
protected |
Referenced by observe_size(), and UD_scheme().
FM::Vec Bayesian_filter::UD_scheme::s |
Referenced by observe(), and observe_size().
FM::Vec Bayesian_filter::UD_scheme::Sd |
Referenced by observe(), and observe_size().
FM::Matrix Bayesian_filter::UD_scheme::UD |
Referenced by init(), observeUD(), operator=(), predictGq(), and update().
|
protected |
Referenced by predictGq().
|
protected |
Referenced by observe(), and observe_size().