Changeset 10794 in ntrip for trunk/BNC/src
- Timestamp:
- Dec 4, 2025, 5:28:20 PM (8 days ago)
- File:
-
- 1 edited
-
trunk/BNC/src/pppModel.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/pppModel.cpp
r10791 r10794 554 554 // GPS Satellite unit Vectors sz, sy, sx 555 555 // ------------------------------------- 556 ColumnVector sHlp; 557 if (!useYaw) { 558 sHlp = t_astro::Sun(etime.mjddec()); 559 } 560 else { 556 ColumnVector xSun = t_astro::Sun(etime.mjddec()); 557 xSun /= xSun.NormFrobenius(); 558 ColumnVector sz = -rSat / rSat.NormFrobenius(); 559 ColumnVector sy = crossproduct(sz, xSun); 560 ColumnVector sx = crossproduct(sy, sz); 561 562 if (useYaw) { 561 563 ColumnVector Omega(3); 562 564 Omega[0] = 0.0; 563 565 Omega[1] = 0.0; 564 566 Omega[2] = t_CST::omega; 565 sHlp = vSat + crossproduct(Omega, rSat); 566 } 567 sHlp /= sHlp.NormFrobenius(); 568 569 ColumnVector sz = -rSat / rSat.NormFrobenius(); 570 ColumnVector sy = crossproduct(sz, sHlp); 571 ColumnVector sx = crossproduct(sy, sz); 572 573 //// beg test 574 // { 575 // ColumnVector sun = t_astro::Sun(etime.mjddec()); 576 // sun /= sun.NormFrobenius(); 577 // ColumnVector syHlp = crossproduct(sz, sun); 578 // double yawDef = acos( DotProduct(sy, syHlp)); 579 // cout.setf(ios::fixed); 580 // cout << string(etime) << ' ' << prn.toString() 581 // << ' ' << setw(7) << setprecision(3) << yaw * 180.0 / M_PI 582 // << ' ' << setw(7) << setprecision(3) << yawDef * 180.0 / M_PI << endl; 583 // } 584 //// end test 585 586 // Yaw angle consideration (Rodrigues rotation formula) 587 // ---------------------------------------------------- 588 if (useYaw) { 567 ColumnVector vSatMod = vSat + crossproduct(Omega, rSat); 568 vSatMod /= vSatMod.NormFrobenius(); 569 //// beg test 570 double yawDef = acos( DotProduct(sx, vSatMod)); 571 cout.setf(ios::fixed); 572 cout << string(etime) << ' ' << prn.system() << ' ' << prn.number() << ' ' 573 << ' ' << setw(7) << setprecision(3) << yaw * 180.0 / M_PI 574 << ' ' << setw(7) << setprecision(3) << yawDef * 180.0 / M_PI << endl; 575 //// end test 576 sy = crossproduct(sz, vSatMod); 577 sx = crossproduct(sy, sz); 578 579 // Rodrigues rotation formula 580 // -------------------------- 589 581 double cosY = cos(yaw); 590 582 double sinY = sin(yaw); … … 592 584 sy = sy * cosY + crossproduct(sz, sy) * sinY; // + sz * DotProduct(sz, sy) * (1.0 - cosY); 593 585 } 594 586 595 587 // Effective Dipole of the GPS Satellite Antenna 596 588 // ---------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.
