|
Jafar
|
Base class for kalman filters. More...
Base class for kalman filters.
It defines common attributes of such filters.
Definition at line 29 of file kalmanFilter.hpp.
#include <kalmanFilter.hpp>

Public Types | |
| enum | CovUpdateType { SIMPLE, STANDARD, JOSEPH } |
| Different kind of covariance update (Bar-Shalom p294) More... | |
| enum | ConsistencyCheckLevel { CONSISTENCY_NONE, CONSISTENCY_WARNING, CONSISTENCY_EXCEPTION } |
| Different level of consistency check. More... | |
Public Member Functions | |
| BaseKalmanFilter (std::size_t size_) | |
| Create a kalman filter. | |
| jblas::vec const & | getX () const |
| jblas::vec & | getX () |
| jblas::sym_mat const & | getP () const |
| jblas::sym_mat & | getP () |
| void | clear () |
| clear the state vector and the covariance matrix | |
|
boost::posix_time::time_duration const & | getCurrentTime () const |
| void | setCovUpdateType (CovUpdateType covUpdateType_) |
| CovUpdateType | getCovUpdateType () const |
| void | setupConsistencyCheck (ConsistencyCheckLevel level_, double chi2Threshold_) |
| ConsistencyCheckLevel | getConsistencyCheckLevel () const |
| double | getChi2Threshold () const |
| void | init (const jblas::vec &state_, const jblas::sym_mat &cov_, boost::posix_time::time_duration const &curTime) |
Init the filter with state_ and covariance cov_ and curTime. | |
| void | init (const jblas::vec &state_, const jblas::sym_mat &cov_) |
| Init the filter with state_ and covariance cov_, current time is set to 0. | |
| void | init (boost::posix_time::time_duration const &curTime) |
Init the filter at curTime, state is set to zero. | |
| virtual std::size_t | sizeState () const |
Protected Member Functions | |
| template<class Vec > | |
| void | checkConsistency (Vec const &y, jblas::sym_mat const &Sinv) |
| Check the consistency of an update. | |
| void | checkConsistency (double y, double Sinv) |
| template<typename YType , typename SinvType > | |
| void | checkConsistency (YType y, SinvType Sinv, double ySiy) |
| void | writeLogHeader (jafar::kernel::DataLogger &log) const |
| Implements this method calling repeatidly log methods. | |
| void | writeLogData (jafar::kernel::DataLogger &log) const |
| Implements this method calling repeatidly log methods. | |
Protected Attributes | |
| CovUpdateType | covUpdateType |
| the covariance update method | |
| jblas::vec | x |
| state vector of the filter | |
| jblas::sym_mat | P |
| covariance matrix of the state vector | |
| boost::posix_time::time_duration | p_curTime |
| filter current time. | |
| jblas::mat | K |
| Kalman gain for mono dimension update. | |
| jblas::mat | KH_tmp |
| preallocated matrix to speed-up computation (used by Joseph update, and simple update) | |
| ConsistencyCheckLevel | consistencyCheckLevel |
| whether the consistency is checked | |
| double | chi2Threshold |
| consistency threshold | |
Different level of consistency check.
| CONSISTENCY_NONE |
no check |
| CONSISTENCY_WARNING |
send a warning to the output |
| CONSISTENCY_EXCEPTION |
throw a filter exception with id=INCONSISTENT_UPDATE |
Definition at line 44 of file kalmanFilter.hpp.
Different kind of covariance update (Bar-Shalom p294)
Definition at line 34 of file kalmanFilter.hpp.
| jafar::filter::BaseKalmanFilter::BaseKalmanFilter | ( | std::size_t | size_ | ) |
Create a kalman filter.
| size_ | The size of the state |
| void jafar::filter::BaseKalmanFilter::checkConsistency | ( | Vec const & | y, |
| jblas::sym_mat const & | Sinv | ||
| ) | [inline, protected] |
Check the consistency of an update.
Innovation y is a centered gaussian distribution with covariance S.
Definition at line 78 of file kalmanFilter.hpp.
References CONSISTENCY_NONE, consistencyCheckLevel, and JFR_PRECOND.
| virtual std::size_t jafar::filter::BaseKalmanFilter::sizeState | ( | ) | const [inline, virtual] |
Reimplemented in jafar::filter::BlockExtendedKalmanFilter.
Definition at line 179 of file kalmanFilter.hpp.
References x.
| void jafar::filter::BaseKalmanFilter::writeLogData | ( | jafar::kernel::DataLogger & | log | ) | const [protected, virtual] |
Implements this method calling repeatidly log methods.
You should use writeData() or writeDataVector().
Implements jafar::kernel::DataLoggable.
| void jafar::filter::BaseKalmanFilter::writeLogHeader | ( | jafar::kernel::DataLogger & | log | ) | const [protected, virtual] |
Implements this method calling repeatidly log methods.
You should use writeComment(), writeLegend() or writeLegendTokens().
Implements jafar::kernel::DataLoggable.
double jafar::filter::BaseKalmanFilter::chi2Threshold [protected] |
| Generated on Wed Oct 15 2014 00:37:36 for Jafar by doxygen 1.7.6.1 |
|