Fuzzy Logic Tools v1.0
Kalman.hpp
Go to the documentation of this file.
00001 /*  Copyright (C) 2004-2011
00002     ANTONIO JAVIER BARRAGAN, antonio.barragan@diesia.uhu.es
00003     http://uhu.es/antonio.barragan
00004 
00005     Collaborators:
00006     JOSE MANUEL ANDUJAR, andujar@diesia.uhu.es
00007   MARIANO J. AZNAR, marianojose.aznar@alu.uhu.es
00008 
00009     DPTO. DE ING. ELECTRONICA, DE SISTEMAS INFORMATICOS Y AUTOMATICA
00010     ETSI, UNIVERSITY OF HUELVA (SPAIN)
00011 
00012     For more information, please contact with authors.
00013     
00014     This software is free software: you can redistribute it and/or modify
00015     it under the terms of the GNU General Public License as published by
00016     the Free Software Foundation, either version 3 of the License, or
00017     (at your option) any later version.
00018 
00019     This software is distributed in the hope that it will be useful,
00020     but WITHOUT ANY WARRANTY; without even the implied warranty of
00021     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00022     GNU General Public License for more details.
00023 
00024     You should have received a copy of the GNU General Public License
00025     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00026 */
00027 
00028 #ifndef _KALMAN_HPP_
00029 #define _KALMAN_HPP_
00030 
00039 #include <flt/derivatives.hpp>
00040 #include <gsl/gsl_blas.h>
00041 #include <gsl/gsl_linalg.h>
00042 
00043 namespace FLT // Use the FTL (Fuzzy Logic Tool) namespace
00044 {
00066   TNT::Array1D<double> KalmanAntec(System &Model,
00067                         TNT::Array1D<double> &input,
00068                         TNT::Array1D<double> &output,
00069                         TNT::Array2D<double> &covariance,
00070                         TNT::Array2D<double> &P,
00071                         TNT::Array2D<double> &Phi);
00072 
00091   TNT::Array1D<double> KalmanAntec(System &Model,
00092                         TNT::Array1D<double> &input,
00093                         TNT::Array1D<double> &output,
00094                         TNT::Array2D<double> &covariance,
00095                         TNT::Array2D<double> &P);
00096 
00118   TNT::Array1D<double> KalmanConseq(System &Model,
00119                          TNT::Array1D<double> &input,
00120                          TNT::Array1D<double> &output,
00121                          TNT::Array2D<double> &covariance,
00122                          TNT::Array2D<double> &P,
00123                          TNT::Array2D<double> &Phi);
00124                          
00143   TNT::Array1D<double> KalmanConseq(System &Model,
00144                         TNT::Array1D<double> &input,
00145                         TNT::Array1D<double> &output,
00146                         TNT::Array2D<double> &covariance,
00147                         TNT::Array2D<double> &P);
00148 
00171   TNT::Array1D<double> KalmanFuz(System &Model,
00172                         TNT::Array1D<double> &input,
00173                         TNT::Array1D<double> &output,
00174                         TNT::Array2D<double> &covariance,
00175                         TNT::Array2D<double> &P,
00176                         TNT::Array2D<double> &Phi);
00177                          
00195   TNT::Array1D<double> KalmanFuz(System &Model,
00196                         TNT::Array1D<double> &input,
00197                         TNT::Array1D<double> &output,
00198                         TNT::Array2D<double> &covariance,
00199                         TNT::Array2D<double> &P); 
00200 } // FLT
00201 
00202 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines