- Timestamp:
- Mar 11, 2024, 3:28:32 PM (6 months ago)
- Location:
- trunk/BNC/src/PPP
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppClient.cpp
r10373 r10384 67 67 } 68 68 } 69 _offGps = 0.0;70 69 _offGlo = 0.0; 71 70 _offGal = 0.0; … … 256 255 ColumnVector& xyzc, bool print) { 257 256 t_lc::type tLC = t_lc::dummy; 258 char sysBancroft = 'G';259 257 int numBancroft = obsVector.size(); 260 261 _usedSystems['G'] = _usedSystems['R'] = _usedSystems['E'] = _usedSystems['C'] = 0;262 for (unsigned jj = 0; jj < obsVector.size(); jj++) {263 const t_pppSatObs* satObs = obsVector[jj];264 char sys = satObs->prn().system();265 _usedSystems[sys]++;266 }267 268 if ((numBancroft = _usedSystems.value('G')) >= _opt->_minObs) {269 sysBancroft = 'G';270 }271 else if ((numBancroft = _usedSystems.value('E')) >= _opt->_minObs) {272 sysBancroft = 'E';273 }274 else if ((numBancroft = _usedSystems.value('C')) >= _opt->_minObs) {275 sysBancroft = 'C';276 }277 else if ((numBancroft = _usedSystems.value('R')) >= _opt->_minObs) {278 sysBancroft = 'R';279 }280 else {281 LOG << "t_pppClient::cmpBancroft not enough observations: " << endl;282 return failure;283 }284 258 285 259 while (_running) { … … 288 262 for (unsigned ii = 0; ii < obsVector.size(); ii++) { 289 263 const t_pppSatObs* satObs = obsVector.at(ii); 290 if (satObs->prn().system() == sysBancroft) {291 264 if (tLC == t_lc::dummy) { 292 265 if (satObs->isValid(t_lc::cIF)) { … … 309 282 } 310 283 } 311 }312 284 if (iObs + 1 < _opt->_minObs) { 313 285 LOG << "t_pppClient::cmpBancroft not enough observations: " << iObs + 1 << endl; … … 329 301 const t_pppSatObs* satObs = obsVector.at(ii); 330 302 char sys = satObs->prn().system(); 331 if (satObs->isValid() && sys == sysBancroft &&303 if (satObs->isValid() && 332 304 (!satObs->modelSet() || satObs->eleSat() >= _opt->_minEle) ) { 333 305 ColumnVector rr = satObs->xc().Rows(1,3) - xyzc.Rows(1,3); … … 346 318 if (!_epoTimeRover.undef()) LOG << string(_epoTimeRover); 347 319 LOG << "\n---------------------------------------------------------------\n"; 348 LOG << string(epoTime) << " BANCROFT " << sysBancroft << ": "320 LOG << string(epoTime) << " BANCROFT: " 349 321 << setw(14) << setprecision(3) << xyzc[0] << ' ' 350 322 << setw(14) << setprecision(3) << xyzc[1] << ' ' … … 364 336 365 337 return success; 366 }367 // Compute A Priori Gps Clock Offset368 //////////////////////////////////////////////////////////////////////////////369 double t_pppClient::cmpOffGps(vector<t_pppSatObs*>& obsVector) {370 371 t_lc::type tLC = t_lc::dummy;372 double offGps = 0.0;373 374 if (_opt->useSystem('G')) {375 while (obsVector.size() > 0) {376 offGps = 0.0;377 double maxRes = 0.0;378 int maxResIndex = -1;379 unsigned nObs = 0;380 t_prn maxResPrn;381 for (unsigned ii = 0; ii < obsVector.size(); ii++) {382 const t_pppSatObs* satObs = obsVector.at(ii);383 if (satObs->prn().system() == 'G') {384 if (tLC == t_lc::dummy) {385 tLC = satObs->isValid(t_lc::cIF) ? t_lc::cIF : t_lc::c1;386 }387 if (satObs->isValid(tLC) && (!satObs->modelSet() || satObs->eleSat() >= _opt->_minEle)) {388 double ll = satObs->obsValue(tLC) - satObs->cmpValue(tLC);389 ++nObs;390 offGps += ll;391 if (fabs(ll) > fabs(maxRes)) {392 maxRes = ll;393 maxResIndex = ii;394 maxResPrn = satObs->prn();395 }396 }397 }398 }399 400 if (nObs > 0) {401 offGps = offGps / nObs;402 }403 else {404 offGps = 0.0;405 }406 407 if (fabs(maxRes) > 100.0) {408 LOG << "t_pppClient::cmpOffGps outlier " << maxResPrn.toString() << " " << maxRes << endl;409 delete obsVector.at(maxResIndex);410 obsVector.erase(obsVector.begin() + maxResIndex);411 }412 else {413 break;414 }415 }416 }417 return offGps;418 338 } 419 339 … … 718 638 } 719 639 720 _offGps = cmpOffGps(_obsRover);721 640 _offGlo = cmpOffGlo(_obsRover); 722 641 _offGal = cmpOffGal(_obsRover); -
trunk/BNC/src/PPP/pppClient.h
r10373 r10384 36 36 const bncAntex* antex() const {return _antex;} 37 37 const t_pppStation* staRover() const {return _staRover;} 38 double offGps() const {return _offGps;}39 38 double offGlo() const {return _offGlo;} 40 39 double offGal() const {return _offGal;} 41 40 double offBds() const {return _offBds;} 42 void resetOffGps() {_offGps = 0.0;}43 void resetOffGlo() {_offGlo = 0.0;}44 void resetOffGal() {_offGal = 0.0;}45 void resetOffBds() {_offBds = 0.0;}46 41 47 42 … … 66 61 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector, 67 62 ColumnVector& xyzc, bool print); 68 double cmpOffGps(std::vector<t_pppSatObs*>& obsVector);69 63 double cmpOffGlo(std::vector<t_pppSatObs*>& obsVector); 70 64 double cmpOffGal(std::vector<t_pppSatObs*>& obsVector); … … 79 73 bncAntex* _antex; 80 74 t_pppFilter* _filter; 81 double _offGps;82 75 double _offGlo; 83 76 double _offGal; -
trunk/BNC/src/PPP/pppFilter.cpp
r10381 r10384 76 76 string epoTimeStr = string(_epoTime); 77 77 78 const QMap<char, int> &usedSystems = _parlist->usedSystems();79 80 78 // Set Parameters 81 79 // -------------- … … 92 90 // Process Satellite Systems separately 93 91 // ------------------------------------ 94 for ( auto it = usedSystems.begin(); it != usedSystems.end(); ++it) {95 char sys = it.key();96 unsignednum = 0;92 for (unsigned iSys = 0; iSys < OPT->systems().size(); iSys++) { 93 char sys = OPT->systems()[iSys]; 94 int num = 0; 97 95 vector<t_pppSatObs*> obsVector; 98 96 for (unsigned jj = 0; jj < allObs.size(); jj++) { … … 167 165 for (unsigned ii = 0; ii < obsVector.size(); ii++) { 168 166 t_pppSatObs *obs = obsVector[ii]; 169 char sys = obs->prn().system();170 167 if (iOutlier == 0) { 171 168 obs->resetOutlier(); … … 185 182 AA[iObs][iPar] = par->partial(_epoTime, obs, tLC); 186 183 } 187 double offGps = 0.0; 188 if (sys == 'G' && tLC != t_lc::MW) { 189 offGps = PPP_CLIENT->offGps(); 190 } 191 double offGlo = 0.0; 192 if (sys == 'R' && tLC != t_lc::MW) { 193 offGlo = PPP_CLIENT->offGlo(); 194 } 195 double offGal = 0.0; 196 if (sys == 'E' && tLC != t_lc::MW) { 197 offGal = PPP_CLIENT->offGal(); 198 } 199 double offBds = 0.0; 200 if (sys == 'C' && tLC != t_lc::MW) { 201 offBds = PPP_CLIENT->offBds(); 202 } 203 ll[iObs] = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1)); 184 185 ll[iObs] = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1)); 204 186 PP[iObs] = 1.0 / (obs->sigma(tLC) * obs->sigma(tLC)); 205 187 } … … 218 200 for (unsigned ii = 0; ii < obsVector.size(); ii++) { 219 201 t_pppSatObs *obs = obsVector[ii]; 220 char sys = obs->prn().system();221 202 if (!obs->outlier()) { 222 203 for (unsigned jj = 0; jj < usedLCs; jj++) { … … 233 214 AA[iObs][iPar] = par->partial(_epoTime, obs, tLC); 234 215 } 235 double offGps = 0.0; 236 if (sys == 'G' && tLC != t_lc::MW) { 237 offGps = PPP_CLIENT->offGps(); 238 } 239 double offGlo = 0.0; 240 if (sys == 'R' && tLC != t_lc::MW) { 241 offGlo = PPP_CLIENT->offGlo(); 242 } 243 double offGal = 0.0; 244 if (sys == 'E' && tLC != t_lc::MW) { 245 offGal = PPP_CLIENT->offGal(); 246 } 247 double offBds = 0.0; 248 if (sys == 'C' && tLC != t_lc::MW) { 249 offBds = PPP_CLIENT->offBds(); 250 } 251 ll[iObs] = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1)); 216 ll[iObs] = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1)); 252 217 PP[iObs] = 1.0 / (obs->sigma(tLC) * obs->sigma(tLC)); 253 218 } … … 351 316 for (unsigned iObs = 0; iObs < obsVector.size(); iObs++) { 352 317 const t_pppSatObs *obs = obsVector[iObs]; 353 char sys = obs->prn().system();354 318 355 319 // Check set Slips and Jump Counters … … 383 347 384 348 // Check Pre-Fit Residuals 385 / *-----------------------349 // ----------------------- 386 350 else { 387 351 ColumnVector AA(params.size()); … … 390 354 AA[iPar] = par->partial(_epoTime, obs, tLC); 391 355 } 392 double offGps = 0.0; 393 if (sys == 'G' && tLC != t_lc::MW) { 394 offGps = PPP_CLIENT->offGps(); 395 } 396 double offGlo = 0.0; 397 if (sys == 'R' && tLC != t_lc::MW) { 398 offGlo = PPP_CLIENT->offGlo(); 399 } 400 double offGal = 0.0; 401 if (sys == 'E' && tLC != t_lc::MW) { 402 offGal = PPP_CLIENT->offGal(); 403 } 404 double offBds = 0.0; 405 if (sys == 'C' && tLC != t_lc::MW) { 406 offBds = PPP_CLIENT->offBds(); 407 } 408 double ll = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds - obs->cmpValue(tLC) - DotProduct(_x0, AA); 356 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA); 409 357 double vv = DotProduct(AA, _xFlt) - ll; 410 358 … … 414 362 resetAmb(obs->prn(), obsVector, tLC); 415 363 } 416 } */364 } 417 365 } 418 366 } -
trunk/BNC/src/PPP/pppParlist.cpp
r10373 r10384 74 74 const t_pppSatObs* obs = obsVector->at(ii); 75 75 if (obs->prn() == _prn) { 76 double offGps = 0.0;77 if (_prn.system() == 'G' && tLC != t_lc::MW) {78 offGps = PPP_CLIENT->offGps();79 }80 76 double offGlo = 0.0; 81 77 if (_prn.system() == 'R' && tLC != t_lc::MW) { … … 90 86 offBds = PPP_CLIENT->offBds(); 91 87 } 92 _x0 = floor((obs->obsValue(tLC) - offG ps - offGlo - offGal - offBds - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);88 _x0 = floor((obs->obsValue(tLC) - offGlo - offGal - offBds - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5); 93 89 break; 94 90 } 95 91 } 96 92 } 97 break;98 case offGps:99 _epoSpec = true;100 _sigma0 = OPT->_aprSigClkOff;101 _x0 = PPP_CLIENT->offGps();102 93 break; 103 94 case offGlo: … … 180 171 if (tLC == t_lc::GIM) {return 0.0;} 181 172 return 1.0; 182 case offGps:183 if (tLC == t_lc::GIM) {return 0.0;}184 return (obs->prn().system() == 'G') ? 1.0 : 0.0;185 173 case offGlo: 186 174 if (tLC == t_lc::GIM) {return 0.0;} … … 311 299 ss << "REC_CLK "; 312 300 break; 313 case offGps:314 ss << "OFF_GPS ";315 break;316 301 case offGlo: 317 302 ss << "OFF_GLO "; … … 385 370 par->type() == t_pppParam::crdX || 386 371 par->type() == t_pppParam::crdY || 387 par->type() == t_pppParam::crdZ) { 372 par->type() == t_pppParam::crdZ || 373 par->type() == t_pppParam::ion || 374 par->type() == t_pppParam::cBiasC1 || 375 par->type() == t_pppParam::cBiasC2 || 376 par->type() == t_pppParam::cBiasE1 || 377 par->type() == t_pppParam::cBiasE2 || 378 par->type() == t_pppParam::cBiasR1 || 379 par->type() == t_pppParam::cBiasR2 || 380 par->type() == t_pppParam::pBiasC1 || 381 par->type() == t_pppParam::pBiasC2 || 382 par->type() == t_pppParam::pBiasE1 || 383 par->type() == t_pppParam::pBiasE2 || 384 par->type() == t_pppParam::pBiasR1 || 385 par->type() == t_pppParam::pBiasR2) { 388 386 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) { 389 387 remove = true; 390 388 } 391 389 } 392 else if (par->type() == t_pppParam::ion) {393 if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 5.0)) {394 remove = true;395 }396 }397 390 398 391 if (remove) { … … 406 399 ++it; 407 400 } 408 }409 410 // check which systems have observations411 // -------------------------------------412 _usedSystems['G'] = _usedSystems['R'] = _usedSystems['E'] = _usedSystems['C'] = 0;413 for (unsigned jj = 0; jj < obsVector.size(); jj++) {414 const t_pppSatObs* satObs = obsVector[jj];415 char sys = satObs->prn().system();416 _usedSystems[sys]++;417 401 } 418 402 … … 441 425 } 442 426 443 if (OPT->_ionoModelType == OPT->PPP_RTK || OPT->_pseudoObsIono) {444 vector<t_pppParam*>::iterator it = _params.begin();445 while (it != _params.end()) {446 t_pppParam* par = *it;447 // Check if systems have to be presented per biases448 // ----------------------------------------------449 if (( par->type() == t_pppParam::cBiasG1 ||450 par->type() == t_pppParam::cBiasG2 ||451 par->type() == t_pppParam::pBiasG1 ||452 par->type() == t_pppParam::pBiasG2) && !_usedSystems.value('G')) {453 #ifdef BNC_DEBUG_PPP454 //LOG << "remove1 " << par->toString() << std::endl;455 #endif456 delete par;457 it = _params.erase(it);458 }459 else if ((par->type() == t_pppParam::cBiasR1 ||460 par->type() == t_pppParam::cBiasR2 ||461 par->type() == t_pppParam::pBiasR1 ||462 par->type() == t_pppParam::pBiasR2) && !_usedSystems.value('R')){463 #ifdef BNC_DEBUG_PPP464 //LOG << "remove1 " << par->toString() << std::endl;465 #endif466 delete par;467 it = _params.erase(it);468 }469 else if ((par->type() == t_pppParam::cBiasE1 ||470 par->type() == t_pppParam::cBiasE2 ||471 par->type() == t_pppParam::pBiasE1 ||472 par->type() == t_pppParam::pBiasE2) && !_usedSystems.value('E')) {473 #ifdef BNC_DEBUG_PPP474 //LOG << "remove1 " << par->toString() << std::endl;475 #endif476 delete par;477 it = _params.erase(it);478 }479 else if ((par->type() == t_pppParam::cBiasC1 ||480 par->type() == t_pppParam::cBiasC2 ||481 par->type() == t_pppParam::pBiasC1 ||482 par->type() == t_pppParam::pBiasC2) && !_usedSystems.value('C')) {483 #ifdef BNC_DEBUG_PPP484 //LOG << "remove1 " << par->toString() << std::endl;485 #endif486 delete par;487 it = _params.erase(it);488 }489 else {490 ++it;491 }492 }493 }494 495 427 // Required Set of Parameters 496 428 // -------------------------- … … 509 441 // GLONASS Clock Offset 510 442 // -------------------- 511 if ( _usedSystems.value('R') && 512 (_usedSystems.value('G') || _usedSystems.value('E') || _usedSystems.value('C'))) { 443 if (OPT->useSystem('R')) { 513 444 required.push_back(new t_pppParam(t_pppParam::offGlo, t_prn(), t_lc::dummy)); 514 }515 else {516 PPP_CLIENT->resetOffGlo();517 445 } 518 446 519 447 // Galileo Clock Offset 520 448 // -------------------- 521 if ( _usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') >= OPT->_minObs) {449 if (OPT->useSystem('E')) { 522 450 required.push_back(new t_pppParam(t_pppParam::offGal, t_prn(), t_lc::dummy)); 523 }524 else {525 PPP_CLIENT->resetOffGal();526 }527 528 // GPS Clock Offset529 // --------------------530 if (_usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') < OPT->_minObs) {531 required.push_back(new t_pppParam(t_pppParam::offGps, t_prn(), t_lc::dummy));532 }533 else {534 PPP_CLIENT->resetOffGps();535 451 } 536 452 537 453 // BDS Clock Offset 538 454 // ---------------- 539 if (_usedSystems.contains('C') && 540 (_usedSystems.contains('G') || _usedSystems.contains('E'))) { 455 if (OPT->useSystem('C')) { 541 456 required.push_back(new t_pppParam(t_pppParam::offBds, t_prn(), t_lc::dummy)); 542 }543 else {544 PPP_CLIENT->resetOffBds();545 457 } 546 458 … … 577 489 // Receiver Code Biases 578 490 // -------------------- 579 if (OPT->_ionoModelType == OPT->PPP_RTK) {491 if (OPT->_ionoModelType == OPT->PPP_RTK) { 580 492 std::vector<t_lc::type> lc; 581 if ( _usedSystems.contains('G')) {493 if (OPT->useSystem('G')) { 582 494 lc = OPT->LCs('G'); 583 495 if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) { … … 588 500 } 589 501 } 590 if ( _usedSystems.contains('R')) {502 if (OPT->useSystem('R')) { 591 503 lc = OPT->LCs('R'); 592 504 if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) { … … 597 509 } 598 510 } 599 if ( _usedSystems.contains('E')) {511 if (OPT->useSystem('E')) { 600 512 lc = OPT->LCs('E'); 601 513 if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) { … … 606 518 } 607 519 } 608 if ( _usedSystems.contains('C')) {520 if (OPT->useSystem('C')) { 609 521 lc = OPT->LCs('C'); 610 522 if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) { … … 616 528 } 617 529 } 530 618 531 if (OPT->_pseudoObsIono) { 619 532 std::vector<t_lc::type> lc; 620 if ( _usedSystems.contains('G')) {533 if (OPT->useSystem('G')) { 621 534 lc = OPT->LCs('G'); 622 535 if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) { … … 624 537 } 625 538 } 626 if ( _usedSystems.contains('R')) {539 if (OPT->useSystem('R')) { 627 540 lc = OPT->LCs('R'); 628 541 if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) { … … 630 543 } 631 544 } 632 if ( _usedSystems.contains('E')) {545 if (OPT->useSystem('E')) { 633 546 lc = OPT->LCs('E'); 634 547 if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) { … … 636 549 } 637 550 } 638 if ( _usedSystems.contains('C')) {551 if (OPT->useSystem('C')) { 639 552 lc = OPT->LCs('C'); 640 553 if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) { … … 644 557 } 645 558 646 // Receiver Phase Biases647 // ---------------------648 559 if (OPT->_ionoModelType == OPT->PPP_RTK) { 649 560 std::vector<t_lc::type> lc; 650 if ( _usedSystems.contains('G')) {561 if (OPT->useSystem('G')) { 651 562 lc = OPT->LCs('G'); 652 563 if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) { … … 657 568 } 658 569 } 659 if ( _usedSystems.contains('R')) {570 if (OPT->useSystem('R')) { 660 571 lc = OPT->LCs('R'); 661 572 if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) { … … 666 577 } 667 578 } 668 if ( _usedSystems.contains('E')) {579 if (OPT->useSystem('E')) { 669 580 lc = OPT->LCs('E'); 670 581 if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) { … … 675 586 } 676 587 } 677 if ( _usedSystems.contains('C')) {588 if (OPT->useSystem('C')) { 678 589 lc = OPT->LCs('C'); 679 590 if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) { -
trunk/BNC/src/PPP/pppParlist.h
r10373 r10384 14 14 class t_pppParam { 15 15 public: 16 enum e_type {crdX, crdY, crdZ, rClk, offG ps, offGlo, offGal, offBds, trp, ion, amb,16 enum e_type {crdX, crdY, crdZ, rClk, offGlo, offGal, offBds, trp, ion, amb, 17 17 cBiasG1, cBiasR1, cBiasE1, cBiasC1, pBiasG1, pBiasR1, pBiasE1, pBiasC1, 18 18 cBiasG2, cBiasR2, cBiasE2, cBiasC2, pBiasG2, pBiasR2, pBiasE2, pBiasC2}; … … 104 104 const std::vector<t_pppParam*>& params() const {return _params;} 105 105 std::vector<t_pppParam*>& params() {return _params;} 106 const QMap<char, int>& usedSystems() const {return _usedSystems;}107 106 void printResult(const bncTime& epoTime, const SymmetricMatrix& QQ, 108 107 const ColumnVector& xx) const; … … 111 110 private: 112 111 std::vector<t_pppParam*> _params; 113 QMap<char, int> _usedSystems;114 112 }; 115 113 -
trunk/BNC/src/PPP/pppSatObs.cpp
r10373 r10384 33 33 using namespace std; 34 34 35 const double GLO_WEIGHT_FACTOR = 1.0; 35 const double GLO_WEIGHT_FACTOR = 5.0; 36 const double BDS_WEIGHT_FACTOR = 1.0; 36 37 37 38 // Constructor … … 61 62 // 62 63 //////////////////////////////////////////////////////////////////////////// 63 void t_pppSatObs::prepareObs(const t_satObs& pppSatObs) { //cout << "SATELLITE: " << _prn.toString() << endl;64 void t_pppSatObs::prepareObs(const t_satObs& pppSatObs) { 64 65 65 66 _model.reset(); … … 353 354 retVal = sqrt(retVal); 354 355 355 // De-Weight GLO356 // De-Weight R+C 356 357 // ------------- 357 if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {358 if (_prn.system() == 'R') { 358 359 retVal *= GLO_WEIGHT_FACTOR; 360 } 361 if (_prn.system() == 'C') { 362 retVal *= BDS_WEIGHT_FACTOR; 359 363 } 360 364 … … 394 398 395 399 retVal = sqrt(retVal); 396 397 // Enlarge maxRes GLO398 // ------------------399 if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {400 retVal *= GLO_WEIGHT_FACTOR;401 }402 400 403 401 return retVal; … … 660 658 for (unsigned ii = 0; ii < OPT->LCs(sys).size(); ii++) { 661 659 t_lc::type tLC = OPT->LCs(sys)[ii]; 662 double offGps = 0.0;663 if (_prn.system() == 'G' && tLC != t_lc::MW) {664 offGps = PPP_CLIENT->offGps();665 }666 double offGlo = 0;667 if (sys == 'R' && tLC != t_lc::MW) {668 offGlo = PPP_CLIENT->offGlo();669 }670 double offGal = 0;671 if (sys == 'E' && tLC != t_lc::MW) {672 offGal = PPP_CLIENT->offGal();673 }674 double offBds = 0;675 if (sys == 'C' && tLC != t_lc::MW) {676 offBds = PPP_CLIENT->offBds();677 }678 660 LOG << "OBS-CMP " << setw(4) << t_lc::toString(tLC) << ": " << _prn.toString() << " " 679 661 << setw(12) << setprecision(3) << obsValue(tLC) << " " 680 662 << setw(12) << setprecision(3) << cmpValue(tLC) << " " 681 << setw(12) << setprecision(3) << obsValue(tLC) - offGps - offGlo - offGal - offBds- cmpValue(tLC) << endl;663 << setw(12) << setprecision(3) << obsValue(tLC) - cmpValue(tLC) << endl; 682 664 } 683 665 }
Note:
See TracChangeset
for help on using the changeset viewer.