Changeset 4930 in ntrip
- Timestamp:
- Feb 21, 2013, 8:02:10 PM (12 years ago)
- Location:
- trunk/BNC/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncmodel.cpp
r4802 r4930 58 58 const unsigned MINOBS = 5; 59 59 const double MINELE = 10.0 * M_PI / 180.0; 60 const double MAXRES_CODE = 1 5.0;61 const double MAXRES_PHASE_GPS = 0.04;62 const double MAXRES_PHASE_GLONASS = 0.08;60 const double MAXRES_CODE = 1015.0; 61 const double MAXRES_PHASE_GPS = 100.04; 62 const double MAXRES_PHASE_GLONASS = 100.08; 63 63 const double GLONASS_WEIGHT_FACTOR = 5.0; 64 64 -
trunk/BNC/src/bncpppclient.cpp
r4799 r4930 353 353 354 354 double dtRao = tt - cc->tRao; 355 ColumnVector raoHlp = cc->rao + cc->dotRao * dtRao 356 + 0.5 * cc->dotDotRao * dtRao * dtRao; 355 // ColumnVector raoHlp = cc->rao + cc->dotRao * dtRao 356 // + 0.5 * cc->dotDotRao * dtRao * dtRao; 357 358 ColumnVector raoHlp = cc->rao; 357 359 358 360 if (raoHlp.norm_Frobenius() > 20.0) { -
trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
r4913 r4930 490 490 QString& outLine) { 491 491 492 const double secPerWeek = 7.0 * 86400.0; 493 492 // Broadcast Position and Velocity 493 // ------------------------------- 494 ColumnVector xB(4); 495 ColumnVector vB(3); 496 eph->position(GPSweek, GPSweeks, xB.data(), vB.data()); 497 498 // Precise Position and Velocity 499 // ----------------------------- 500 ColumnVector xP = xx.Rows(1,3); 501 ColumnVector vP = (xx.Rows(12,14) - xx.Rows(1,3)) / xx(11); 502 503 // Correction Center of Mass -> Antenna Phase Center 504 // ------------------------------------------------- 505 if (! _CoM) { 506 xP(1) += xx(6); 507 xP(2) += xx(7); 508 xP(3) += xx(8); 509 } 510 511 double dc = 0.0; 512 if (_crdTrafo != "IGS08") { 513 crdTrafo(GPSweek, xP, dc); 514 } 515 516 // Difference in xyz 517 // ----------------- 518 ColumnVector dx = xB.Rows(1,3) - xP; 519 ColumnVector dv = vB - vP; 520 521 // Difference in RSW 522 // ----------------- 494 523 ColumnVector rsw(3); 495 ColumnVector rsw2(3); 496 double dClk; 497 498 for (int ii = 1; ii <= 2; ++ii) { 499 500 int GPSweek12 = GPSweek; 501 double GPSweeks12 = GPSweeks; 502 if (ii == 2) { 503 GPSweeks12 += xx(11); 504 if (GPSweeks12 > secPerWeek) { 505 GPSweek12 += 1; 506 GPSweeks12 -= secPerWeek; 507 } 508 } 509 510 ColumnVector xB(4); 511 ColumnVector vv(3); 512 513 eph->position(GPSweek12, GPSweeks12, xB.data(), vv.data()); 514 515 ColumnVector xyz; 516 if (ii == 1) { 517 xyz = xx.Rows(1,3); 518 } 519 else { 520 xyz = xx.Rows(12,14); 521 } 522 523 // Correction Center of Mass -> Antenna Phase Center 524 // ------------------------------------------------- 525 if (! _CoM) { 526 xyz(1) += xx(6); 527 xyz(2) += xx(7); 528 xyz(3) += xx(8); 529 } 530 531 double dc = 0.0; 532 if (_crdTrafo != "IGS08") { 533 crdTrafo(GPSweek12, xyz, dc); 534 } 535 536 ColumnVector dx = xB.Rows(1,3) - xyz ; 537 538 if (ii == 1) { 539 XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw); 540 dClk = (xx(4) + xx(5) - xB(4) + dc) * t_CST::c; 541 } 542 else { 543 XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw2); 544 } 545 } 524 XYZ_to_RSW(xB.Rows(1,3), vB, dx, rsw); 525 526 ColumnVector dotRsw(3); 527 XYZ_to_RSW(xB.Rows(1,3), vB, dv, dotRsw); 528 529 // Clock Correction 530 // ---------------- 531 double dClk = (xx(4) + xx(5) - xB(4) + dc) * t_CST::c; 546 532 547 533 if (sd) { 548 sd->ID = prn.mid(1).toInt();549 sd->IOD = eph->IOD();550 sd->Clock.DeltaA0 = dClk;551 sd->Orbit.DeltaRadial = rsw(1);552 sd->Orbit.DeltaAlongTrack = rsw(2);553 sd->Orbit.DeltaCrossTrack = rsw(3);554 sd->Orbit.DotDeltaRadial = (rsw2(1) - rsw(1)) / xx(11);555 sd->Orbit.DotDeltaAlongTrack = (rsw2(2) - rsw(2)) / xx(11);556 sd->Orbit.DotDeltaCrossTrack = (rsw2(3) - rsw(3)) / xx(11);534 sd->ID = prn.mid(1).toInt(); 535 sd->IOD = eph->IOD(); 536 sd->Clock.DeltaA0 = dClk; 537 sd->Orbit.DeltaRadial = rsw(1); 538 sd->Orbit.DeltaAlongTrack = rsw(2); 539 sd->Orbit.DeltaCrossTrack = rsw(3); 540 sd->Orbit.DotDeltaRadial = dotRsw(1); 541 sd->Orbit.DotDeltaAlongTrack = dotRsw(2); 542 sd->Orbit.DotDeltaCrossTrack = dotRsw(3); 557 543 } 558 544
Note:
See TracChangeset
for help on using the changeset viewer.