Changeset 10248 in ntrip
- Timestamp:
- Nov 8, 2023, 4:46:27 PM (12 months ago)
- Location:
- trunk/BNC/src/PPP
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppFilter.cpp
r10232 r10248 268 268 if (par) { 269 269 // if (par->ambResetCandidate()) { 270 resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav); 270 resetAmb(obs->prn(), obsVector, maxOutlierLC, &QSav, &xSav); 271 adjustNoise(t_pppParam::ion, obs->prn(), 0.1, &QSav); 271 272 // } 272 273 // else { … … 343 344 if (slip) { 344 345 resetAmb(obs->prn(), obsVector, tLC); 346 adjustNoise(t_pppParam::ion, obs->prn(), 0.1); 345 347 } 346 348 … … 361 363 << obs->prn().toString() << ' ' << setw(8) << setprecision(4) << vv << endl; 362 364 resetAmb(obs->prn(), obsVector, tLC); 365 adjustNoise(t_pppParam::ion, obs->prn(), 0.1); 363 366 } 364 367 } … … 372 375 // Reset Ambiguity Parameter (cycle slip) 373 376 //////////////////////////////////////////////////////////////////////////// 374 t_irc t_pppFilter::resetAmb( t_prn prn, const vector<t_pppSatObs*> &obsVector,375 t_lc::type lc,SymmetricMatrix *QSav, ColumnVector *xSav) {377 t_irc t_pppFilter::resetAmb(const t_prn prn, const vector<t_pppSatObs*> &obsVector, t_lc::type lc, 378 SymmetricMatrix *QSav, ColumnVector *xSav) { 376 379 377 380 t_irc irc = failure; … … 381 384 if (par->type() == t_pppParam::amb && par->prn() == prn) { 382 385 int ind = par->indexNew(); 386 double eleSat = par->ambEleSat(); 383 387 bncTime firstObsTime; 384 388 bncTime lastObsTime = par->lastObsTime(); … … 396 400 par->setFirstObsTime(firstObsTime); 397 401 par->setLastObsTime(lastObsTime); 402 par->setAmbEleSat(eleSat); 398 403 params[iPar] = par; 399 404 for (unsigned ii = 1; ii <= params.size(); ii++) { … … 412 417 } 413 418 _x0[ind] = par->x0(); 414 irc =success;419 return success; 415 420 } 416 421 } … … 419 424 } 420 425 421 // Add noise to individual parameter 422 //////////////////////////////////////////////////////////////////////////// 423 t_irc t_pppFilter::addNoiseToPar(t_pppParam::e_type parType, t_prn prn, double noise) { 426 // Adjust process noise of individual parameters 427 //////////////////////////////////////////////////////////////////////////// 428 t_irc t_pppFilter::adjustNoise(t_pppParam::e_type parType, t_prn prn, double noise, 429 SymmetricMatrix *QSav) { 430 424 431 t_irc irc = failure; 425 vector<t_pppParam*> ¶ms = _parlist->params();432 vector<t_pppParam*>& params = _parlist->params(); 426 433 for (unsigned iPar = 0; iPar < params.size(); iPar++) { 427 434 t_pppParam *par = params[iPar]; 428 435 if (par->type() == parType && par->prn() == prn) { 429 436 int ind = par->indexNew(); 430 LOG << string(_epoTime) << " ADD NOISE TO " << par->toString() << endl; 431 par->setIndex(ind); 437 //LOG << string(_epoTime) << " ADJUSTNOISE " << par->toString() << endl; 438 for (unsigned ii = 1; ii <= params.size(); ii++) { 439 _QFlt(ii, ind + 1) = 0.0; 440 if (QSav) { 441 (*QSav)(ii, ind + 1) = 0.0; 442 } 443 } 432 444 _QFlt(ind + 1, ind + 1) = noise * noise; 445 if (QSav) { 446 (*QSav)(ind + 1, ind + 1) = _QFlt(ind + 1, ind + 1); 447 } 433 448 irc = success; 434 449 } -
trunk/BNC/src/PPP/pppFilter.h
r10168 r10248 83 83 SymmetricMatrix* QSav = 0, ColumnVector* xSav = 0); 84 84 85 t_irc addNoiseToPar(t_pppParam::e_type parType, t_prn prn, double noise); 85 t_irc adjustNoise(t_pppParam::e_type parType, t_prn prn, double noise, 86 SymmetricMatrix* QSav = 0); 86 87 87 88 void cmpDOP(const std::vector<t_pppSatObs*>& obsVector);
Note:
See TracChangeset
for help on using the changeset viewer.