Sample EKFilter implementation class, very brief. More...
Protected Member Functions | |
void | makeMeasure () |
Actual measurement function ![]() | |
void | makeProcess () |
Actual process ![]() | |
![]() | |
void | NoModification () |
Allows optimizations on some calculations. More... | |
virtual void | sizeUpdate () |
Resizes all vector and matrices. Never call or overload this ! More... | |
virtual void | makeBaseA () |
Virtual pre-creator of A. More... | |
virtual void | makeBaseW () |
Virtual pre-creator of W. More... | |
virtual void | makeBaseQ () |
Virtual pre-creator of Q. More... | |
virtual void | makeBaseH () |
Virtual pre-creator of H. More... | |
virtual void | makeBaseV () |
Virtual pre-creator of V. More... | |
virtual void | makeBaseR () |
Virtual pre-creator of R. More... | |
virtual void | makeCommonProcess () |
Optional function used to precalculate common values for process. More... | |
virtual void | makeA () |
Virtual creator of A. More... | |
virtual void | makeW () |
Virtual creator of W. More... | |
virtual void | makeQ () |
Virtual creator of Q. More... | |
virtual void | makeCommonMeasure () |
Optional function used to precalculate common values for measurement. More... | |
virtual void | makeH () |
Virtual creator of H. More... | |
virtual void | makeV () |
Virtual creator of V. More... | |
virtual void | makeR () |
Virtual creator of R. More... | |
virtual void | makeDZ () |
Hook-up function to modify innovation vector. More... | |
Additional Inherited Members | |
![]() | |
enum | { beg = BEG } |
typedef KMatrix< T, BEG, DBG > | Matrix |
Matrix type. More... | |
typedef T | type |
Type of objects contained in matrices and vectors. More... | |
typedef KVector< T, BEG, DBG > | Vector |
Vector type. More... | |
![]() | |
void | init (Vector &x_, Matrix &P_) |
Sets initial conditions for the Kalman Filter. More... | |
EKFilter () | |
Default constructor. More... | |
EKFilter (K_UINT_32 n_, K_UINT_32 nu_, K_UINT_32 nw_, K_UINT_32 m_, K_UINT_32 nv_) | |
Constructors specifying all necessary matrix and vector dimensions. More... | |
virtual | ~EKFilter () |
Virtual destructor. More... | |
K_UINT_32 | getSizeX () const |
Returns the size of the state vector. More... | |
K_UINT_32 | getSizeU () const |
Returns the size of the input vector. More... | |
K_UINT_32 | getSizeW () const |
Returns the size of the process noise vector. More... | |
K_UINT_32 | getSizeZ () const |
Returns the size of the measurement vector. More... | |
K_UINT_32 | getSizeV () const |
Returns the size of the measurement noise vector. More... | |
void | setDim (K_UINT_32 n_, K_UINT_32 nu_, K_UINT_32 nw_, K_UINT_32 m_, K_UINT_32 nv_) |
Sets all dimensions at once. More... | |
void | setSizeX (K_UINT_32 n_) |
Sets the size of the state vector. More... | |
void | setSizeU (K_UINT_32 nu_) |
Sets the size of the input vector. More... | |
void | setSizeW (K_UINT_32 nw_) |
Sets the size of the process noise vector. More... | |
void | setSizeZ (K_UINT_32 m_) |
Sets the size of the measurement vector. More... | |
void | setSizeV (K_UINT_32 nv_) |
Sets the size of the measurement noise vector. More... | |
void | step (Vector &u_, const Vector &z_) |
Makes one prediction-correction step. More... | |
void | timeUpdateStep (Vector &u_) |
Makes one prediction step. More... | |
void | measureUpdateStep (const Vector &z_) |
Makes one correction step. More... | |
const Vector & | predict (Vector &u_) |
Returns the predicted state vector (a priori state estimate). More... | |
const Vector & | simulate () |
Returns the predicted measurement vector. More... | |
const Vector & | getX () const |
Returns the corrected state (a posteriori state estimate). More... | |
const Matrix & | calculateP () const |
Returns the a posteriori error covariance estimate matrix. More... | |
![]() | |
Vector | x |
Corrected state vector. More... | |
Vector | u |
Input vector. More... | |
Vector | z |
Predicted measurement vector. More... | |
Vector | dz |
Innovation vector. More... | |
Matrix | A |
A jacobian matrix. More... | |
Matrix | W |
A jacobian matrix. More... | |
Matrix | Q |
Process noise covariance matrix. More... | |
Matrix | H |
A jacobian matrix. More... | |
Matrix | V |
A jacobian matrix. More... | |
Matrix | R |
Measurement noise covariance matrix. More... | |
K_UINT_32 | n |
Size of the state vector. More... | |
K_UINT_32 | nu |
Size of the input vector. More... | |
K_UINT_32 | nw |
Size of the process noise vector. More... | |
K_UINT_32 | m |
Size of the measurement vector. More... | |
K_UINT_32 | nv |
Size of the measurement noise vector. More... | |
Sample EKFilter implementation class, very brief.
Definition at line 10 of file ekfilter.cpp.
|
inlineprotectedvirtual |
Actual measurement function . Fills in z.
This function must be overridden, since it is the core of the measurement system. At the time this will be called, x contains the predicted state (a priori state estimate), which is the one that must be used with the measurement function.
simulate()
, which does a calculation and then undoes it before returning the result. Implements Kalman::EKFilter< T, BEG, OQ, OVR, DBG >.
Definition at line 12 of file ekfilter.cpp.
|
inlineprotectedvirtual |
Actual process . Fills in new x by using old x.
This function must be overridden, since it is the core of the system process.
predict()
, which does a calculation and then undoes it before returning the result. Implements Kalman::EKFilter< T, BEG, OQ, OVR, DBG >.
Definition at line 13 of file ekfilter.cpp.