Particle filter using EKF for proposal step. More...
#include <EKparticlefilter.h>

Public Member Functions | |
| EKParticleFilter (MCPdf< ColumnVector > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
| Constructor. | |
| virtual | ~EKParticleFilter () |
| Destructor. | |
Protected Member Functions | |
| virtual bool | ProposalStepInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| virtual bool | Resample () |
| Resample also redefined for the same reasons... | |
| virtual bool | UpdateInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
Protected Attributes | |
| std::vector< SymmetricMatrix > ::iterator | _cov_it |
| std::vector< double > | _CumPDF |
| std::vector< double > ::const_iterator | _CumPDFit |
| const int | _dimension |
| const int | _num_samples |
| std::vector< WeightedSample < ColumnVector > >::iterator | _oit |
| std::vector< WeightedSample < ColumnVector > > | _old_samples |
| While updating store list of old samples. | |
| std::vector< WeightedSample < ColumnVector > > | _result_samples |
| std::vector< WeightedSample < ColumnVector > >::iterator | _rit |
| Sample< ColumnVector > | _sample |
| While updating use sample<StateVar> | |
| std::vector< SymmetricMatrix > | _sampleCov |
| Sample Covariances for use with EKF Proposal density. | |
| std::vector< SymmetricMatrix > | _tmpCov |
| std::vector< SymmetricMatrix > ::iterator | _tmpCovit |
| std::vector< double > | _unif_samples |
| ColumnVector | _x_old |
Particle filter using EKF for proposal step.
NOTE: Only applicable to continuous problems with additive gaussian noise, so the models you specify ... specify should by
Definition at line 35 of file EKparticlefilter.h.
| BFL::EKParticleFilter::EKParticleFilter | ( | MCPdf< ColumnVector > * | prior, |
| int | resampleperiod = 0, |
||
| double | resamplethreshold = 0, |
||
| int | resamplescheme = DEFAULT_RS |
||
| ) |
Constructor.
| prior | pointer to the Monte Carlo Pdf prior density |
| resampleperiod | fixed resampling period (if desired) |
| resamplethreshold | threshold used when dynamic resampling |
| resamplescheme | resampling scheme, see header file for different defines and their meaning |
Definition at line 26 of file EKparticlefilter.cpp.
| BFL::EKParticleFilter::~EKParticleFilter | ( | ) | [virtual] |
Destructor.
Definition at line 50 of file EKparticlefilter.cpp.
| bool BFL::EKParticleFilter::ProposalStepInternal | ( | SystemModel< ColumnVector > *const | sysmodel, |
| const ColumnVector & | u, | ||
| MeasurementModel< ColumnVector, ColumnVector > *const | measmodel, | ||
| const ColumnVector & | z, | ||
| const ColumnVector & | s | ||
| ) | [protected, virtual] |
Proposalstep is redefined here since we have to take into account the sample covariances here!
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 117 of file EKparticlefilter.cpp.
| bool BFL::EKParticleFilter::Resample | ( | ) | [protected, virtual] |
Resample also redefined for the same reasons...
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 76 of file EKparticlefilter.cpp.
| bool BFL::EKParticleFilter::UpdateInternal | ( | SystemModel< ColumnVector > *const | sysmodel, |
| const ColumnVector & | u, | ||
| MeasurementModel< ColumnVector, ColumnVector > *const | measmodel, | ||
| const ColumnVector & | z, | ||
| const ColumnVector & | s | ||
| ) | [protected, virtual] |
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 57 of file EKparticlefilter.cpp.
std::vector<SymmetricMatrix>::iterator BFL::EKParticleFilter::_cov_it [protected] |
Definition at line 41 of file EKparticlefilter.h.
std::vector<double> BFL::EKParticleFilter::_CumPDF [protected] |
Definition at line 54 of file EKparticlefilter.h.
std::vector<double>::const_iterator BFL::EKParticleFilter::_CumPDFit [protected] |
Definition at line 55 of file EKparticlefilter.h.
const int BFL::EKParticleFilter::_dimension [protected] |
Definition at line 47 of file EKparticlefilter.h.
const int BFL::EKParticleFilter::_num_samples [protected] |
Definition at line 48 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> >::iterator BFL::EKParticleFilter::_oit [protected] |
Definition at line 50 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> > BFL::EKParticleFilter::_old_samples [protected] |
While updating store list of old samples.
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 49 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> > BFL::EKParticleFilter::_result_samples [protected] |
Definition at line 51 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> >::iterator BFL::EKParticleFilter::_rit [protected] |
Definition at line 52 of file EKparticlefilter.h.
Sample<ColumnVector> BFL::EKParticleFilter::_sample [protected] |
While updating use sample<StateVar>
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 57 of file EKparticlefilter.h.
std::vector<SymmetricMatrix> BFL::EKParticleFilter::_sampleCov [protected] |
Sample Covariances for use with EKF Proposal density.
Definition at line 40 of file EKparticlefilter.h.
std::vector<SymmetricMatrix> BFL::EKParticleFilter::_tmpCov [protected] |
Definition at line 43 of file EKparticlefilter.h.
std::vector<SymmetricMatrix>::iterator BFL::EKParticleFilter::_tmpCovit [protected] |
Definition at line 44 of file EKparticlefilter.h.
std::vector<double> BFL::EKParticleFilter::_unif_samples [protected] |
Definition at line 53 of file EKparticlefilter.h.
ColumnVector BFL::EKParticleFilter::_x_old [protected] |
Definition at line 56 of file EKparticlefilter.h.