Particular particle filter: Proposal PDF = Optimal Importance function. More...
#include <optimalimportancefilter.h>
Public Member Functions | |
OptimalImportanceFilter (MCPdf< StateVar > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
Constructor. | |
OptimalImportanceFilter (const OptimalImportanceFilter< StateVar, MeasVar > &filt) | |
Copy constructor. | |
virtual void | Update (SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s) |
virtual void | Update (SystemModel< StateVar > *const sysmodel, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s) |
virtual void | Update (SystemModel< StateVar > *const sysmodel, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z) |
virtual void | Update (SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z) |
virtual void | Update (SystemModel< StateVar > *const sysmodel, const StateVar &u) |
Only sysupdate. | |
virtual void | Update (SystemModel< StateVar > *const sysmodel) |
virtual void | Update (MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s) |
Only measupdate. | |
virtual void | Update (MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z) |
virtual | ~OptimalImportanceFilter () |
Destructor. | |
Protected Member Functions | |
virtual void | ConstructProposal (SystemModel< StateVar > *const sysmodel, MeasurementModel< MeasVar, StateVar > *const measmodel) |
Construct Optimal importance density from a sys and meas. model. |
Particular particle filter: Proposal PDF = Optimal Importance function.
This is one (simple) particular implementation of a particle filter, in which the proposal density is equal to the pdf . Note that this pdf can only be easily (analytically) determined for a limited class of models! The current implementation focusses on systems with a linear measurement model.
@Article{ doucet98bis, author = {Doucet, Arnaud and Godsill, Simon and Andrieu, Christophe}, title = {On Sequential Monte Carlo Sampling Methods for Bayesian Filtering}, journal = {Statistics and Computing}, year = {2000}, volume = {10}, number = {3}, pages = {197--208}, }
for a more thorough discussion about all these issues and the possible suboptimal alternatives in case one is not able to sample from the optimal importance function.
Definition at line 67 of file optimalimportancefilter.h.
virtual BFL::Optimalimportancefilter< StateVar, MeasVar >::~OptimalImportanceFilter | ( | ) | [virtual] |
Destructor.
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::ConstructProposal | ( | SystemModel< StateVar > *const | sysmodel, |
MeasurementModel< MeasVar, StateVar > *const | measmodel | ||
) | [protected, virtual] |
Construct Optimal importance density from a sys and meas. model.
sysmodel | system model to use |
measmodel | measurement model to use for proposal construction |
BFL::Optimalimportancefilter< StateVar, MeasVar >::OptimalImportanceFilter | ( | MCPdf< StateVar > * | 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 |
BFL::Optimalimportancefilter< StateVar, MeasVar >::OptimalImportanceFilter | ( | const OptimalImportanceFilter< StateVar, MeasVar > & | filt | ) |
Copy constructor.
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel, |
const StateVar & | u, | ||
MeasurementModel< MeasVar, StateVar > *const | measmodel, | ||
const MeasVar & | z, | ||
const StateVar & | s | ||
) | [virtual] |
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel, |
MeasurementModel< MeasVar, StateVar > *const | measmodel, | ||
const MeasVar & | z, | ||
const StateVar & | s | ||
) | [virtual] |
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel, |
MeasurementModel< MeasVar, StateVar > *const | measmodel, | ||
const MeasVar & | z | ||
) | [virtual] |
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel, |
const StateVar & | u, | ||
MeasurementModel< MeasVar, StateVar > *const | measmodel, | ||
const MeasVar & | z | ||
) | [virtual] |
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel, |
const StateVar & | u | ||
) | [virtual] |
Only sysupdate.
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | SystemModel< StateVar > *const | sysmodel | ) | [virtual] |
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | MeasurementModel< MeasVar, StateVar > *const | measmodel, |
const MeasVar & | z, | ||
const StateVar & | s | ||
) | [virtual] |
Only measupdate.
virtual void BFL::Optimalimportancefilter< StateVar, MeasVar >::Update | ( | MeasurementModel< MeasVar, StateVar > *const | measmodel, |
const MeasVar & | z | ||
) | [virtual] |