|
pf
|
A class template for Kalman filtering. More...
#include <cf_filters.h>


Public Types | |
| using | ssv = Eigen::Matrix< float_t, dimstate, 1 > |
| using | osv = Eigen::Matrix< float_t, dimobs, 1 > |
| using | isv = Eigen::Matrix< float_t, diminput, 1 > |
| using | ssMat = Eigen::Matrix< float_t, dimstate, dimstate > |
| using | osMat = Eigen::Matrix< float_t, dimobs, dimobs > |
| using | siMat = Eigen::Matrix< float_t, dimstate, diminput > |
| using | oiMat = Eigen::Matrix< float_t, dimobs, diminput > |
| using | obsStateSizeMat = Eigen::Matrix< float_t, dimobs, dimstate > |
| using | stateObsSizeMat = Eigen::Matrix< float_t, dimstate, dimobs > |
Public Types inherited from pf::bases::cf_filter< dimstate, dimobs, float_t > | |
| using | obs_sized_vec = Eigen::Matrix< float_t, dimobs, 1 > |
| using | state_sized_vec = Eigen::Matrix< float_t, dimstate, 1 > |
Public Member Functions | |
| kalman () | |
| Default constructor. More... | |
| kalman (const ssv &initStateMean, const ssMat &initStateVar) | |
| Non-default constructor. More... | |
| virtual | ~kalman () |
| The (virtual) destructor. | |
| float_t | getLogCondLike () const |
| returns the log of the latest conditional likelihood. More... | |
| ssv | getFiltMean () const |
| Get the current filter mean. More... | |
| ssMat | getFiltVar () const |
| Get the current filter variance-covariance matrix. More... | |
| osv | getPredYMean (const ssMat &stateTrans, const obsStateSizeMat &obsMat, const siMat &stateInptAffector, const oiMat &obsInptAffector, const isv &inputData) const |
| get the one-step-ahead point forecast for y More... | |
| osMat | getPredYVar (const ssMat &stateTrans, const ssMat &cholStateVar, const obsStateSizeMat &obsMat, const osMat &cholObsVar) const |
| get the one-step-ahead forecast variance More... | |
| void | update (const osv &yt, const ssMat &stateTrans, const ssMat &cholStateVar, const siMat &stateInptAffector, const isv &inputData, const obsStateSizeMat &obsMat, const oiMat &obsInptAffector, const osMat &cholObsVar) |
| Perform a Kalman filter predict-and-update. More... | |
Public Member Functions inherited from pf::bases::cf_filter< dimstate, dimobs, float_t > | |
| virtual | ~cf_filter () |
| The (virtual) destructor. | |
Private Member Functions | |
| void | updatePrior (const ssMat &stateTransMat, const ssMat &cholStateVar, const siMat &stateInptAffector, const isv &inputData) |
| Predicts the next state. More... | |
| void | updatePosterior (const osv &yt, const obsStateSizeMat &obsMat, const oiMat &obsInptAffector, const isv &inputData, const osMat &cholObsVar) |
| Turns prediction into new filtering distribution. More... | |
Private Attributes | |
| ssv | m_predMean |
| predictive state mean | |
| ssv | m_filtMean |
| filter mean | |
| ssMat | m_predVar |
| predictive var matrix | |
| ssMat | m_filtVar |
| filter var matrix | |
| float_t | m_lastLogCondLike |
| latest log conditional likelihood | |
| bool | m_fresh |
| has data been observed? | |
| const float_t | m_pi |
| pi | |
A class template for Kalman filtering.
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::isv = Eigen::Matrix<float_t,diminput,1> |
"input size vector" type alias for linear algebra stuff
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::obsStateSizeMat = Eigen::Matrix<float_t,dimobs,dimstate> |
"observation dimension by state dimension -sized matrix"
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::oiMat = Eigen::Matrix<float_t,dimobs,diminput> |
"observation dimension by input dim matrix"
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::osMat = Eigen::Matrix<float_t,dimobs,dimobs> |
"observation size matrix" type alias for linear algebra stuff
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::osv = Eigen::Matrix<float_t,dimobs,1> |
"observation size vector" type alias for linear algebra stuff
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::siMat = Eigen::Matrix<float_t,dimstate,diminput> |
"state dim by input dimension matrix"
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::ssMat = Eigen::Matrix<float_t,dimstate,dimstate> |
"state size matrix" type alias for linear algebra stuff
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::ssv = Eigen::Matrix<float_t,dimstate,1> |
"state size vector" type alias for linear algebra stuff
| using pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::stateObsSizeMat = Eigen::Matrix<float_t,dimstate,dimobs> |
"state dimension by observation dimension matrix
| pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::kalman |
Default constructor.
Need ths fir constructing default std::array<>s. Fills all vectors and matrices with zeros.
| pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::kalman | ( | const ssv & | initStateMean, |
| const ssMat & | initStateVar | ||
| ) |
Non-default constructor.
Non-default constructor.
| auto pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::getFiltMean |
Get the current filter mean.
| auto pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::getFiltVar |
Get the current filter variance-covariance matrix.
|
virtual |
returns the log of the latest conditional likelihood.
Implements pf::bases::cf_filter< dimstate, dimobs, float_t >.
| auto pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::getPredYMean | ( | const ssMat & | stateTrans, |
| const obsStateSizeMat & | obsMat, | ||
| const siMat & | stateInptAffector, | ||
| const oiMat & | obsInptAffector, | ||
| const isv & | inputData | ||
| ) | const |
get the one-step-ahead point forecast for y
| auto pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::getPredYVar | ( | const ssMat & | stateTrans, |
| const ssMat & | cholStateVar, | ||
| const obsStateSizeMat & | obsMat, | ||
| const osMat & | cholObsVar | ||
| ) | const |
get the one-step-ahead forecast variance
| void pf::filters::kalman< dimstate, dimobs, diminput, float_t, debug >::update | ( | const osv & | yt, |
| const ssMat & | stateTrans, | ||
| const ssMat & | cholStateVar, | ||
| const siMat & | stateInptAffector, | ||
| const isv & | inputData, | ||
| const obsStateSizeMat & | obsMat, | ||
| const oiMat & | obsInptAffector, | ||
| const osMat & | cholObsVar | ||
| ) |
Perform a Kalman filter predict-and-update.
| yt | the new data point. |
| stateTrans | the transition matrix of the state |
| cholStateVar | the Cholesky Decomposition of the state noise covariance matrix. |
| stateInptAffector | the matrix affecting how input data affects state transition. |
| inputData | exogenous input data |
| obsMat | the observation/emission matrix of the observation's conditional (on the state) distn. |
| obsInptAffector | the matrix affecting how input data affects the observational distribution. |
| cholObsVar | the Cholesky Decomposition of the observatio noise covariance matrix. |
|
private |
Turns prediction into new filtering distribution.
| yt | |
| obsMat | |
| obsInptAffector | |
| inputData | |
| cholObsVar |
|
private |
Predicts the next state.
| stateTransMat | |
| cholStateVar | |
| stateInptAffector | |
| inputData |