Changeset 8965 in ntrip for trunk/BNC/src/PPP
- Timestamp:
- Jun 30, 2020, 3:47:40 PM (4 years ago)
- Location:
- trunk/BNC/src/PPP
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppFilter.cpp
r8961 r8965 118 118 // ---------------------------------------- 119 119 if ((OPT->_obsModelType == OPT->DCMcodeBias || 120 OPT->_obsModelType == OPT->DCMphaseBias) && (_numEpoProcessing == 1)){120 OPT->_obsModelType == OPT->DCMphaseBias) &&(_numEpoProcessing == 1)) { 121 121 _numAllUsedLCs = 0; 122 122 for (unsigned iSys = 0; iSys < OPT->systems().size(); iSys++) { … … 125 125 if (OPT->_pseudoObsIono && epoch->pseudoObsIono() == false) { 126 126 _numAllUsedLCs -= 1; // GIM not used 127 } 128 } 129 int modify = 0; 130 if (OPT->_pseudoObsTropo) { 131 modify = -1; 132 } 133 // max Obs 134 int maxObs = allObs.size() * (_numAllUsedLCs + modify); 135 if (OPT->_pseudoObsIono && epoch->pseudoObsIono() == true) { // stecDiff w.r.t refSat 136 maxObs -= 1; 137 } 138 if (OPT->_pseudoObsTropo) { 139 maxObs += 1; // once per station 140 } 141 _datumTrafo->initAA(maxObs, _parlist->nPar()); 127 if (OPT->_pseudoObsTropo) { // if no VTEC values /pseudo obs iono then no pseudo obs tropo 128 _numAllUsedLCs -= 1; 129 } 130 } 131 int modifyLCs = 0; 132 if (OPT->_pseudoObsTropo && 133 OPT->_pseudoObsIono && epoch->pseudoObsIono() == true) { 134 modifyLCs = -1; 135 } 136 // max Obs 137 int maxObs = allObs.size() * (_numAllUsedLCs + modifyLCs); 138 if (OPT->_pseudoObsIono && epoch->pseudoObsIono() == true) { 139 maxObs -= 1; // pseudo obs iono with respect to refSat 140 } 141 if (OPT->_pseudoObsIono && epoch->pseudoObsIono() == true && 142 OPT->_pseudoObsTropo) { 143 maxObs += 1; // pseudo obs tropo once per station 144 } 145 _datumTrafo->initAA(maxObs, _parlist->nPar()); 146 } 142 147 } 143 148 … … 225 230 // Detect Cycle Slips 226 231 // ------------------ 227 228 232 if (detectCycleSlips(LCs, obsVector, refPrn, preProcessing) != success) { 229 233 return failure; … … 231 235 232 236 unsigned usedLCs = LCs.size(); 233 if (OPT->_pseudoObsIono && !pseudoObsIonoAvailable) {234 usedLCs -= 1; // GIM not used235 }236 237 237 238 ColumnVector xSav = _xFlt; … … 239 240 string epoTimeStr = string(_epoTime); 240 241 const vector<t_pppParam*>& params = _parlist->params(); 241 int modify = 0; 242 if (OPT->_pseudoObsTropo) { 243 modify = -1; 242 243 if (OPT->_pseudoObsIono && !pseudoObsIonoAvailable) { 244 usedLCs -= 1; // GIM not used 245 if (OPT->_pseudoObsTropo) { // if no VTEC values /pseudo obs iono then no pseudo obs tropo 246 usedLCs -= 1; 247 } 248 } 249 250 int modifyLCs = 0; 251 if (OPT->_pseudoObsTropo && 252 OPT->_pseudoObsIono && pseudoObsIonoAvailable) { 253 modifyLCs = -1; 244 254 } 245 255 // max Obs 246 unsigned maxObs = obsVector.size() * (usedLCs + modify); 247 if (OPT->_pseudoObsIono && pseudoObsIonoAvailable) { // stecDiff w.r.t refSat 248 maxObs -= 1; 249 } 250 if (OPT->_pseudoObsTropo) { 251 maxObs +=1; // tropo pseudo obs once per station 256 unsigned maxObs = obsVector.size() * (usedLCs + modifyLCs); 257 if (OPT->_pseudoObsIono && pseudoObsIonoAvailable) { 258 maxObs -= 1; // pseudo obs iono with respect to refSat 259 } 260 if (OPT->_pseudoObsIono && pseudoObsIonoAvailable && 261 OPT->_pseudoObsTropo) { 262 maxObs += 1; // pseudo obs tropo once per station 252 263 } 253 264 … … 272 283 for (unsigned ii = 0; ii < obsVector.size(); ii++) { 273 284 t_pppSatObs* obs = obsVector[ii]; 285 unsigned hlp = ii+1; 274 286 if (!obs->outlier()) { 275 287 for (unsigned jj = 0; jj < usedLCs; jj++) { 276 288 const t_lc::type tLC = LCs[jj]; 277 if (tLC == t_lc::GIM && obs->isReference()) {continue;}278 if (tLC == t_lc::Tz0 && ii+1!= obsVector.size()) {continue;}289 if (tLC == t_lc::GIM && obs->isReference()) {continue;} 290 if (tLC == t_lc::Tz0 && hlp != obsVector.size()) {continue;} 279 291 ++iObs; 280 292 usedObs.push_back(obs); … … 465 477 double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA); 466 478 double vv = DotProduct(AA, _xFlt) - ll; 479 467 480 if (fabs(vv) > SLIP) { 468 481 if (preProcessing) { … … 486 499 t_irc t_pppFilter::resetAmb(t_prn prn, const vector<t_pppSatObs*>& obsVector, 487 500 SymmetricMatrix* QSav, ColumnVector* xSav) { 488 501 489 502 t_irc irc = failure; 490 503 vector<t_pppParam*>& params = _parlist->params(); -
trunk/BNC/src/PPP/pppSatObs.cpp
r8961 r8965 650 650 // 651 651 //////////////////////////////////////////////////////////////////////////// 652 void t_pppSatObs::setPseudoObsTropo() { qDebug() << "setPseudoObsTropo";652 void t_pppSatObs::setPseudoObsTropo() { 653 653 _tropo0 = _model._tropo0; 654 654 }
Note:
See TracChangeset
for help on using the changeset viewer.