kfilter.hpp
Go to the documentation of this file.
1 // This file is part of kfilter.
2 // kfilter is a C++ variable-dimension extended kalman filter library.
3 //
4 // Copyright (C) 2004 Vincent Zalzal, Sylvain Marleau
5 // Copyright (C) 2001, 2004 Richard Gourdeau
6 // Copyright (C) 2004 GRPR and DGE's Automation sector
7 // �cole Polytechnique de Montr�al
8 //
9 // Code adapted from algorithms presented in :
10 // Bierman, G. J. "Factorization Methods for Discrete Sequential
11 // Estimation", Academic Press, 1977.
12 //
13 // This library is free software; you can redistribute it and/or
14 // modify it under the terms of the GNU Lesser General Public
15 // License as published by the Free Software Foundation; either
16 // version 2.1 of the License, or (at your option) any later version.
17 //
18 // This library is distributed in the hope that it will be useful,
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 // Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public
24 // License along with this library; if not, write to the Free Software
25 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 
27 #ifndef KFILTER_HPP
28 #define KFILTER_HPP
29 
32 
33 #include <kfilter/ekfilter.hpp>
34 
35 namespace Kalman {
36 
37  // TODO : il faut que E(v) == 0 && E(w) == 0 !!!
38 
40 
81  template<typename T, K_UINT_32 BEG, bool OQ = false,
82  bool OVR = false, bool DBG = true>
83  class KFilter : public EKFilter<T, BEG, OQ, OVR, DBG> {
84  public:
85 
87  virtual ~KFilter() = 0;
88 
89  protected:
90 
92  virtual void makeBaseB();
93 
95  virtual void makeB();
96 
99 
100  private:
101 
103  virtual void makeProcess();
104 
106  virtual void makeMeasure();
107 
109  virtual void sizeUpdate();
110 
113  };
114 
115 }
116 
117 #include <kfilter/kfilter_impl.hpp>
118 
119 #endif
Generic Linear Kalman Filter template base class.
Definition: kfilter.hpp:83
Generic Extended Kalman Filter (EKF) template base class.
Definition: ekfilter.hpp:151
Minimalist vector template class.
Definition: kvector.hpp:72
Contains the implementation of the KFilter base template class.
virtual void makeProcess()
Process function overridden to be linear.
virtual void makeBaseB()
Virtual pre-creator of B.
virtual void makeMeasure()
Measurement function overridden to be linear.
Matrix B
Input matrix.
Definition: kfilter.hpp:98
virtual void makeB()
Virtual creator of B.
virtual void sizeUpdate()
Matrix and vector resizing function, overridden to take B into account.
unsigned long int K_UINT_32
Unsigned 32-bits integral type.
Definition: ktypes.hpp:68
Minimalist matrix template class.
Definition: kmatrix.hpp:72
virtual ~KFilter()=0
Virtual destructor.
Vector x__
Temporary vector.
Definition: kfilter.hpp:112
Contains the interface of the EKFilter base template class.


kfilter
Author(s): Jorge Almeida, Vincent Zalzal, Sylvain Marleau, Richard Gourdeau
autogenerated on Mon Mar 2 2015 01:31:45