Extended Kalman Filter (EKF) implementation. More...
#include <Kalman.h>
Public Member Functions | |
KalmanEkf (int _n) | |
~KalmanEkf () | |
Protected Member Functions | |
virtual void | f (CvMat *_x, CvMat *_x_pred, double dt)=0 |
virtual void | predict_x (unsigned long tick) |
virtual void | update_F (unsigned long tick) |
Protected Attributes | |
CvMat * | delta |
CvMat * | x_minus |
CvMat * | x_plus |
CvMat * | x_tmp1 |
CvMat * | x_tmp2 |
Extended Kalman Filter (EKF) implementation.
Please override the pure virtual f() with the desired unlinear function. By default the upate_F calculates the Jacobian numerically, if you want other approach override also the update_F()
alvar::KalmanEkf::KalmanEkf | ( | int | _n | ) |
Definition at line 281 of file Kalman.cpp.
Definition at line 289 of file Kalman.cpp.
virtual void alvar::KalmanEkf::f | ( | CvMat * | _x, |
CvMat * | _x_pred, | ||
double | dt | ||
) | [protected, pure virtual] |
Implemented in KalmanOwn.
void alvar::KalmanEkf::predict_x | ( | unsigned long | tick | ) | [protected, virtual] |
Reimplemented from alvar::KalmanCore.
Definition at line 276 of file Kalman.cpp.
void alvar::KalmanEkf::update_F | ( | unsigned long | tick | ) | [protected, virtual] |
If your transition matrix F is based on time you need to override this method.
Reimplemented from alvar::Kalman.
Definition at line 253 of file Kalman.cpp.
CvMat* alvar::KalmanEkf::delta [protected] |
CvMat* alvar::KalmanEkf::x_minus [protected] |
CvMat* alvar::KalmanEkf::x_plus [protected] |
CvMat* alvar::KalmanEkf::x_tmp1 [protected] |
CvMat* alvar::KalmanEkf::x_tmp2 [protected] |