- Timestamp:
- Apr 14, 2023, 11:56:49 AM (19 months ago)
- Location:
- trunk/BNC/src/PPP
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppClient.cpp
r10028 r10031 474 474 bool epochReProcessing = false; 475 475 _numEpoProcessing = 0; 476 _historicalRefSats.clear(); 476 if (!_historicalRefSats.isEmpty()) { 477 _historicalRefSats.clear(); 478 } 477 479 478 480 do { 479 _numEpoProcessing++; 481 if ((_numEpoProcessing++) > 30) { 482 LOG << "t_pppClient::processEpoch: _numEpoProcessing > 30" << endl; 483 return finish(failure,12); 484 } 485 480 486 if (_obsPool->refSatChanged()) { 481 487 if(_filter->datumTransformation(_refSatMap) != success) { … … 488 494 } 489 495 } 496 490 497 // Prepare Observations of the Rover 491 498 // --------------------------------- … … 538 545 LOG << "PUT EPOCH t_pppClient::processEpoch " << _epoTimeRover.timestr().c_str() << endl; 539 546 #endif 540 547 541 548 // Process Epoch in Filter 542 549 // ----------------------- … … 552 559 LOG << "pppClient: _obsPool->refSatChangeRequired() " << endl; 553 560 epochReProcessing = true; 554 #ifdef BNC_DEBUG_PPP 561 #ifdef BNC_DEBUG_PPP 555 562 LOG << "DELETE EPOCH" << endl; 556 #endif 563 #endif 557 564 _obsPool->deleteLastEpoch(); 558 565 _filter->restoreState(0); … … 585 592 return finish(failure,11); 586 593 } 587 return finish(success, 12);594 return finish(success,0); 588 595 } 589 596 -
trunk/BNC/src/PPP/pppClient.h
r10003 r10031 38 38 const bncAntex* antex() const {return _antex;} 39 39 const t_pppStation* staRover() const {return _staRover;} 40 double offGlo() const {return _offGlo;}41 double offGal() const {return _offGal;}42 double offBds() const {return _offBds;}43 40 44 41 std::ostringstream& log() {return *_log;} … … 77 74 bncAntex* _antex; 78 75 t_pppFilter* _filter; 79 double _offGlo;80 double _offGal;81 double _offBds;82 76 std::vector<t_pppSatObs*> _obsRover; 83 77 QMap<char, t_pppRefSat*> _refSatMap; -
trunk/BNC/src/PPP/pppFilter.cpp
r10028 r10031 95 95 // Status Vector, Variance-Covariance Matrix 96 96 // ----------------------------------------- 97 ColumnVector xFltOld = _xFlt;97 ColumnVector xFltOld = _xFlt; 98 98 SymmetricMatrix QFltOld = _QFlt; 99 99 setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero); … … 467 467 // ----------------------- 468 468 else { 469 ColumnVector AA(nPar); 470 for (unsigned iPar = 0; iPar < nPar; iPar++) { 471 const t_pppParam *par = params[iPar]; 472 AA[iPar] = par->partial(_epoTime, obs, tLC, refPrn); 473 } 474 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) 475 - DotProduct(_x0, AA); 476 double vv = DotProduct(AA, _xFlt) - ll; 477 if (fabs(vv) > SLIP) { 478 LOG << epoTimeStr << " cycle slip detected " << t_lc::toString(tLC) 479 << ' ' << obs->prn().toString() << ' ' << setw(8) 480 << setprecision(4) << vv << endl; 481 if (preProcessing) { 482 _obsPool->setRefSatChangeRequired(sys, true); 483 } else { 469 if (!preProcessing) { 470 ColumnVector AA(nPar); 471 for (unsigned iPar = 0; iPar < nPar; iPar++) { 472 const t_pppParam *par = params[iPar]; 473 AA[iPar] = par->partial(_epoTime, obs, tLC, refPrn); 474 } 475 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) 476 - DotProduct(_x0, AA); 477 double vv = DotProduct(AA, _xFlt) - ll; 478 if (fabs(vv) > SLIP) { 479 LOG << epoTimeStr << " cycle slip detected " << t_lc::toString(tLC) 480 << ' ' << obs->prn().toString() << ' ' << setw(8) 481 << setprecision(4) << vv << endl; 484 482 resetAmb(obs->prn(), obsVector, tLC); 485 483 } … … 682 680 #ifdef BNC_DEBUG_PPP 683 681 LOG << "GET LAST EPOCH" << endl; 684 #endif 682 #endif 685 683 if (!epoch) { 686 684 LOG << "t_pppFilter::datumTransformation: !lastEpoch" << endl; … … 688 686 } 689 687 _epoTime = epoch->epoTime(); 690 688 691 689 LOG.setf(ios::fixed); 692 690 LOG << "DATUM TRANSFORMATION in Epoch "<< string(_epoTime) << endl; … … 785 783 } 786 784 787 ColumnVector xFltOld = _xFlt;785 ColumnVector xFltOld = _xFlt; 788 786 SymmetricMatrix QFltOld = _QFlt; 789 787 … … 821 819 // ================= 822 820 _datumTrafo->switchAA(); 823 821 824 822 _obsPool->putEpoch(_epoTime, allObs, pseudoObsIono, refSatMap); 825 #ifdef BNC_DEBUG_PPP 823 #ifdef BNC_DEBUG_PPP 826 824 LOG << "PUT EPOCH t_pppFilter::datumTransformation " << _epoTime.timestr().c_str() << endl; 827 825 #endif -
trunk/BNC/src/PPP/pppParlist.cpp
r10023 r10031 506 506 (!par->lastObsTime().valid() || (epoTime - par->lastObsTime() > 0.0))) { 507 507 #ifdef BNC_DEBUG_PPP 508 //LOG << "remove1 " << par->toString() << std::endl;508 //LOG << "remove1 " << par->toString() << std::endl; 509 509 #endif 510 510 lostSats.append(par->prn()); … … 519 519 par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('G')) { 520 520 #ifdef BNC_DEBUG_PPP 521 521 //LOG << "remove1 " << par->toString() << std::endl; 522 522 #endif 523 523 delete par; … … 529 529 par->type() == t_pppParam::pBiasR2) && !usedSystems().contains('R')) { 530 530 #ifdef BNC_DEBUG_PPP 531 //LOG << "remove1 " << par->toString() << std::endl;531 //LOG << "remove1 " << par->toString() << std::endl; 532 532 #endif 533 533 delete par; … … 539 539 par->type() == t_pppParam::pBiasE2) && !usedSystems().contains('E')) { 540 540 #ifdef BNC_DEBUG_PPP 541 //LOG << "remove1 " << par->toString() << std::endl;541 //LOG << "remove1 " << par->toString() << std::endl; 542 542 #endif 543 543 delete par; … … 549 549 par->type() == t_pppParam::pBiasC2) && !usedSystems().contains('C')) { 550 550 #ifdef BNC_DEBUG_PPP 551 //LOG << "remove1 " << par->toString() << std::endl;551 //LOG << "remove1 " << par->toString() << std::endl; 552 552 #endif 553 553 delete par; … … 566 566 (lostSats.contains(par->prn()) || (epoTime - par->lastObsTime() > 0.0))) { 567 567 #ifdef BNC_DEBUG_PPP 568 568 //LOG << "remove1 " << par->toString() << std::endl; 569 569 #endif 570 570 delete par; … … 741 741 else { 742 742 #ifdef BNC_DEBUG_PPP 743 //LOG << "push_back parReq " << parReq->toString() << std::endl;743 //LOG << "push_back parReq " << parReq->toString() << std::endl; 744 744 #endif 745 745 _params.push_back(parReq);
Note:
See TracChangeset
for help on using the changeset viewer.