Changeset 9485 in ntrip for trunk/BNC/src
- Timestamp:
- Jul 20, 2021, 10:41:07 PM (3 years ago)
- Location:
- trunk/BNC/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppSatObs.cpp
r9473 r9485 397 397 _model._azSat = atan2(neu[1], neu[0]); 398 398 399 // Sun unit vector 400 ColumnVector xSun = t_astro::Sun(_time.mjddec()); 401 xSun /= xSun.norm_Frobenius(); 402 403 // Satellite unit vectors sz, sy, sx 404 ColumnVector sz = -rSat / rSat.norm_Frobenius(); 405 ColumnVector sy = crossproduct(sz, xSun); 406 ColumnVector sx = crossproduct(sy, sz); 407 408 sx /= sx.norm_Frobenius(); 409 sy /= sy.norm_Frobenius(); 410 411 // LOS unit vector satellite --> receiver 412 ColumnVector rho = rRec - rSat; 413 rho /= rho.norm_Frobenius(); 414 415 // LOS vector in satellite frame 416 ColumnVector u(3); 417 u(1) = dotproduct(sx, rho); 418 u(2) = dotproduct(sy, rho); 419 u(3) = dotproduct(sz, rho); 420 421 // Azimuth and elevation in satellite antenna frame 422 _model._elTx = atan2(u(3),sqrt(pow(u(2),2)+pow(u(1),2))); 423 _model._azTx = atan2(u(2),u(1)); 424 425 399 426 // Satellite Clocks 400 427 // ---------------- … … 423 450 t_frequency::type frqType = static_cast<t_frequency::type>(ii); 424 451 bool found; 425 _model._antPCO[ii] = PPP_CLIENT->antex()->rcvCorr(station->antName(), frqType, 426 _model._eleSat, _model._azSat, found); 452 QString prn(_prn.toString().c_str()); 453 _model._antPCO[ii] = PPP_CLIENT->antex()->rcvCorr(station->antName(), frqType, _model._eleSat, _model._azSat, found); 454 _model._antPCO[ii] += PPP_CLIENT->antex()->satCorr(prn, frqType, _model._elTx, _model._azTx, found); 455 if (OPT->_isAPC) { 456 // the PCOs as given in the satellite antenna correction for all frequencies 457 // have to be reduced by the PCO of the reference frequency 458 if (_prn.system() == 'G') { 459 _model._antPCO[ii] -= PPP_CLIENT->antex()->satCorr(prn, t_frequency::G1, _model._elTx, _model._azTx, found); 460 } 461 else if (_prn.system() == 'R') { 462 _model._antPCO[ii] -= PPP_CLIENT->antex()->satCorr(prn, t_frequency::R1, _model._elTx, _model._azTx, found); 463 } 464 else if (_prn.system() == 'E') { 465 _model._antPCO[ii] -= PPP_CLIENT->antex()->satCorr(prn, t_frequency::E1, _model._elTx, _model._azTx, found); 466 } 467 else if (_prn.system() == 'C') { 468 _model._antPCO[ii] -= PPP_CLIENT->antex()->satCorr(prn, t_frequency::C2, _model._elTx, _model._azTx, found); 469 } 470 } 427 471 } 428 472 } -
trunk/BNC/src/PPP/pppSatObs.h
r9419 r9485 92 92 _eleSat = 0.0; 93 93 _azSat = 0.0; 94 _elTx = 0.0; 95 _azTx = 0.0; 94 96 _recClkM = 0.0; 95 97 _satClkM = 0.0; … … 113 115 double _eleSat; 114 116 double _azSat; 117 double _elTx; 118 double _azTx; 115 119 double _recClkM; 116 120 double _satClkM; -
trunk/BNC/src/PPP_SSR_I/pppFilter.cpp
r9481 r9485 386 386 387 387 // Sun unit vector 388 ColumnVector xSun = t_astro::Sun(satData->tt.mjd ());388 ColumnVector xSun = t_astro::Sun(satData->tt.mjddec()); 389 389 xSun /= xSun.norm_Frobenius(); 390 390 -
trunk/BNC/src/pppWidgets.cpp
r9443 r9485 206 206 // WhatsThis, PPP (2) 207 207 // ------------------ 208 _staTable->setWhatsThis(tr("<p>Specify values for Sigma and white Noise of the Stations North, East and Height coordinate components in meters. Specify also a Sigma in meters for a priori model based Tropospheric delays and a Sigma in meters per second for the delay's Noise.</p><p>Specifying one record per Station is mandatory. BNC will only process data for stations which are listed here. To define a station, specify the 'Mountpoint' when in 'Real-Time Streams' mode or the 4-character station ID when in 'RINEX Files' mode.</p><p>'Sigma' is meant to describe the uncertainty of a single coordinate or tropospheric delay estimated for one epoch. 'Noise' is meant to describe the variation of estimates from epoch to epoch.</p><p><ul><li>A Sigma of 100.0 meters may be an appropriate choice e.g. for the initial N/E/H coordinates. However, this value may be significantly smaller (i.e. 0.01) for stations with well-known a priori coordinates.</li><li>A Noise of 100.0 meters for the estimated N/E/H coordinates may also be appropriate considering the potential movement of a rover position.</li><li>A value of 0.1 meters may be an appropriate Sigma for the a priori model based Tropospheric delay estimation.</li><li>Specify a Noise to describe the expected variation of the tropospheric effect over time. Supposing 1Hz observation data, specifying a value of 3e-6 would mean that the tropospheric effect may vary 3600 * 3e-6 = 0.01 meters per hour.</li><li>Specify a Noise to describe the expected variation of the ionospheric effect over time. </li></ul></p><p>You can also specify a 'NMEA Port' to output coordinates in NMEA format through an IP port of your local host. <i>[key: PPP/staTable]</i></p>"));208 _staTable->setWhatsThis(tr("<p>Specify values for Sigma and white Noise of the Stations North, East and Height coordinate components in meters. Specify also a Sigma in meters for a priori model based Tropospheric delays and a Sigma in meters per second for the delay's Noise.</p><p>Specifying one record per Station is mandatory. BNC will only process data for stations which are listed here. To define a station, specify the 'Mountpoint' when in 'Real-Time Streams' mode or the 4-character station ID when in 'RINEX Files' mode.</p><p>'Sigma' is meant to describe the uncertainty of a single coordinate or tropospheric delay estimated for one epoch. 'Noise' is meant to describe the variation of estimates from epoch to epoch.</p><p><ul><li>A Sigma of 100.0 meters may be an appropriate choice e.g. for the initial N/E/H coordinates. However, this value may be significantly smaller (i.e. 0.01) for stations with well-known a priori coordinates.</li><li>A Noise of 100.0 meters for the estimated N/E/H coordinates may also be appropriate considering the potential movement of a rover position.</li><li>A value of 0.1 meters may be an appropriate Sigma for the a priori model based Tropospheric delay estimation.</li><li>Specify a Noise to describe the expected variation of the tropospheric effect over time. Supposing 1Hz observation data, specifying a value of 3e-6 would mean that the tropospheric effect may vary 3600 * 3e-6 = 0.01 meters per hour.</li><li>Specify a Noise to describe the expected variation of the ionospheric effect over time. Supposing 1Hz observation data, specifying a value of 6e-4 would mean that the ionospheric effect may vary 1800 * 5.5e-4 = 1.0 meters per half an hour.</li></ul></p><p>You can also specify a 'NMEA Port' to output coordinates in NMEA format through an IP port of your local host. <i>[key: PPP/staTable]</i></p>")); 209 209 210 210 // WhatsThis, PPP (3) … … 583 583 if (iCol == 7) _staTable->setItem(iRow, iCol, new QTableWidgetItem("0.1")); 584 584 if (iCol == 8) _staTable->setItem(iRow, iCol, new QTableWidgetItem("3e-6")); 585 if (iCol == 9) _staTable->setItem(iRow, iCol, new QTableWidgetItem(" 0.10"));585 if (iCol == 9) _staTable->setItem(iRow, iCol, new QTableWidgetItem("6e-4")); 586 586 if (iCol == 10) _staTable->setItem(iRow, iCol, new QTableWidgetItem("0")); 587 587 }
Note:
See TracChangeset
for help on using the changeset viewer.