- Timestamp:
- Feb 25, 2023, 2:43:10 PM (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppFilter.cpp
r9977 r9978 362 362 << maxOutlier << endl; 363 363 if (par) { 364 if ( par->ambResetCandidate() || (OPT->_obsModelType == OPT->DCMcodeBias || OPT->_obsModelType == OPT->DCMphaseBias) ) { 365 resetAmb(par->prn(), obsVector, &QSav, &xSav); 366 } 367 else { 368 par->setAmbResetCandidate(); 369 obs->setOutlier(); 370 } 364 resetAmb(par->prn(), obsVector, &QSav, &xSav); 371 365 } 372 366 else { … … 461 455 // ----------------------- 462 456 else { 463 if (refPrn != t_prn()) { 464 return success; 465 } 466 ColumnVector AA(nPar); 467 for (unsigned iPar = 0; iPar < nPar; iPar++) { 468 const t_pppParam *par = params[iPar]; 469 AA[iPar] = par->partial(_epoTime, obs, tLC, refPrn); 470 } 471 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) 472 - DotProduct(_x0, AA); 473 double vv = DotProduct(AA, _xFlt) - ll; 474 if (fabs(vv) > SLIP) { 475 LOG << epoTimeStr << " cycle slip detected " << t_lc::toString(tLC) 476 << ' ' << obs->prn().toString() << ' ' << setw(8) 477 << setprecision(4) << vv << endl; 478 if (preProcessing) { 457 if (OPT->_obsModelType == OPT->DCMcodeBias || OPT->_obsModelType == OPT->DCMphaseBias) { 458 if (!preProcessing || refPrn != t_prn()) { 459 return success; 460 } 461 ColumnVector AA(nPar); 462 for (unsigned iPar = 0; iPar < nPar; iPar++) { 463 const t_pppParam *par = params[iPar]; 464 AA[iPar] = par->partial(_epoTime, obs, tLC, refPrn); 465 } 466 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA); 467 double vv = DotProduct(AA, _xFlt) - ll; 468 if (fabs(vv) > SLIP) { 469 LOG << epoTimeStr << " cycle slip detected " << t_lc::toString(tLC) 470 << ' ' << obs->prn().toString() << ' ' << setw(8) 471 << setprecision(4) << vv << endl; 479 472 _obsPool->setRefSatChangeRequired(sys, true); 480 } else {481 resetAmb(obs->prn(), obsVector);482 473 } 483 474 }
Note:
See TracChangeset
for help on using the changeset viewer.