Bayesian Filtering Library  Generated from SVN r
linearanalyticmeasurementmodel_gaussianuncertainty.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__
19 #define __LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY__
20 
21 #include "analyticmeasurementmodel_gaussianuncertainty.h"
22 #include "../pdf/gaussian.h"
23 #include "../pdf/linearanalyticconditionalgaussian.h"
24 
25 namespace BFL
26 {
27 
29 
34  {
35  public:
37 
40 
41  // Default Copy constructor will do
42  // LinearAnalyticMeasurementModelGaussianUncertainty(const LinearAnalyticMeasurementModelGaussianUncertainty& l);
43 
44  // Destructor
46 
47  // redefinition of virtual functions
48  virtual MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector& u, const MatrixWrapper::ColumnVector& x);
49  virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector& u, const MatrixWrapper::ColumnVector& x);
50  virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector& u, const MatrixWrapper::ColumnVector& x);
51 
53 
56  void HSet(const MatrixWrapper::Matrix& h);
57 
59 
62  void JSet(const MatrixWrapper::Matrix& j);
63 
65  const MatrixWrapper::Matrix& HGet() const;
66 
68  const MatrixWrapper::Matrix& JGet() const;
69 
70 
71  protected:
72 
73  };
74 
75 } // End namespace BFL
76 
77 #endif // __LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY__
Class for linear analytic measurementmodels with additive gaussian noise.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns covariance on the measurement.
virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns estimation of measurement.
LinearAnalyticMeasurementModelGaussianUncertainty(LinearAnalyticConditionalGaussian *pdf=NULL)
Constructor.
const MatrixWrapper::Matrix & JGet() const
Get Matrix J.
void HSet(const MatrixWrapper::Matrix &h)
Set Matrix H.
const MatrixWrapper::Matrix & HGet() const
Get Matrix H.
void JSet(const MatrixWrapper::Matrix &j)
Set Matrix J.
virtual MatrixWrapper::Matrix df_dxGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns H-matrix.