- Timestamp:
- Sep 7, 2014, 7:18:16 PM (10 years ago)
- Location:
- trunk/BNC/src/PPP_free
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP_free/pppClient.cpp
r6088 r6093 44 44 45 45 #include "pppClient.h" 46 #include "pppFilter.h" 46 47 #include "pppOptions.h" 47 48 #include "bncutils.h" 48 49 #include "bncconst.h" 49 #include "bncmodel.h"50 50 51 51 using namespace BNC_PPP; … … 66 66 t_pppClient::t_pppClient(const t_pppOptions* opt) : bncEphUser(false) { 67 67 68 _opt 69 _ model = new bncModel(this);70 _epoData 71 _log 72 _staID 68 _opt = new t_pppOptions(*opt); 69 _filter = new t_pppFilter(this); 70 _epoData = new t_epoData(); 71 _log = new ostringstream(); 72 _staID = QByteArray(_opt->_roverName.c_str()); 73 73 74 74 CLIENTS.setLocalData(this); // CLIENTS takes ownership over "this" … … 78 78 //////////////////////////////////////////////////////////////////////////// 79 79 t_pppClient::~t_pppClient() { 80 delete _ model;80 delete _filter; 81 81 delete _epoData; 82 82 delete _opt; … … 147 147 // Filter Solution 148 148 // --------------- 149 if (_ model->update(_epoData) == success) {149 if (_filter->update(_epoData) == success) { 150 150 output->_error = false; 151 output->_epoTime = _ model->time();152 output->_xyzRover[0] = _ model->x();153 output->_xyzRover[1] = _ model->y();154 output->_xyzRover[2] = _ model->z();151 output->_epoTime = _filter->time(); 152 output->_xyzRover[0] = _filter->x(); 153 output->_xyzRover[1] = _filter->y(); 154 output->_xyzRover[2] = _filter->z(); 155 155 output->_numSat = 0; 156 156 output->_pDop = 0.0; -
trunk/BNC/src/PPP_free/pppClient.h
r6085 r6093 23 23 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 24 24 25 #ifndef BNCPPPCLIENT_H26 #define BNCPPPCLIENT_H25 #ifndef PPPCLIENT_H 26 #define PPPCLIENT_H 27 27 28 28 #include <vector> … … 31 31 namespace BNC_PPP { 32 32 33 class bncModel;33 class t_pppFilter; 34 34 class t_pppOptions; 35 35 class t_satObs; … … 63 63 QByteArray _staID; 64 64 t_epoData* _epoData; 65 bncModel* _model;65 t_pppFilter* _filter; 66 66 std::ostringstream* _log; 67 67 }; -
trunk/BNC/src/PPP_free/pppFilter.cpp
r6091 r6093 27 27 * ------------------------------------------------------------------------- 28 28 * 29 * Class: bncParam, bncModel29 * Class: t_pppParam, t_pppFilter 30 30 * 31 31 * Purpose: Model for PPP … … 44 44 #include <sstream> 45 45 46 #include " bncmodel.h"46 #include "pppFilter.h" 47 47 #include "pppClient.h" 48 48 #include "bncutils.h" … … 63 63 // Constructor 64 64 //////////////////////////////////////////////////////////////////////////// 65 bncParam::bncParam(bncParam::parType typeIn, int indexIn,65 t_pppParam::t_pppParam(t_pppParam::parType typeIn, int indexIn, 66 66 const QString& prnIn) { 67 67 type = typeIn; … … 75 75 // Destructor 76 76 //////////////////////////////////////////////////////////////////////////// 77 bncParam::~bncParam() {77 t_pppParam::~t_pppParam() { 78 78 } 79 79 80 80 // Partial 81 81 //////////////////////////////////////////////////////////////////////////// 82 double bncParam::partial(t_satData* satData, bool phase) {83 84 Tracer tracer(" bncParam::partial");82 double t_pppParam::partial(t_satData* satData, bool phase) { 83 84 Tracer tracer("t_pppParam::partial"); 85 85 86 86 // Coordinates … … 148 148 // Constructor 149 149 //////////////////////////////////////////////////////////////////////////// 150 bncModel::bncModel(t_pppClient* pppClient) {150 t_pppFilter::t_pppFilter(t_pppClient* pppClient) { 151 151 152 152 _pppClient = pppClient; … … 175 175 // Destructor 176 176 //////////////////////////////////////////////////////////////////////////// 177 bncModel::~bncModel() {177 t_pppFilter::~t_pppFilter() { 178 178 delete _tides; 179 179 for (int ii = 0; ii < _posAverage.size(); ++ii) { … … 192 192 // Reset Parameters and Variance-Covariance Matrix 193 193 //////////////////////////////////////////////////////////////////////////// 194 void bncModel::reset() {195 196 Tracer tracer(" bncModel::reset");194 void t_pppFilter::reset() { 195 196 Tracer tracer("t_pppFilter::reset"); 197 197 198 198 double lastTrp = 0.0; 199 199 for (int ii = 0; ii < _params.size(); ii++) { 200 bncParam* pp = _params[ii];201 if (pp->type == bncParam::TROPO) {200 t_pppParam* pp = _params[ii]; 201 if (pp->type == t_pppParam::TROPO) { 202 202 lastTrp = pp->xx; 203 203 } … … 207 207 208 208 int nextPar = 0; 209 _params.push_back(new bncParam(bncParam::CRD_X, ++nextPar, ""));210 _params.push_back(new bncParam(bncParam::CRD_Y, ++nextPar, ""));211 _params.push_back(new bncParam(bncParam::CRD_Z, ++nextPar, ""));212 _params.push_back(new bncParam(bncParam::RECCLK, ++nextPar, ""));209 _params.push_back(new t_pppParam(t_pppParam::CRD_X, ++nextPar, "")); 210 _params.push_back(new t_pppParam(t_pppParam::CRD_Y, ++nextPar, "")); 211 _params.push_back(new t_pppParam(t_pppParam::CRD_Z, ++nextPar, "")); 212 _params.push_back(new t_pppParam(t_pppParam::RECCLK, ++nextPar, "")); 213 213 if (_opt->estTrp()) { 214 _params.push_back(new bncParam(bncParam::TROPO, ++nextPar, ""));214 _params.push_back(new t_pppParam(t_pppParam::TROPO, ++nextPar, "")); 215 215 } 216 216 if (_opt->useSystem('R')) { 217 _params.push_back(new bncParam(bncParam::GLONASS_OFFSET, ++nextPar, ""));217 _params.push_back(new t_pppParam(t_pppParam::GLONASS_OFFSET, ++nextPar, "")); 218 218 } 219 219 if (_opt->useSystem('E')) { 220 _params.push_back(new bncParam(bncParam::GALILEO_OFFSET, ++nextPar, ""));220 _params.push_back(new t_pppParam(t_pppParam::GALILEO_OFFSET, ++nextPar, "")); 221 221 } 222 222 … … 224 224 _QQ = 0.0; 225 225 for (int iPar = 1; iPar <= _params.size(); iPar++) { 226 bncParam* pp = _params[iPar-1];226 t_pppParam* pp = _params[iPar-1]; 227 227 pp->xx = 0.0; 228 228 if (pp->isCrd()) { 229 229 _QQ(iPar,iPar) = _opt->_aprSigCrd(1) * _opt->_aprSigCrd(1); 230 230 } 231 else if (pp->type == bncParam::RECCLK) {231 else if (pp->type == t_pppParam::RECCLK) { 232 232 _QQ(iPar,iPar) = _opt->_noiseClk * _opt->_noiseClk; 233 233 } 234 else if (pp->type == bncParam::TROPO) {234 else if (pp->type == t_pppParam::TROPO) { 235 235 _QQ(iPar,iPar) = _opt->_aprSigTrp * _opt->_aprSigTrp; 236 236 pp->xx = lastTrp; 237 237 } 238 else if (pp->type == bncParam::GLONASS_OFFSET) {238 else if (pp->type == t_pppParam::GLONASS_OFFSET) { 239 239 _QQ(iPar,iPar) = 1000.0 * 1000.0; 240 240 } 241 else if (pp->type == bncParam::GALILEO_OFFSET) {241 else if (pp->type == t_pppParam::GALILEO_OFFSET) { 242 242 _QQ(iPar,iPar) = 1000.0 * 1000.0; 243 243 } … … 247 247 // Bancroft Solution 248 248 //////////////////////////////////////////////////////////////////////////// 249 t_irc bncModel::cmpBancroft(t_epoData* epoData) {250 251 Tracer tracer(" bncModel::cmpBancroft");249 t_irc t_pppFilter::cmpBancroft(t_epoData* epoData) { 250 251 Tracer tracer("t_pppFilter::cmpBancroft"); 252 252 253 253 if (epoData->sizeSys('G') < MINOBS) { 254 _log += " bncModel::cmpBancroft: not enough data\n";254 _log += "t_pppFilter::cmpBancroft: not enough data\n"; 255 255 return failure; 256 256 } … … 297 297 // Computed Value 298 298 //////////////////////////////////////////////////////////////////////////// 299 double bncModel::cmpValue(t_satData* satData, bool phase) {300 301 Tracer tracer(" bncModel::cmpValue");299 double t_pppFilter::cmpValue(t_satData* satData, bool phase) { 300 301 Tracer tracer("t_pppFilter::cmpValue"); 302 302 303 303 ColumnVector xRec(3); … … 357 357 // Tropospheric Model (Saastamoinen) 358 358 //////////////////////////////////////////////////////////////////////////// 359 double bncModel::delay_saast(double Ele) {360 361 Tracer tracer(" bncModel::delay_saast");359 double t_pppFilter::delay_saast(double Ele) { 360 361 Tracer tracer("t_pppFilter::delay_saast"); 362 362 363 363 double xyz[3]; … … 398 398 // Prediction Step of the Filter 399 399 //////////////////////////////////////////////////////////////////////////// 400 void bncModel::predict(int iPhase, t_epoData* epoData) {401 402 Tracer tracer(" bncModel::predict");400 void t_pppFilter::predict(int iPhase, t_epoData* epoData) { 401 402 Tracer tracer("t_pppFilter::predict"); 403 403 404 404 if (iPhase == 0) { … … 423 423 // ----------------------------------------- 424 424 for (int iPar = 1; iPar <= _params.size(); iPar++) { 425 bncParam* pp = _params[iPar-1];425 t_pppParam* pp = _params[iPar-1]; 426 426 427 427 // Coordinates 428 428 // ----------- 429 if (pp->type == bncParam::CRD_X) {429 if (pp->type == t_pppParam::CRD_X) { 430 430 if (firstCrd) { 431 431 if (_opt->xyzAprRoverSet()) { … … 438 438 _QQ(iPar,iPar) += sigCrdP_used * sigCrdP_used; 439 439 } 440 else if (pp->type == bncParam::CRD_Y) {440 else if (pp->type == t_pppParam::CRD_Y) { 441 441 if (firstCrd) { 442 442 if (_opt->xyzAprRoverSet()) { … … 449 449 _QQ(iPar,iPar) += sigCrdP_used * sigCrdP_used; 450 450 } 451 else if (pp->type == bncParam::CRD_Z) {451 else if (pp->type == t_pppParam::CRD_Z) { 452 452 if (firstCrd) { 453 453 if (_opt->xyzAprRoverSet()) { … … 463 463 // Receiver Clocks 464 464 // --------------- 465 else if (pp->type == bncParam::RECCLK) {465 else if (pp->type == t_pppParam::RECCLK) { 466 466 pp->xx = _xcBanc(4); 467 467 for (int jj = 1; jj <= _params.size(); jj++) { … … 473 473 // Tropospheric Delay 474 474 // ------------------ 475 else if (pp->type == bncParam::TROPO) {475 else if (pp->type == t_pppParam::TROPO) { 476 476 _QQ(iPar,iPar) += _opt->_noiseTrp * _opt->_noiseTrp; 477 477 } … … 479 479 // Glonass Offset 480 480 // -------------- 481 else if (pp->type == bncParam::GLONASS_OFFSET) {481 else if (pp->type == t_pppParam::GLONASS_OFFSET) { 482 482 pp->xx = 0.0; 483 483 for (int jj = 1; jj <= _params.size(); jj++) { … … 489 489 // Galileo Offset 490 490 // -------------- 491 else if (pp->type == bncParam::GALILEO_OFFSET) {491 else if (pp->type == t_pppParam::GALILEO_OFFSET) { 492 492 _QQ(iPar,iPar) += 0.1 * 0.1; 493 493 } … … 511 511 // ------------------------------------------------ 512 512 int iPar = 0; 513 QMutableVectorIterator< bncParam*> im(_params);513 QMutableVectorIterator<t_pppParam*> im(_params); 514 514 while (im.hasNext()) { 515 bncParam* par = im.next();515 t_pppParam* par = im.next(); 516 516 bool removed = false; 517 if (par->type == bncParam::AMB_L3) {517 if (par->type == t_pppParam::AMB_L3) { 518 518 if (epoData->satData.find(par->prn) == epoData->satData.end()) { 519 519 removed = true; … … 540 540 _QQ.ReSize(nPar); _QQ = 0.0; 541 541 for (int i1 = 1; i1 <= nPar; i1++) { 542 bncParam* p1 = _params[i1-1];542 t_pppParam* p1 = _params[i1-1]; 543 543 if (p1->index_old != 0) { 544 544 _QQ(p1->index, p1->index) = QQ_old(p1->index_old, p1->index_old); 545 545 for (int i2 = 1; i2 <= nPar; i2++) { 546 bncParam* p2 = _params[i2-1];546 t_pppParam* p2 = _params[i2-1]; 547 547 if (p2->index_old != 0) { 548 548 _QQ(p1->index, p2->index) = QQ_old(p1->index_old, p2->index_old); … … 553 553 554 554 for (int ii = 1; ii <= nPar; ii++) { 555 bncParam* par = _params[ii-1];555 t_pppParam* par = _params[ii-1]; 556 556 if (par->index_old == 0) { 557 557 _QQ(par->index, par->index) = _opt->_aprSigAmb * _opt->_aprSigAmb; … … 564 564 // Update Step of the Filter (currently just a single-epoch solution) 565 565 //////////////////////////////////////////////////////////////////////////// 566 t_irc bncModel::update(t_epoData* epoData) {567 568 Tracer tracer(" bncModel::update");566 t_irc t_pppFilter::update(t_epoData* epoData) { 567 568 Tracer tracer("t_pppFilter::update"); 569 569 570 570 _log.clear(); … … 599 599 ostringstream strB; 600 600 strB.setf(ios::fixed); 601 QVectorIterator< bncParam*> itPar(_params);601 QVectorIterator<t_pppParam*> itPar(_params); 602 602 while (itPar.hasNext()) { 603 bncParam* par = itPar.next();604 605 if (par->type == bncParam::RECCLK) {603 t_pppParam* par = itPar.next(); 604 605 if (par->type == t_pppParam::RECCLK) { 606 606 strB << "\n clk = " << setw(10) << setprecision(3) << par->xx 607 607 << " +- " << setw(6) << setprecision(3) 608 608 << sqrt(_QQ(par->index,par->index)); 609 609 } 610 else if (par->type == bncParam::AMB_L3) {610 else if (par->type == t_pppParam::AMB_L3) { 611 611 ++par->numEpo; 612 612 strB << "\n amb " << par->prn.toAscii().data() << " = " … … 616 616 << " nEpo = " << par->numEpo; 617 617 } 618 else if (par->type == bncParam::TROPO) {618 else if (par->type == t_pppParam::TROPO) { 619 619 double aprTrp = delay_saast(M_PI/2.0); 620 620 strB << "\n trp = " << par->prn.toAscii().data() … … 625 625 newPos->xnt[6] = aprTrp + par->xx; 626 626 } 627 else if (par->type == bncParam::GLONASS_OFFSET) {627 else if (par->type == t_pppParam::GLONASS_OFFSET) { 628 628 strB << "\n offGlo = " << setw(10) << setprecision(3) << par->xx 629 629 << " +- " << setw(6) << setprecision(3) 630 630 << sqrt(_QQ(par->index,par->index)); 631 631 } 632 else if (par->type == bncParam::GALILEO_OFFSET) {632 else if (par->type == t_pppParam::GALILEO_OFFSET) { 633 633 strB << "\n offGal = " << setw(10) << setprecision(3) << par->xx 634 634 << " +- " << setw(6) << setprecision(3) … … 681 681 // Outlier Detection 682 682 //////////////////////////////////////////////////////////////////////////// 683 QString bncModel::outlierDetection(int iPhase, const ColumnVector& vv,683 QString t_pppFilter::outlierDetection(int iPhase, const ColumnVector& vv, 684 684 QMap<QString, t_satData*>& satData) { 685 685 686 Tracer tracer(" bncModel::outlierDetection");686 Tracer tracer("t_pppFilter::outlierDetection"); 687 687 688 688 QString prnGPS; … … 715 715 // 716 716 ////////////////////////////////////////////////////////////////////////////// 717 void bncModel::kalman(const Matrix& AA, const ColumnVector& ll,717 void t_pppFilter::kalman(const Matrix& AA, const ColumnVector& ll, 718 718 const DiagonalMatrix& PP, 719 719 SymmetricMatrix& QQ, ColumnVector& dx) { 720 720 721 Tracer tracer(" bncModel::kalman");721 Tracer tracer("t_pppFilter::kalman"); 722 722 723 723 int nPar = AA.Ncols(); … … 752 752 // Phase Wind-Up Correction 753 753 /////////////////////////////////////////////////////////////////////////// 754 double bncModel::windUp(const QString& prn, const ColumnVector& rSat,754 double t_pppFilter::windUp(const QString& prn, const ColumnVector& rSat, 755 755 const ColumnVector& rRec) { 756 756 757 Tracer tracer(" bncModel::windUp");757 Tracer tracer("t_pppFilter::windUp"); 758 758 759 759 double Mjd = _time.mjd() + _time.daysec() / 86400.0; … … 835 835 // 836 836 /////////////////////////////////////////////////////////////////////////// 837 void bncModel::cmpEle(t_satData* satData) {838 Tracer tracer(" bncModel::cmpEle");837 void t_pppFilter::cmpEle(t_satData* satData) { 838 Tracer tracer("t_pppFilter::cmpEle"); 839 839 ColumnVector rr = satData->xx - _xcBanc.Rows(1,3); 840 840 double rho = rr.norm_Frobenius(); … … 852 852 // 853 853 /////////////////////////////////////////////////////////////////////////// 854 void bncModel::addAmb(t_satData* satData) {855 Tracer tracer(" bncModel::addAmb");854 void t_pppFilter::addAmb(t_satData* satData) { 855 Tracer tracer("t_pppFilter::addAmb"); 856 856 bool found = false; 857 857 for (int iPar = 1; iPar <= _params.size(); iPar++) { 858 if (_params[iPar-1]->type == bncParam::AMB_L3 &&858 if (_params[iPar-1]->type == t_pppParam::AMB_L3 && 859 859 _params[iPar-1]->prn == satData->prn) { 860 860 found = true; … … 863 863 } 864 864 if (!found) { 865 bncParam* par = new bncParam(bncParam::AMB_L3,865 t_pppParam* par = new t_pppParam(t_pppParam::AMB_L3, 866 866 _params.size()+1, satData->prn); 867 867 _params.push_back(par); … … 872 872 // 873 873 /////////////////////////////////////////////////////////////////////////// 874 void bncModel::addObs(int iPhase, unsigned& iObs, t_satData* satData,874 void t_pppFilter::addObs(int iPhase, unsigned& iObs, t_satData* satData, 875 875 Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP) { 876 876 877 Tracer tracer(" bncModel::addObs");877 Tracer tracer("t_pppFilter::addObs"); 878 878 879 879 const double ELEWGHT = 20.0; … … 899 899 PP(iObs,iObs) = 1.0 / (sigL3 * sigL3) / (ellWgtCoef * ellWgtCoef); 900 900 for (int iPar = 1; iPar <= _params.size(); iPar++) { 901 if (_params[iPar-1]->type == bncParam::AMB_L3 &&901 if (_params[iPar-1]->type == t_pppParam::AMB_L3 && 902 902 _params[iPar-1]->prn == satData->prn) { 903 903 ll(iObs) -= _params[iPar-1]->xx; … … 921 921 // 922 922 /////////////////////////////////////////////////////////////////////////// 923 QByteArray bncModel::printRes(int iPhase, const ColumnVector& vv,923 QByteArray t_pppFilter::printRes(int iPhase, const ColumnVector& vv, 924 924 const QMap<QString, t_satData*>& satDataMap) { 925 925 926 Tracer tracer(" bncModel::printRes");926 Tracer tracer("t_pppFilter::printRes"); 927 927 928 928 ostringstream str; … … 946 946 // 947 947 /////////////////////////////////////////////////////////////////////////// 948 void bncModel::findMaxRes(const ColumnVector& vv,948 void t_pppFilter::findMaxRes(const ColumnVector& vv, 949 949 const QMap<QString, t_satData*>& satData, 950 950 QString& prnGPS, QString& prnGlo, 951 951 double& maxResGPS, double& maxResGlo) { 952 952 953 Tracer tracer(" bncModel::findMaxRes");953 Tracer tracer("t_pppFilter::findMaxRes"); 954 954 955 955 maxResGPS = 0.0; … … 980 980 // Update Step (private - loop over outliers) 981 981 //////////////////////////////////////////////////////////////////////////// 982 t_irc bncModel::update_p(t_epoData* epoData) {983 984 Tracer tracer(" bncModel::update_p");982 t_irc t_pppFilter::update_p(t_epoData* epoData) { 983 984 Tracer tracer("t_pppFilter::update_p"); 985 985 986 986 // Save Variance-Covariance Matrix, and Status Vector … … 1065 1065 if (lastOutlierPrn.isEmpty()) { 1066 1066 1067 QVectorIterator< bncParam*> itPar(_params);1067 QVectorIterator<t_pppParam*> itPar(_params); 1068 1068 while (itPar.hasNext()) { 1069 bncParam* par = itPar.next();1069 t_pppParam* par = itPar.next(); 1070 1070 par->xx += dx(par->index); 1071 1071 } … … 1108 1108 // Remeber Original State Vector and Variance-Covariance Matrix 1109 1109 //////////////////////////////////////////////////////////////////////////// 1110 void bncModel::rememberState(t_epoData* epoData) {1110 void t_pppFilter::rememberState(t_epoData* epoData) { 1111 1111 1112 1112 _QQ_sav = _QQ; 1113 1113 1114 QVectorIterator< bncParam*> itSav(_params_sav);1114 QVectorIterator<t_pppParam*> itSav(_params_sav); 1115 1115 while (itSav.hasNext()) { 1116 bncParam* par = itSav.next();1116 t_pppParam* par = itSav.next(); 1117 1117 delete par; 1118 1118 } 1119 1119 _params_sav.clear(); 1120 1120 1121 QVectorIterator< bncParam*> it(_params);1121 QVectorIterator<t_pppParam*> it(_params); 1122 1122 while (it.hasNext()) { 1123 bncParam* par = it.next();1124 _params_sav.push_back(new bncParam(*par));1123 t_pppParam* par = it.next(); 1124 _params_sav.push_back(new t_pppParam(*par)); 1125 1125 } 1126 1126 … … 1130 1130 // Restore Original State Vector and Variance-Covariance Matrix 1131 1131 //////////////////////////////////////////////////////////////////////////// 1132 void bncModel::restoreState(t_epoData* epoData) {1132 void t_pppFilter::restoreState(t_epoData* epoData) { 1133 1133 1134 1134 _QQ = _QQ_sav; 1135 1135 1136 QVectorIterator< bncParam*> it(_params);1136 QVectorIterator<t_pppParam*> it(_params); 1137 1137 while (it.hasNext()) { 1138 bncParam* par = it.next();1138 t_pppParam* par = it.next(); 1139 1139 delete par; 1140 1140 } 1141 1141 _params.clear(); 1142 1142 1143 QVectorIterator< bncParam*> itSav(_params_sav);1143 QVectorIterator<t_pppParam*> itSav(_params_sav); 1144 1144 while (itSav.hasNext()) { 1145 bncParam* par = itSav.next();1146 _params.push_back(new bncParam(*par));1145 t_pppParam* par = itSav.next(); 1146 _params.push_back(new t_pppParam(*par)); 1147 1147 } 1148 1148 … … 1152 1152 // 1153 1153 //////////////////////////////////////////////////////////////////////////// 1154 t_irc bncModel::selectSatellites(const QString& lastOutlierPrn,1154 t_irc t_pppFilter::selectSatellites(const QString& lastOutlierPrn, 1155 1155 QMap<QString, t_satData*>& satData) { 1156 1156 … … 1209 1209 // 1210 1210 //////////////////////////////////////////////////////////////////////////// 1211 void bncModel::bancroft(const Matrix& BBpass, ColumnVector& pos) {1211 void t_pppFilter::bancroft(const Matrix& BBpass, ColumnVector& pos) { 1212 1212 1213 1213 if (pos.Nrows() != 4) { -
trunk/BNC/src/PPP_free/pppFilter.h
r6091 r6093 23 23 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 24 24 25 #ifndef BNCMODEL_H26 #define BNCMODEL_H25 #ifndef PPPFILTER_H 26 #define PPPFILTER_H 27 27 28 28 #include <QtCore> … … 43 43 class t_tides; 44 44 45 class bncParam {45 class t_pppParam { 46 46 public: 47 47 enum parType {CRD_X, CRD_Y, CRD_Z, RECCLK, TROPO, AMB_L3, 48 48 GLONASS_OFFSET, GALILEO_OFFSET}; 49 bncParam(parType typeIn, int indexIn, const QString& prn);50 ~ bncParam();49 t_pppParam(parType typeIn, int indexIn, const QString& prn); 50 ~t_pppParam(); 51 51 double partial(t_satData* satData, bool phase); 52 52 bool isCrd() const { … … 61 61 }; 62 62 63 class bncModel{63 class t_pppFilter { 64 64 public: 65 bncModel(t_pppClient* pppClient);66 ~ bncModel();65 t_pppFilter(t_pppClient* pppClient); 66 ~t_pppFilter(); 67 67 t_irc update(t_epoData* epoData); 68 68 bncTime time() const {return _time;} … … 73 73 double trp() const { 74 74 for (int ii = 0; ii < _params.size(); ++ii) { 75 bncParam* pp = _params[ii];76 if (pp->type == bncParam::TROPO) {75 t_pppParam* pp = _params[ii]; 76 if (pp->type == t_pppParam::TROPO) { 77 77 return pp->xx; 78 78 } … … 82 82 double Glonass_offset() const { 83 83 for (int ii = 0; ii < _params.size(); ++ii) { 84 bncParam* pp = _params[ii];85 if (pp->type == bncParam::GLONASS_OFFSET) {84 t_pppParam* pp = _params[ii]; 85 if (pp->type == t_pppParam::GLONASS_OFFSET) { 86 86 return pp->xx; 87 87 } … … 91 91 double Galileo_offset() const { 92 92 for (int ii = 0; ii < _params.size(); ++ii) { 93 bncParam* pp = _params[ii];94 if (pp->type == bncParam::GALILEO_OFFSET) {93 t_pppParam* pp = _params[ii]; 94 if (pp->type == t_pppParam::GALILEO_OFFSET) { 95 95 return pp->xx; 96 96 } … … 152 152 bncTime _lastTimeOK; 153 153 QByteArray _staID; 154 QVector< bncParam*>_params;154 QVector<t_pppParam*> _params; 155 155 SymmetricMatrix _QQ; 156 QVector< bncParam*>_params_sav;156 QVector<t_pppParam*> _params_sav; 157 157 SymmetricMatrix _QQ_sav; 158 158 t_epoData* _epoData_sav;
Note:
See TracChangeset
for help on using the changeset viewer.