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