Changeset 8912 in ntrip for trunk/BNC/src/PPP/pppFilter.cpp
- Timestamp:
- Apr 6, 2020, 10:43:22 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppFilter.cpp
r8910 r8912 51 51 t_irc t_pppFilter::processEpoch(int num) { 52 52 _numSat = 0; 53 _numOfEpochProcessing = num; 53 54 const double maxSolGap = 60.0; 54 55 … … 87 88 ColumnVector xFltOld = _xFlt; 88 89 SymmetricMatrix QFltOld = _QFlt; 89 90 90 _QFlt.ReSize(_parlist->nPar()); _QFlt = 0.0; 91 91 _xFlt.ReSize(_parlist->nPar()); _xFlt = 0.0; 92 92 _x0.ReSize(_parlist->nPar()); _x0 = 0.0; 93 94 93 for (unsigned ii = 0; ii < params.size(); ii++) { 95 94 const t_pppParam* par1 = params[ii]; … … 111 110 } 112 111 } 113 114 112 predictCovCrdPart(QFltOld); 115 113 … … 141 139 // Process Satellite Systems separately 142 140 // ------------------------------------ 141 int numOfAllUsedLCs = 0; 142 preProcessing = false; 143 143 for (unsigned iSys = 0; iSys < OPT->systems().size(); iSys++) { 144 144 char system = OPT->systems()[iSys]; 145 numOfAllUsedLCs += OPT->LCs(system).size(); 145 146 if (OPT->_refSatRequired) { 146 147 _refPrn = (_obsPool->getRefSatMapElement(system))->prn(); … … 160 161 } 161 162 } 162 if (_obsPool->epoReProcessing()) { 163 // set A1 und A2 abhängig von num 164 // if num == 1 => A1 165 // if num > 1 => A2 166 } 163 164 // refSat change required? 165 // ----------------------- 166 if (_obsPool->refSatChangeRequired()) { 167 _xFlt = xFltOld; 168 _QFlt = QFltOld; 169 initDatumTransformation(numOfAllUsedLCs); 170 } 171 // close epoch processing 172 // ---------------------- 167 173 else { 168 174 cmpDOP(allObs); … … 223 229 ColumnVector ll(maxObs); 224 230 DiagonalMatrix PP(maxObs); PP = 0.0; 225 //TETSPLOT 231 232 // TETSPLOT 226 233 for (unsigned iPar = 0; iPar < params.size(); iPar++) { 227 234 const t_pppParam* par = params[iPar]; … … 229 236 } 230 237 cout << endl; 238 //END TETSPLOT 231 239 232 240 int iObs = -1; … … 307 315 if (par && preProcessing) { 308 316 if (par->prn() == refPrn) { 309 _obsPool->set EpoReProcessing(true);317 _obsPool->setRefSatChangeRequired(true); 310 318 } 311 319 } … … 392 400 if (preProcessing) { 393 401 if (obs->prn() == refPrn) { 394 _obsPool->set EpoReProcessing(true);402 _obsPool->setRefSatChangeRequired(true); 395 403 } 396 404 } … … 412 420 if (preProcessing) { 413 421 if (obs->prn() == refPrn) { 414 _obsPool->set EpoReProcessing(true);422 _obsPool->setRefSatChangeRequired(true); 415 423 } 416 424 } … … 542 550 } 543 551 } 552 553 // 554 //////////////////////////////////////////////////////////////////////////// 555 void t_pppFilter::initDatumTransformation(int numOfUsedLCs) { 556 557 if (_numOfEpochProcessing == 1) { 558 _AA1.ReSize(numOfUsedLCs, _parlist->nPar()); 559 _AA1 = 0.0; 560 _AA2.ReSize(numOfUsedLCs, _parlist->nPar()); 561 _AA2 = 0.0; 562 } 563 } 564 565 // 566 //////////////////////////////////////////////////////////////////////////// 567 void t_pppFilter::datumTransformation() { 568 569 Matrix D21 = (_AA2.t() * _AA2).i() * _AA2.t() * _AA1; 570 571 _QFlt = D21 * _QFlt * D21.t(); 572 } 573 574 575 576
Note:
See TracChangeset
for help on using the changeset viewer.