Bayesian Filtering Library Generated from SVN r
linearanalyticmeasurementmodel_gaussianuncertainty_implicit.h
1// $Id$
2// Copyright (C) 2002 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#ifndef __LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY_IMPLICIT__
19#define __LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY_IMPLICIT__
20
21
22#include "../pdf/gaussian.h"
23#include "../pdf/linearanalyticconditionalgaussian.h"
24#include "linearanalyticmeasurementmodel_gaussianuncertainty.h"
25
26namespace BFL
27{
28
30 // derived from an implicit measurement equation $h(x,z)=0$
31 //
38 {
39 public:
41
46
47 // Default Copy constructor will do
48 // LinearAnalyticMeasurementModelGaussianUncertainty_Implicit(const LinearAnalyticMeasurementModelGaussianUncertainty_Implicit& l);
49
52
53 // redefinition of virtual functions
54 //
55 virtual const MatrixWrapper::ColumnVector& fGet () const =0;
56 virtual const int TypeGet () const=0;
57 virtual MatrixWrapper::Matrix& dfGet (int number) =0 ;
59
63 virtual MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector& z, const MatrixWrapper::ColumnVector& x) =0;
65
69 virtual MatrixWrapper::Matrix& df_dzGet (const MatrixWrapper::ColumnVector& z, const MatrixWrapper::ColumnVector& x)=0;
71 virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector& z, const MatrixWrapper::ColumnVector& x)=0;
73 virtual MatrixWrapper::ColumnVector ExpectedValueGet()=0;
75
83 virtual MatrixWrapper::SymmetricMatrix& CovarianceGet()=0;
85
93 virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector& z, const MatrixWrapper::ColumnVector& x)=0;
94 virtual void Calculate(const MatrixWrapper::ColumnVector& x ,const MatrixWrapper::ColumnVector& z,const MatrixWrapper::Matrix& R)=0;
95
97 virtual const MatrixWrapper::Matrix& SRCovariance() const=0;
99 virtual const int& Is_Identity() const=0;
100 };
101} // End namespace BFL
102
103#endif // __LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY__
Class for linear analytic measurementmodels with additive gaussian noise.
virtual MatrixWrapper::ColumnVector ExpectedValueGet()=0
Return a prediction for the mean of the noise on the linear measurement equation, using the current x...
LinearAnalyticMeasurementModelGaussianUncertainty_Implicit(LinearAnalyticConditionalGaussian *pdf)
Constructor.
virtual MatrixWrapper::Matrix & df_dzGet(const MatrixWrapper::ColumnVector &z, const MatrixWrapper::ColumnVector &x)=0
Returns D-matrix calculated with measurement z and state x.
virtual MatrixWrapper::SymmetricMatrix & CovarianceGet()=0
Returns covariance of the noise on the linearised measurement model evaluated using measurements z an...
virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector &z, const MatrixWrapper::ColumnVector &x)=0
Return a prediction for the mean of the noise on the linear measurement equation, calculated with mea...
virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector &z, const MatrixWrapper::ColumnVector &x)=0
Returns covariance of the noise on the linearised measurement model evaluated using current z and sta...
virtual const int & Is_Identity() const =0
Returns 1 if D-matrix equals the identity matrix else 0.
virtual const MatrixWrapper::Matrix & SRCovariance() const =0
Returns square root of the covariance of the measurements z.
virtual MatrixWrapper::Matrix df_dxGet(const MatrixWrapper::ColumnVector &z, const MatrixWrapper::ColumnVector &x)=0
Returns H-matrix calculated with measurement z and state x.
Class for linear analytic measurementmodels with additive gaussian noise.