Bayesian Filtering Library Generated from SVN r
filterproposaldensity.h
1// $Id$
2// Copyright (C) 2003 Klaas Gadeyne <first dot last at gmail dot com>
3//
4// This program is free software; you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation; either version 2.1 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program; if not, write to the Free Software
16// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17//
18
19#ifndef __FILTER_PROP_DENSITY__
20#define __FILTER_PROP_DENSITY__
21
22#include "analyticconditionalgaussian.h"
23#include "gaussian.h"
24#include "../filter/filter.h"
25#include "../model/analyticmeasurementmodel_gaussianuncertainty.h"
26#include "../model/analyticsystemmodel_gaussianuncertainty.h"
27
28namespace BFL
29{
31
41 {
42 public:
44
49
51
55
58
59 // redefine pure virtual functions
60 virtual MatrixWrapper::ColumnVector ExpectedValueGet() const;
61 virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const;
62 virtual MatrixWrapper::Matrix dfGet(unsigned int i) const;
63
65
68
70
73
75
78 void SampleCovSet(MatrixWrapper::SymmetricMatrix & cov);
79
80 protected:
81 mutable Gaussian * _TmpPrior;
83
86
87 MatrixWrapper::SymmetricMatrix _sample_cov;
88
90 virtual void FilterStep() const;
91
92 };
93
94} // End namespace BFL
95
96#endif // __FILTER_PROP_DENSITY__
Abstract Class representing all FULL Analytical Conditional gaussians.
Class for analytic system models with additive Gauss. uncertainty.
Proposal Density for non-linear systems with additive Gaussian Noise (using a (analytic) Filter)
virtual ~FilterProposalDensity()
Destructor.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
FilterProposalDensity(AnalyticSystemModelGaussianUncertainty *SysModel, AnalyticMeasurementModelGaussianUncertainty *MeasModel)
Constructor.
virtual MatrixWrapper::ColumnVector ExpectedValueGet() const
Get the expected value E[x] of the pdf.
FilterProposalDensity(const FilterProposalDensity &fpd)
Copy constructor.
void MeasurementModelSet(AnalyticMeasurementModelGaussianUncertainty *MeasModel)
Set Measurementmodel.
virtual MatrixWrapper::Matrix dfGet(unsigned int i) const
returns derivative from function to n-th conditional variable
virtual void FilterStep() const
internal method
void SystemModelSet(AnalyticSystemModelGaussianUncertainty *SysModel)
Set SystemModel.
void SampleCovSet(MatrixWrapper::SymmetricMatrix &cov)
Set SampleCov.
Abstract class representing an interface for Bayesian Filters.
Definition: filter.h:78
Class representing Gaussian (or normal density)
Definition: gaussian.h:28