Changeset 2720 in ntrip
- Timestamp:
- Nov 27, 2010, 12:36:14 PM (14 years ago)
- Location:
- trunk/BNC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncmodel.cpp
r2671 r2720 60 60 const double MAXRES_PHASE_GPS = 0.10; 61 61 const double MAXRES_PHASE_GLO = 0.05; 62 const double QUICKSTART = 120.0;63 const double sig_clk_0 = 1000.0;64 const double sig_trp_0 = 0.10;65 const double sig_trp_p = 1e-8;66 const double sig_amb_0_GPS = 1000.0;67 const double sig_amb_0_GLO = 1000.0;68 const double sig_L3_GPS = 0.02;69 const double sig_L3_GLO = 0.05;70 62 71 63 // Constructor … … 140 132 bncSettings settings; 141 133 142 double sig_crd_0 = 100.0; 143 144 if (settings.value("pppOrigin").toString() == "QuickStart - Static" || 145 settings.value("pppOrigin").toString() == "QuickStart - Mobile") { 146 sig_crd_0 = 000.01; 147 } 134 // Observation Sigmas 135 // ------------------ 136 _sigP3 = 5.0; 137 if (!settings.value("pppSigmaCode").toString().isEmpty()) { 138 _sigP3 = settings.value("pppSigmaCode").toDouble(); 139 } 140 _sigL3 = 0.02; 141 if (!settings.value("pppSigmaPhase").toString().isEmpty()) { 142 _sigP3 = settings.value("pppSigmaPhase").toDouble(); 143 } 144 145 // Parameter Sigmas 146 // ---------------- 147 _sigCrd0 = 100.0; 148 if (!settings.value("pppSigCrd0").toString().isEmpty()) { 149 _sigCrd0 = settings.value("pppSigCrd0").toDouble(); 150 } 151 _sigCrdP = 100.0; 152 if (!settings.value("pppSigCrdP").toString().isEmpty()) { 153 _sigCrdP = settings.value("pppSigCrdP").toDouble(); 154 } 155 _sigTrp0 = 0.1; 156 if (!settings.value("pppSigTrp0").toString().isEmpty()) { 157 _sigTrp0 = settings.value("pppSigTrp0").toDouble(); 158 } 159 _sigTrpP = 1e-6; 160 if (!settings.value("pppSigTrpP").toString().isEmpty()) { 161 _sigTrpP = settings.value("pppSigTrpP").toDouble(); 162 } 163 _sigClk0 = 1000.0; 164 _sigAmb0 = 1000.0; 165 166 // Quick-Start Mode 167 // ---------------- 168 _quickStart = 0; 169 if (settings.value("pppOrigin").toString() == "PPP" && 170 !settings.value("pppQuickStart").toString().isEmpty()) { 171 _quickStart = settings.value("pppQuickStart").toDouble() * 60.0; 172 _sigCrd0 = 0.01; 173 } 148 174 149 175 connect(this, SIGNAL(newMessage(QByteArray,bool)), 150 176 ((bncApp*)qApp), SLOT(slotMessage(const QByteArray,bool))); 151 152 _static = false;153 if ( Qt::CheckState(settings.value("pppStatic").toInt()) == Qt::Checked) {154 _static = true;155 }156 177 157 178 _usePhase = false; … … 194 215 bncParam* pp = _params[iPar-1]; 195 216 if (pp->isCrd()) { 196 _QQ(iPar,iPar) = sig_crd_0 * sig_crd_0;217 _QQ(iPar,iPar) = _sigCrd0 * _sigCrd0; 197 218 } 198 219 else if (pp->type == bncParam::RECCLK) { 199 _QQ(iPar,iPar) = sig_clk_0 * sig_clk_0;220 _QQ(iPar,iPar) = _sigClk0 * _sigClk0; 200 221 } 201 222 else if (pp->type == bncParam::TROPO) { 202 _QQ(iPar,iPar) = sig_trp_0 * sig_trp_0;223 _QQ(iPar,iPar) = _sigTrp0 * _sigTrp0; 203 224 } 204 225 } … … 393 414 } 394 415 395 bool quickStartInit = false; 396 double sig_crd_p = 100.0; 397 398 if ( (settings.value("pppOrigin").toString() == "QuickStart - Static" || 399 settings.value("pppOrigin").toString() == "QuickStart - Mobile") && 400 _startTime.secsTo(QDateTime::currentDateTime()) < QUICKSTART ) { 401 quickStartInit = true; 402 sig_crd_p = 0.0; 416 // Use different white noise for quick-start mode 417 // ---------------------------------------------- 418 double sigCrdP_used = _sigCrdP; 419 if ( _quickStart > 0.0 && 420 _quickStart > _startTime.secsTo(QDateTime::currentDateTime()) ) { 421 sigCrdP_used = 0.0; 403 422 } 404 423 … … 411 430 // ----------- 412 431 if (pp->type == bncParam::CRD_X) { 413 if (firstCrd || !_static) {414 if ( quickStartInit) {432 if (firstCrd) { 433 if (settings.value("pppOrigin").toString() == "PPP") { 415 434 pp->xx = settings.value("pppRefCrdX").toDouble(); 416 435 } … … 419 438 } 420 439 } 421 _QQ(iPar,iPar) += sig _crd_p * sig_crd_p;440 _QQ(iPar,iPar) += sigCrdP_used * sigCrdP_used; 422 441 } 423 442 else if (pp->type == bncParam::CRD_Y) { 424 if (firstCrd || !_static) {425 if ( quickStartInit) {443 if (firstCrd) { 444 if (settings.value("pppOrigin").toString() == "PPP") { 426 445 pp->xx = settings.value("pppRefCrdY").toDouble(); 427 446 } … … 430 449 } 431 450 } 432 _QQ(iPar,iPar) += sig _crd_p * sig_crd_p;451 _QQ(iPar,iPar) += sigCrdP_used * sigCrdP_used; 433 452 } 434 453 else if (pp->type == bncParam::CRD_Z) { 435 if (firstCrd || !_static) {436 if ( quickStartInit) {454 if (firstCrd) { 455 if (settings.value("pppOrigin").toString() == "PPP") { 437 456 pp->xx = settings.value("pppRefCrdZ").toDouble(); 438 457 } … … 441 460 } 442 461 } 443 _QQ(iPar,iPar) += sig _crd_p * sig_crd_p;462 _QQ(iPar,iPar) += sigCrdP_used * sigCrdP_used; 444 463 } 445 464 … … 451 470 _QQ(iPar, jj) = 0.0; 452 471 } 453 _QQ(iPar,iPar) = sig_clk_0 * sig_clk_0;472 _QQ(iPar,iPar) = _sigClk0 * _sigClk0; 454 473 } 455 474 … … 457 476 // ------------------ 458 477 else if (pp->type == bncParam::TROPO) { 459 _QQ(iPar,iPar) += sig_trp_p * sig_trp_p;478 _QQ(iPar,iPar) += _sigTrpP * _sigTrpP; 460 479 } 461 480 } … … 555 574 bncParam* par = _params[ii-1]; 556 575 if (par->index_old == 0) { 557 if (par->prn[0] == 'R') { 558 _QQ(par->index, par->index) = sig_amb_0_GLO * sig_amb_0_GLO; 559 } 560 else { 561 _QQ(par->index, par->index) = sig_amb_0_GPS * sig_amb_0_GPS; 562 } 576 _QQ(par->index, par->index) = _sigAmb0 * _sigAmb0; 563 577 } 564 578 par->index_old = par->index; 565 579 } 566 580 } 567 568 581 } 569 582 … … 650 663 ++iObs; 651 664 ll(iObs) = satData->L3 - cmpValue(satData, true); 652 PP(iObs,iObs) = 1.0 / ( sig_L3_GPS * sig_L3_GPS);665 PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3); 653 666 for (int iPar = 1; iPar <= _params.size(); iPar++) { 654 667 if (_params[iPar-1]->type == bncParam::AMB_L3 && … … 672 685 673 686 ll(iObs) = satData->L3 - cmpValue(satData, true); 674 PP(iObs,iObs) = 1.0 / ( sig_L3_GLO * sig_L3_GLO);687 PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3); 675 688 for (int iPar = 1; iPar <= _params.size(); iPar++) { 676 689 if (_params[iPar-1]->type == bncParam::AMB_L3 && -
trunk/BNC/bncmodel.h
r2670 r2720 114 114 ColumnVector _xcBanc; 115 115 ColumnVector _ellBanc; 116 bool _static;117 116 bool _usePhase; 118 117 bool _estTropo; … … 124 123 QMap<QString, double> _windUpSum; 125 124 QVector<pppPos*> _posAverage; 125 double _quickStart; 126 double _sigCrd0; 127 double _sigCrdP; 128 double _sigTrp0; 129 double _sigTrpP; 130 double _sigL3; 131 double _sigP3; 132 double _sigAmb0; 133 double _sigClk0; 126 134 }; 127 135
Note:
See TracChangeset
for help on using the changeset viewer.