Changeset 9419 in ntrip for trunk/BNC/src/PPP/pppParlist.cpp
- Timestamp:
- May 3, 2021, 2:18:39 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppParlist.cpp
r9399 r9419 121 121 _sigma0 = OPT->_aprSigCodeBias; 122 122 break; 123 case pBiasG1: case pBiasE1: case pBias C1:124 case pBiasG2: case pBiasE2: case pBias C2:123 case pBiasG1: case pBiasE1: case pBiasR1: case pBiasC1: 124 case pBiasG2: case pBiasE2: case pBiasR2: case pBiasC2: 125 125 _epoSpec = true; 126 126 _sigma0 = OPT->_aprSigPhaseBias; … … 261 261 if ((obs->prn().system() == 'G') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;} 262 262 break; 263 case pBiasR1: 264 if ((obs->prn().system() == 'R') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;} 265 break; 263 266 case pBiasE1: 264 267 if ((obs->prn().system() == 'E') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;} … … 269 272 case pBiasG2: 270 273 if ((obs->prn().system() == 'G') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;} 274 break; 275 case pBiasR2: 276 if ((obs->prn().system() == 'R') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;} 271 277 break; 272 278 case pBiasE2: … … 320 326 ss << "BIA " << left << setw(3) << t_lc::toString(_tLC) << right << " G "; 321 327 break; 322 case cBiasR1: 323 case cBiasR2: 328 case cBiasR1: case pBiasR1: 329 case cBiasR2: case pBiasR2: 324 330 ss << "BIA " << left << setw(3) << t_lc::toString(_tLC) << right << " R "; 325 331 break; … … 351 357 // 352 358 //////////////////////////////////////////////////////////////////////////// 353 t_irc t_pppParlist::set(const bncTime& epoTime, 354 const std::vector<t_pppSatObs*>& obsVector, 359 t_irc t_pppParlist::set(const bncTime& epoTime, const std::vector<t_pppSatObs*>& obsVector, 355 360 const QMap<char, t_pppRefSat*>& refSatMap) { 356 361 … … 374 379 } 375 380 } 381 376 382 else if (par->type() == t_pppParam::amb) { 377 char system = par->prn().system(); 378 t_prn refPrn = t_prn(); 379 if (OPT->_refSatRequired) { 380 refPrn = (refSatMap[system])->prn(); 381 } 382 if ((par->lastObsTime().valid() && 383 (epoTime - par->lastObsTime() > 60.0)) || 384 (refPrn == par->prn())) { 385 remove = true; 383 if (OPT->_obsModelType == OPT->DCMcodeBias || OPT->_obsModelType == OPT->DCMphaseBias) { 384 t_prn refPrn = (refSatMap[par->prn().system()])->prn(); 385 if (par->lastObsTime().valid() && 386 ((epoTime - par->lastObsTime() > 1.0) || (par->prn() == refPrn))) { 387 remove = true; 388 } 389 } 390 else { 391 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) { 392 remove = true; 393 } 386 394 } 387 395 } … … 420 428 } 421 429 430 // Check if ambiguity parameters have observations 431 // ----------------------------------------------- 432 if (OPT->_obsModelType == OPT->DCMcodeBias || 433 OPT->_obsModelType == OPT->DCMphaseBias) { 434 vector<t_pppParam*>::iterator it = _params.begin(); 435 while (it != _params.end()) { 436 t_pppParam* par = *it; 437 bool remove = false; 438 if (par->type() == t_pppParam::amb && !par->lastObsTime().valid()) { 439 remove = true; 440 } 441 if (remove) { 442 delete par; 443 it = _params.erase(it); 444 } 445 else { 446 ++it; 447 } 448 } 449 } 450 451 // check which systems have observations 452 // ------------------------------------- 453 _usedSystems.clear(); 454 for (unsigned jj = 0; jj < obsVector.size(); jj++) { 455 const t_pppSatObs* satObs = obsVector[jj]; 456 char sys = satObs->prn().system(); 457 if (!_usedSystems.contains(sys)) { 458 _usedSystems.append(sys); 459 } 460 } 461 462 if (_usedSystems.size() > 1 && 463 !_usedSystems.contains('G')) { // required to setup ISB w. r. t. GPS 464 return failure; 465 } 466 422 467 // Required Set of Parameters 423 468 // -------------------------- … … 433 478 // -------------------- 434 479 if (OPT->_obsModelType == OPT->DCMcodeBias) { 435 if ( OPT->useSystem('G')) {480 if (_usedSystems.contains('G')) { 436 481 required.push_back(new t_pppParam(t_pppParam::cBiasG1, t_prn(), t_lc::c1)); 437 482 required.push_back(new t_pppParam(t_pppParam::cBiasG2, t_prn(), t_lc::c2)); 438 483 } 439 if ( OPT->useSystem('R')) {484 if (_usedSystems.contains('R')) { 440 485 required.push_back(new t_pppParam(t_pppParam::cBiasR1, t_prn(), t_lc::c1)); 441 486 required.push_back(new t_pppParam(t_pppParam::cBiasR2, t_prn(), t_lc::c2)); 442 487 } 443 if ( OPT->useSystem('E')) {488 if (_usedSystems.contains('E')) { 444 489 required.push_back(new t_pppParam(t_pppParam::cBiasE1, t_prn(), t_lc::c1)); 445 490 required.push_back(new t_pppParam(t_pppParam::cBiasE2, t_prn(), t_lc::c2)); 446 491 } 447 if ( OPT->useSystem('C')) {492 if (_usedSystems.contains('C')) { 448 493 required.push_back(new t_pppParam(t_pppParam::cBiasC1, t_prn(), t_lc::c1)); 449 494 required.push_back(new t_pppParam(t_pppParam::cBiasC2, t_prn(), t_lc::c2)); … … 455 500 if ((OPT->_obsModelType == OPT->DCMphaseBias) || 456 501 (OPT->_obsModelType == OPT->PPPRTK) ) { 457 if ( OPT->useSystem('G')) {502 if (_usedSystems.contains('G')) { 458 503 required.push_back(new t_pppParam(t_pppParam::pBiasG1, t_prn(), t_lc::l1)); 459 504 required.push_back(new t_pppParam(t_pppParam::pBiasG2, t_prn(), t_lc::l2)); 460 505 } 461 if (OPT->useSystem('E')) { 506 if (_usedSystems.contains('R')) { 507 required.push_back(new t_pppParam(t_pppParam::pBiasR1, t_prn(), t_lc::l1)); 508 required.push_back(new t_pppParam(t_pppParam::pBiasR2, t_prn(), t_lc::l2)); 509 } 510 if (_usedSystems.contains('E')) { 462 511 required.push_back(new t_pppParam(t_pppParam::pBiasE1, t_prn(), t_lc::l1)); 463 512 required.push_back(new t_pppParam(t_pppParam::pBiasE2, t_prn(), t_lc::l2)); 464 513 } 465 if ( OPT->useSystem('C')) {514 if (_usedSystems.contains('C')) { 466 515 required.push_back(new t_pppParam(t_pppParam::pBiasC1, t_prn(), t_lc::l1)); 467 516 required.push_back(new t_pppParam(t_pppParam::pBiasC2, t_prn(), t_lc::l2)); 468 517 } 469 518 } 519 470 520 // Receiver Clock 471 521 // -------------- … … 474 524 // GPS-GLONASS Clock Offset 475 525 // ------------------------ 476 if ( OPT->useSystem('R') && OPT->useSystem('G')) {526 if (_usedSystems.contains('G') && _usedSystems.contains('R')) { 477 527 required.push_back(new t_pppParam(t_pppParam::offGR, t_prn(), t_lc::dummy)); 478 528 } 479 529 480 // 530 //GPS-Galileo Clock Offset 481 531 // ------------------------ 482 if ( OPT->useSystem('E') && OPT->useSystem('G')) {532 if (_usedSystems.contains('G') && _usedSystems.contains('E')) { 483 533 required.push_back(new t_pppParam(t_pppParam::offGE, t_prn(), t_lc::dummy)); 484 534 } … … 486 536 // GPS-BDS Clock Offset 487 537 // ------------------------ 488 if ( OPT->useSystem('C') && OPT->useSystem('G')) {538 if (_usedSystems.contains('G') && _usedSystems.contains('C')) { 489 539 required.push_back(new t_pppParam(t_pppParam::offGC, t_prn(), t_lc::dummy)); 490 540 } … … 509 559 // ----------- 510 560 for (unsigned jj = 0; jj < obsVector.size(); jj++) { 511 const t_pppSatObs* 561 const t_pppSatObs* satObs = obsVector[jj]; 512 562 if ((OPT->_obsModelType == OPT->IF) || 513 563 (OPT->_obsModelType == OPT->PPPRTK) ||
Note:
See TracChangeset
for help on using the changeset viewer.