00001 00002 /* 00003 <one line to give the program's name and a brief idea of what it does.> 00004 Copyright (C) <year> <name of author> 00005 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. 00018 00019 */ 00020 00024 00025 00026 #ifndef SIMPLEFILTER_H 00027 #define SIMPLEFILTER_H 00028 00029 #include "RootEKF.h" 00030 00031 using namespace MipBaselib; 00032 00034 /* @{ */ 00035 00036 namespace MipAlgorithms 00037 { 00038 // Represents the parameters of an EKF 00039 class SimpleFilterParam : public RootEKFparams 00040 { 00041 public: 00042 SimpleFilterParam(); 00043 void initializeParam(); 00044 }; 00045 00046 class SimpleFilterVar : public RootEKFvars 00047 { 00048 public: 00049 SimpleFilterVar(); 00050 void evalA(DCol input, DCol state, Decimal sTime); 00051 void evalW(DCol input, DCol state, Decimal sTime); 00052 void evalV(DCol state); 00053 void evalH(DCol state); 00054 DCol projectState(DCol input, DCol state, Decimal sTime); 00055 DCol predictMeas(DCol state); 00056 private: 00057 }; 00058 } 00059 00060 /* @} */ 00061 00062 #endif // SIMPLEFILTER_H