Changeset 2294 in ntrip
- Timestamp:
- Feb 14, 2010, 6:30:54 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNS/bns.cpp
r2293 r2294 409 409 410 410 QString prn; 411 ColumnVector xx(1 0); xx = 0.0;411 ColumnVector xx(14); xx = 0.0; 412 412 t_eph* ep = 0; 413 413 … … 418 418 if ( _ephList.contains(prn) ) { 419 419 in >> xx(1) >> xx(2) >> xx(3) >> xx(4) >> xx(5) 420 >> xx(6) >> xx(7) >> xx(8) >> xx(9) >> xx(10); 420 >> xx(6) >> xx(7) >> xx(8) >> xx(9) >> xx(10) 421 >> xx(11) >> xx(12) >> xx(13) >> xx(14); 421 422 xx(1) *= 1e3; // x-crd 422 423 xx(2) *= 1e3; // y-crd … … 425 426 xx(5) *= 1e-6; // rel. corr. 426 427 // xx(6), xx(7), xx(8) ... PhaseCent - CoM 427 // xx(9) P1-C1 DCB, xx(1) P1-P2 DCB 428 // xx(9) .. P1-C1 DCB, xx(10) ... P1-P2 DCB 429 // xx(11) ... dT 430 xx(12) *= 1e3; // x-crd at time + dT 431 xx(13) *= 1e3; // y-crd at time + dT 432 xx(14) *= 1e3; // z-crd at time + dT 428 433 429 434 t_ephPair* pair = _ephList[prn]; … … 526 531 QString& outLine) { 527 532 528 ColumnVector xB(4); 529 ColumnVector vv(3); 530 531 ep->position(GPSweek, GPSweeks, xB, vv); 532 533 ColumnVector xyz = xx.Rows(1,3); 534 535 // Correction Center of Mass -> Antenna Phase Center 536 // ------------------------------------------------- 537 if (! CoM) { 538 xyz(1) += xx(6); 539 xyz(2) += xx(7); 540 xyz(3) += xx(8); 541 } 542 543 if (trafo != "IGS05") { 544 crdTrafo(GPSweek, xyz, trafo); 545 } 546 547 ColumnVector dx = xB.Rows(1,3) - xyz; 533 const double secPerWeek = 7.0 * 86400.0; 548 534 549 535 ColumnVector rsw(3); 550 XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw); 551 552 double dClk = (xB(4) - xx(4)) * 299792458.0; 553 536 ColumnVector rsw2(3); 537 double dClk; 538 539 for (int ii = 1; ii <= 2; ++ii) { 540 541 int GPSweek12 = GPSweek; 542 double GPSweeks12 = GPSweeks; 543 if (ii == 2) { 544 GPSweeks12 += xx(11); 545 if (GPSweeks12 > secPerWeek) { 546 GPSweek12 += 1; 547 GPSweeks12 -= secPerWeek; 548 } 549 } 550 551 ColumnVector xB(4); 552 ColumnVector vv(3); 553 554 ep->position(GPSweek12, GPSweeks12, xB, vv); 555 556 ColumnVector xyz; 557 if (ii == 1) { 558 xyz = xx.Rows(1,3); 559 } 560 else { 561 xyz = xx.Rows(12,14); 562 } 563 564 // Correction Center of Mass -> Antenna Phase Center 565 // ------------------------------------------------- 566 if (! CoM) { 567 xyz(1) += xx(6); 568 xyz(2) += xx(7); 569 xyz(3) += xx(8); 570 } 571 572 if (trafo != "IGS05") { 573 crdTrafo(GPSweek12, xyz, trafo); 574 } 575 576 ColumnVector dx = xB.Rows(1,3) - xyz; 577 578 if (ii == 1) { 579 XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw); 580 dClk = (xB(4) - xx(4)) * 299792458.0; 581 } 582 else { 583 XYZ_to_RSW(xB.Rows(1,3), vv, dx, rsw2); 584 } 585 } 554 586 555 587 if (sd) { … … 560 592 sd->Orbit.DeltaAlongTrack = rsw(2); 561 593 sd->Orbit.DeltaCrossTrack = rsw(3); 594 sd->Orbit.DotDeltaRadial = (rsw2(1) - rsw(1)) / xx(11); 595 sd->Orbit.DotDeltaAlongTrack = (rsw2(2) - rsw(2)) / xx(11); 596 sd->Orbit.DotDeltaCrossTrack = (rsw2(3) - rsw(3)) / xx(11); 562 597 } 563 598
Note:
See TracChangeset
for help on using the changeset viewer.