ASIR: Auxiliary Particle Filter. More...
#include <asirfilter.h>
Public Member Functions | |
ASIRFilter (MCPdf< StateVar > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
Constructor. | |
virtual | ~ASIRFilter () |
Destructor. | |
Protected Member Functions | |
virtual void | UpdateInternal (SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s) |
Actual implementation of updateinternal. |
ASIR: Auxiliary Particle Filter.
This is a possible implementation of a particle filter, which in some/many cases will yield better results, since measures are taken to make the proposal density more similar to the posterior. See
@Article{ pitt_auxiliary, author = {Pitt, M. and Shephard, N.}, title = {Filtering via simulation: auxiliary particle filter}, journal = {Journal of the American Statistical Association}, year = {1999}, note = {forthcoming} }
for more details.
Note that this particular implementation:
Particular issue with of proposalstep in case of ASIR filter... The current implementation uses the approximation (see p. 11 of the Pitt and Shephard paper, we use their notation here ---
denoting the state and
denoting the measurement)
where
is the mean value of the system pdf.
Note that the ASIR needs the measurementmodel for its proposalstep, to obtain a better proposal. Note also that normally, the ASIR performs better that the standard SIR filter in case of outliers, but worse for "normal data" (due to the extra resampling stage).
Definition at line 79 of file asirfilter.h.
BFL::ASIRFilter< SVar, MVar >::ASIRFilter | ( | 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 |
Definition at line 26 of file asirfilter.cpp.
BFL::ASIRFilter< SVar, MVar >::~ASIRFilter | ( | ) | [virtual] |
Destructor.
Definition at line 44 of file asirfilter.cpp.
void BFL::ASIRFilter< SVar, MVar >::UpdateInternal | ( | SystemModel< StateVar > *const | sysmodel, |
const StateVar & | u, | ||
MeasurementModel< MeasVar, StateVar > *const | measmodel, | ||
const MeasVar & | z, | ||
const StateVar & | s | ||
) | [protected, virtual] |
Actual implementation of updateinternal.
Reimplemented from BFL::ParticleFilter< StateVar, MeasVar >.
Definition at line 48 of file asirfilter.cpp.