Changeset 9527 in ntrip for trunk/BNC/src/PPP
- Timestamp:
- Nov 2, 2021, 5:00:00 PM (3 years ago)
- Location:
- trunk/BNC/src/PPP
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppClient.cpp
r9508 r9527 617 617 else { 618 618 LOG << "t_pppFilter::datumTransformation() == success" << endl; 619 _filter->rememberState(1); 619 620 } 620 621 } … … 648 649 if (_obsPool->refSatChanged()) { 649 650 LOG << "t_pppFilter: refSatChanged()" << endl; 650 651 651 epochReProcessing = true; 652 continue; 652 653 } 653 654 } … … 682 683 epochReProcessing = true; 683 684 _obsPool->deleteLastEpoch(); 685 _filter->restoreState(0); 684 686 setHistoricalRefSats(); 685 687 } 686 688 else { 687 689 epochReProcessing = false; 690 _filter->rememberState(0); 688 691 } 689 692 … … 879 882 t_pppObsPool::t_epoch* epoch = _obsPool->lastEpoch(); 880 883 const QMap<char, t_pppRefSat*>& refSatMapLastEpoch = epoch->refSatMap(); 881 884 882 885 QMapIterator<char, t_pppRefSat*> it(_refSatMap); 883 886 while (it.hasNext()) { -
trunk/BNC/src/PPP/pppFilter.cpp
r9526 r9527 73 73 74 74 const QMap<char, t_pppRefSat*>& refSatMap = epoch->refSatMap(); 75 76 if (OPT->_obsModelType == OPT->DCMcodeBias ||77 OPT->_obsModelType == OPT->DCMphaseBias) {78 rememberState();79 }80 81 75 //-- 82 76 // Set Parameters … … 85 79 } 86 80 81 if (OPT->_obsModelType == OPT->DCMcodeBias || 82 OPT->_obsModelType == OPT->DCMphaseBias) { 87 83 #ifdef BNC_DEBUG_PPP 88 _parlist.printParams(); 84 LOG << "processEpoch: printParams after set" << endl; 85 _parlist.printParams(_epoTime); 89 86 #endif 90 87 } 91 88 // Status Vector, Variance-Covariance Matrix 92 89 // ----------------------------------------- … … 94 91 SymmetricMatrix QFltOld = _QFlt; 95 92 setStateVectorAndVarCovMatrix(xFltOld, QFltOld); 96 97 93 98 94 // Pre-Process Satellite Systems separately … … 122 118 _xFlt = xFltOld; 123 119 _QFlt = QFltOld; 120 restoreState(2); 124 121 return failure; 125 122 } … … 130 127 _xFlt = xFltOld; 131 128 _QFlt = QFltOld; 132 restoreState();133 129 return success; 134 130 } … … 709 705 // ============================================================= 710 706 if (resetRefSatellitesLastEpoch(allObs, refSatMap, refSatMapLastEpoch) != true) { 711 LOG << " refsatChange required" << endl;707 LOG << "datumTransformation: refsatChange required" << endl; 712 708 return success; 713 709 } … … 724 720 725 721 #ifdef BNC_DEBUG_PPP 726 _parlist.printParams(); 722 LOG << "datumTransformation: printParams after set" << endl; 723 _parlist.printParams(_epoTime); 727 724 #endif 728 725 … … 812 809 // ==================== 813 810 #ifdef BNC_DEBUG_PPP 814 LOG << "AA1\n"; _datumTrafo->printMatrix(_datumTrafo->AA1(), _datumTrafo->numObs(), _datumTrafo->numPar());815 LOG << "AA2\n"; _datumTrafo->printMatrix(_datumTrafo->AA2(), _datumTrafo->numObs(), _datumTrafo->numPar());811 //LOG << "AA1\n"; _datumTrafo->printMatrix(_datumTrafo->AA1(), _datumTrafo->numObs(), _datumTrafo->numPar()); 812 //LOG << "AA2\n"; _datumTrafo->printMatrix(_datumTrafo->AA2(), _datumTrafo->numObs(), _datumTrafo->numPar()); 816 813 #endif 817 814 if(_datumTrafo->computeTrafoMatrix() != success) { … … 828 825 829 826 #ifdef BNC_DEBUG_PPP 830 LOG << "xFltOld:\n" << xFltOld << endl;831 LOG << "xFlt :\n" << _xFlt << endl;827 //LOG << "xFltOld:\n" << xFltOld << endl; 828 //LOG << "xFlt :\n" << _xFlt << endl; 832 829 #endif 833 830 … … 853 850 854 851 _obsPool->putEpoch(_epoTime, allObs, peseudoObsIono, refSatMap); 855 856 rememberState();857 852 858 853 return success; -
trunk/BNC/src/PPP/pppFilter.h
r9526 r9527 29 29 void initDatumTransformation(const std::vector<t_pppSatObs*>& allObs, bool pseudoObsIono); 30 30 unsigned setTrafoObs(); 31 void restoreState( ) { LOG << "restore parameter from last epoch: _parlist = _parlist_old" << endl;31 void restoreState(int num) { LOG << "Restore parameter from last epoch : _parlist = _parlist_sav ("<< num << ")\n"; 32 32 _QFlt = _QFlt_sav; 33 33 _parlist = _parlist_sav; 34 34 } 35 void rememberState( ) { LOG << "Remember parameters from epoch before: _parlist_old = _parlist" << endl;35 void rememberState(int num) { LOG << "Remember parameters from epoch before: _parlist_sav = _parlist ("<< num << ")\n"; 36 36 _QFlt_sav = _QFlt; 37 37 _parlist_sav = _parlist; … … 128 128 _D21.ReSize(_numPar, _numPar); _D21 = 0.0; 129 129 } 130 t_irc prepareAA(const Matrix& AA, int ind) { 130 t_irc prepareAA(const Matrix& AA, int ind) {//LOG << "prepare AA" << ind << "\n"; 131 131 Matrix* Prep = &_AA2; 132 132 if (ind == 1) { -
trunk/BNC/src/PPP/pppParlist.cpp
r9526 r9527 452 452 char sys = par->prn().system(); 453 453 t_prn refPrn = (refSatMap[sys])->prn(); 454 if (par->lastObsTime().valid() && 455 ((epoTime - par->lastObsTime() > 1.0) || (par->prn() == refPrn))) { 454 if (par->lastObsTime().valid() && par->prn() == refPrn) { 456 455 remove = true; 457 456 } … … 465 464 466 465 else if (par->type() == t_pppParam::ion) { 467 if (OPT->_obsModelType == OPT->DCMcodeBias || 468 OPT->_obsModelType == OPT->DCMphaseBias) { 469 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 1.0)) { 470 remove = true; 471 } 472 } 473 else { 474 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) { 475 remove = true; 476 } 466 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) { 467 remove = true; 477 468 } 478 469 } 479 470 if (remove) { 480 471 #ifdef BNC_DEBUG_PPP 481 LOG << "remove " << par->toString() << std::endl;472 LOG << "remove0 " << par->toString() << std::endl; 482 473 #endif 483 474 delete par; … … 513 504 } 514 505 515 // Check if ambiguity parameters have observations 516 // ----------------------------------------------- 506 517 507 if (OPT->_obsModelType == OPT->DCMcodeBias || 518 508 OPT->_obsModelType == OPT->DCMphaseBias) { 509 // Check if ambiguity parameters have observations 510 // ----------------------------------------------- 519 511 vector<t_pppParam*>::iterator it = _params.begin(); 512 QList<t_prn> lostSats; 520 513 while (it != _params.end()) { 521 514 t_pppParam* par = *it; 522 bool remove = false; 523 if (par->type() == t_pppParam::amb && !par->lastObsTime().valid()) { 524 remove = true; 525 } 526 if (remove) { 515 if ((par->type() == t_pppParam::amb) && 516 (!par->lastObsTime().valid() || epoTime - par->lastObsTime() == 1.0)) { 527 517 #ifdef BNC_DEBUG_PPP 528 LOG << "remove " << par->toString() << std::endl;518 LOG << "remove1 " << par->toString() << std::endl; 529 519 #endif 520 lostSats.append(par->prn()); 521 delete par; 522 it = _params.erase(it); 523 } 524 else { 525 ++it; 526 } 527 } 528 // remove respective iono parameters 529 // --------------------------------- 530 it = _params.begin(); 531 while (it != _params.end()) { 532 t_pppParam* par = *it; 533 if ((par->type() == t_pppParam::ion) && 534 (lostSats.contains(par->prn()) || epoTime - par->lastObsTime() == 1.0)) { 535 #ifdef BNC_DEBUG_PPP 536 LOG << "remove1 " << par->toString() << std::endl; 537 #endif 530 538 delete par; 531 539 it = _params.erase(it); … … 828 836 // 829 837 //////////////////////////////////////////////////////////////////////////// 830 void t_pppParlist::printParams( ) {838 void t_pppParlist::printParams(const bncTime& epoTime) { 831 839 832 840 for (unsigned iPar = 0; iPar < _params.size(); iPar++) { 833 LOG << "t_pppFilter::processEpoch par_cur " << _params[iPar]->toString() 834 << " lastObsTime().valid() " << _params[iPar]->lastObsTime().valid() << endl; 835 } 836 } 837 841 LOG << _params[iPar]->toString() 842 << "\t lastObsTime().valid() \t" << _params[iPar]->lastObsTime().valid() 843 << "\t epoTime - par->lastObsTime() \t" << (epoTime - _params[iPar]->lastObsTime()) 844 << endl; 845 } 846 } 847 -
trunk/BNC/src/PPP/pppParlist.h
r9525 r9527 113 113 void printResult(const bncTime& epoTime, const SymmetricMatrix& QQ, 114 114 const ColumnVector& xx) const; 115 void printParams( );115 void printParams(const bncTime& epoTime); 116 116 117 117 private:
Note:
See TracChangeset
for help on using the changeset viewer.