Bayesian Filtering Library Generated from SVN r
mixtureBootstrapFilter.h
1// Copyright (C) 2009 Tinne De Laet <first dot last at gmail dot com>
2// $Id: mixtureBoostrapFilter.h 2009-02-03 tdelaet $
3//
4/***************************************************************************
5 * This library is free software; you can redistribute it and/or *
6 * modify it under the terms of the GNU General Public *
7 * License as published by the Free Software Foundation; *
8 * version 2 of the License. *
9 * *
10 * As a special exception, you may use this file as part of a free *
11 * software library without restriction. Specifically, if other files *
12 * instantiate templates or use macros or inline functions from this *
13 * file, or you compile this file and link it with other files to *
14 * produce an executable, this file does not by itself cause the *
15 * resulting executable to be covered by the GNU General Public *
16 * License. This exception does not however invalidate any other *
17 * reasons why the executable file might be covered by the GNU General *
18 * Public License. *
19 * *
20 * This library is distributed in the hope that it will be useful, *
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
23 * Lesser General Public License for more details. *
24 * *
25 * You should have received a copy of the GNU General Public *
26 * License along with this library; if not, write to the Free Software *
27 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
28 * Boston, MA 02110-1301 USA *
29 * *
30 ***************************************************************************/
31
32#ifndef __MIXTURE_BOOTSTRAP_FILTER__
33#define __MIXTURE_BOOTSTRAP_FILTER__
34
35#include "mixtureParticleFilter.h"
36
37namespace BFL
38{
39
41
71template <typename StateVar, typename MeasVar> class MixtureBootstrapFilter
72 : public MixtureParticleFilter<StateVar,MeasVar>
73{
74 protected:
76 virtual bool UpdateInternal(SystemModel<StateVar>* const sysmodel,
77 const StateVar& u,
79 const MeasVar& z,
80 const StateVar& s);
81
82 public:
84
93 int resampleperiod = 0,
94 double resamplethreshold = 0,
95 int resamplescheme = DEFAULT_RS,
96 int maintainMixturePeriod = 1 );
97
99
109 Mixture<StateVar> * post,
110 int resampleperiod = 0,
111 double resamplethreshold = 0,
112 int resamplescheme = DEFAULT_RS,
113 int maintainMixturePeriod = 1 );
114
117
118 // Default Copy constructor will do
119
120};
121
122#include "mixtureBootstrapFilter.cpp"
123
124}
125
126#endif // __MIXTURE_BOOTSTRAP_FILTER__
Particular mixture particle filter : Proposal PDF = SystemPDF.
MixtureBootstrapFilter(Mixture< StateVar > *prior, Mixture< StateVar > *post, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS, int maintainMixturePeriod=1)
Constructor.
virtual bool UpdateInternal(SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Actual implementation of updateinternal.
MixtureBootstrapFilter(Mixture< StateVar > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS, int maintainMixturePeriod=1)
Constructor.
virtual ~MixtureBootstrapFilter()
Destructor.
Virtual Class representing all Mixture particle filters.
Class representing a mixture of PDFs, the mixture can contain different.
Definition: mixture.h:49