pf
|
A class template for HMM filtering. More...
#include <cf_filters.h>
Public Types | |
using | ssv = Eigen::Matrix< float_t, dimstate, 1 > |
"state size vector" | |
using | osv = Eigen::Matrix< float_t, dimobs, 1 > |
"observation size vector" | |
using | ssMat = Eigen::Matrix< float_t, dimstate, dimstate > |
"state size matrix" | |
![]() | |
using | obs_sized_vec = Eigen::Matrix< float_t, dimobs, 1 > |
using | state_sized_vec = Eigen::Matrix< float_t, dimstate, 1 > |
Public Member Functions | |
hmm () | |
Default constructor. More... | |
hmm (const ssv &initStateDistrLogProbs, const ssMat &transMatLogProbs) | |
Constructor. More... | |
virtual | ~hmm () |
The (virtual) desuctor. | |
float_t | getLogCondLike () const |
Get the latest conditional likelihood. More... | |
ssv | getFilterVecLogProbs () const |
Get the current filter vector. More... | |
void | update (const ssv &logCondDensVec) |
Perform a HMM filter update. More... | |
float_t | log_sum_exp (const ssv &logProbVec) |
log sum exp trick More... | |
ssv | log_product (const ssMat &logTransMat, const ssv &logProbVec) |
![]() | |
virtual | ~cf_filter () |
The (virtual) destructor. | |
Private Attributes | |
ssv | m_filtVecLogProbs |
filter vector | |
ssMat | m_transMatLogProbsTranspose |
transition matrix | |
float_t | m_lastLogCondLike |
last log conditional likelihood | |
bool | m_fresh |
has data been observed? | |
A class template for HMM filtering.
pf::filters::hmm< dimstate, dimobs, float_t, debug >::hmm |
Default constructor.
Need ths fir constructing default std::array<>s. Fills all vectors and matrices with zeros.
pf::filters::hmm< dimstate, dimobs, float_t, debug >::hmm | ( | const ssv & | initStateDistrLogProbs, |
const ssMat & | transMatLogProbs | ||
) |
Constructor.
allows specification of initstate distn and transition matrix.
initStateDistrLogProbs | first time state log prior distribution. |
transMatLogProbs | time homogeneous transition matrix with log probabilities. |
auto pf::filters::hmm< dimstate, dimobs, float_t, debug >::getFilterVecLogProbs |
Get the current filter vector.
get the current filter vector log probs.
|
virtual |
Get the latest conditional likelihood.
Implements pf::bases::cf_filter< dimstate, dimobs, float_t >.
auto pf::filters::hmm< dimstate, dimobs, float_t, debug >::log_product | ( | const ssMat & | logTransMat, |
const ssv & | logProbVec | ||
) |
float_t pf::filters::hmm< dimstate, dimobs, float_t, debug >::log_sum_exp | ( | const ssv & | logProbVec | ) |
log sum exp trick
calculates the log of the sum of the exponentiated elements of a Vector
void pf::filters::hmm< dimstate, dimobs, float_t, debug >::update | ( | const ssv & | logCondDensVec | ) |
Perform a HMM filter update.
Perform a HMM filter update.
logCondDensVec | the vector (in x_t) of log p(y_t|x_t) |