Fuzzy Logic Tools  v1.0.5.1
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
Kalman.hpp
Go to the documentation of this file.
1 /* Copyright (C) 2004-2015
2  ANTONIO JAVIER BARRAGAN, antonio.barragan@diesia.uhu.es
3  http://uhu.es/antonio.barragan
4 
5  Collaborators:
6  JOSE MANUEL ANDUJAR, andujar@diesia.uhu.es
7  AGUSTIN JIMENEZ AVELLO, agustin.jimenez@upm.es
8  MARIANO J. AZNAR, marianojose.aznar@alu.uhu.es
9  BASIL M. AL-HADITHI, basil.alhadithi@upm.es
10 
11  DPTO. DE ING. ELECTRONICA, DE SISTEMAS INFORMATICOS Y AUTOMATICA
12  ETSI, UNIVERSITY OF HUELVA (SPAIN)
13 
14  For more information, please contact with authors.
15 
16  This software is free software: you can redistribute it and/or modify
17  it under the terms of the GNU General Public License as published by
18  the Free Software Foundation, either version 3 of the License, or
19  (at your option) any later version.
20 
21  This software is distributed in the hope that it will be useful,
22  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24  GNU General Public License for more details.
25 
26  You should have received a copy of the GNU General Public License
27  along with this program. If not, see <http://www.gnu.org/licenses/>.
28 */
29 
30 #ifndef _KALMAN_HPP_
31 #define _KALMAN_HPP_
32 
41 #include <flt/derivatives.hpp>
42 #include <gsl/gsl_blas.h>
43 #include <gsl/gsl_linalg.h>
44 
45 namespace FLT // Use the FTL (Fuzzy Logic Tool) namespace
46 {
68  TNT::Array1D<double> KalmanAntec(System &Model,
69  TNT::Array1D<double> &input,
70  TNT::Array1D<double> &output,
71  TNT::Array2D<double> &covariance,
72  TNT::Array2D<double> &P,
73  TNT::Array2D<double> &Phi);
74 
93  TNT::Array1D<double> KalmanAntec(System &Model,
94  TNT::Array1D<double> &input,
95  TNT::Array1D<double> &output,
96  TNT::Array2D<double> &covariance,
97  TNT::Array2D<double> &P);
98 
120  TNT::Array1D<double> KalmanConseq(System &Model,
121  TNT::Array1D<double> &input,
122  TNT::Array1D<double> &output,
123  TNT::Array2D<double> &covariance,
124  TNT::Array2D<double> &P,
125  TNT::Array2D<double> &Phi);
126 
145  TNT::Array1D<double> KalmanConseq(System &Model,
146  TNT::Array1D<double> &input,
147  TNT::Array1D<double> &output,
148  TNT::Array2D<double> &covariance,
149  TNT::Array2D<double> &P);
150 
173  TNT::Array1D<double> KalmanFuz(System &Model,
174  TNT::Array1D<double> &input,
175  TNT::Array1D<double> &output,
176  TNT::Array2D<double> &covariance,
177  TNT::Array2D<double> &P,
178  TNT::Array2D<double> &Phi);
179 
197  TNT::Array1D<double> KalmanFuz(System &Model,
198  TNT::Array1D<double> &input,
199  TNT::Array1D<double> &output,
200  TNT::Array2D<double> &covariance,
201  TNT::Array2D<double> &P);
202 } // FLT
203 
204 #endif
TNT::Array1D< double > KalmanAntec(System &Model, TNT::Array1D< double > &input, TNT::Array1D< double > &output, TNT::Array2D< double > &covariance, TNT::Array2D< double > &P, TNT::Array2D< double > &Phi)
Computes antecedets adjust by the discrete extended Kalman filter.
Definition: Kalman.cpp:6
TNT::Array1D< double > KalmanConseq(System &Model, TNT::Array1D< double > &input, TNT::Array1D< double > &output, TNT::Array2D< double > &covariance, TNT::Array2D< double > &P, TNT::Array2D< double > &Phi)
Computes consequents adjust by the discrete extended Kalman filter.
Definition: Kalman.cpp:238
Fuzzy Logic Tools (FLT) namespace.
Definition: derivatives.hpp:41
TNT::Array1D< double > KalmanFuz(System &Model, TNT::Array1D< double > &input, TNT::Array1D< double > &output, TNT::Array2D< double > &covariance, TNT::Array2D< double > &P, TNT::Array2D< double > &Phi)
Computes the simultaneous adjustment of antecedets and consequents by the discrete extended Kalman fi...
Definition: Kalman.cpp:470
Calculates several derivatives for a fuzzy system.