Changeset 11076 in ntrip
- Timestamp:
- Oct 5, 2026, 7:00:19 PM (3 hours ago)
- Location:
- trunk/BNC
- Files:
-
- 5 edited
-
src/bnchelp.html (modified) (3 diffs)
-
src/orbComp/sp3Comp.cpp (modified) (6 diffs)
-
src/orbComp/sp3Comp.h (modified) (3 diffs)
-
tests/cases/sp3_compare/expected/Sp3Comparison.log.gz (modified) ( previous)
-
tests/cases/sp3_compare_exclude/expected/Sp3Comparison.log.gz (modified) ( previous)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bnchelp.html
r11075 r11076 4390 4390 ! ---------------------------------------------------------------------------- 4391 4391 ! 4392 ! Epoch PRN radial along out clk clkRed iPRN 4393 ! ---------------------------------------------------------------------------- 4392 ! Epoch PRN radial along out clk clkRed iPRN SIS 4393 ! ------------------------------------------------------------------------------------- 4394 2022-08-29_08:01:30.000 G01 0.0297 -0.0526 -0.0198 -0.0005 -0.0301 1 0.8412 4394 4395 .. 4395 2022-08-29_08:01:30.000 E02 -0.0023 0.1159 -0.0047 0.0187 0.0210 6 04396 2022-08-29_08:01:30.000 E03 -0.0567 -0.0411 0.0146 -0.0093 0.0474 6 14397 2022-08-29_08:01:30.000 E04 0.0695 -0.0406 0.0880 -0.0219 -0.0914 6 24398 2022-08-29_08:01:30.000 E05 -0.1042 0.1161 -0.0503 -0.0101 0.0942 6 34399 2022-08-29_08:01:30.000 E07 0.0354 0.0384 -0.0346 0.0134 -0.0219 6 54400 2022-08-29_08:01:30.000 E08 -0.0312 0.0312 -0.0481 0.0130 0.0442 664401 2022-08-29_08:01:30.000 E09 -0.0548 0.1941 0.0263 -0.0113 0.0436 674402 2022-08-29_08:01:30.000 E12 0.0402 -0.0023 0.0012 -0.0051 -0.0454 7 04403 2022-08-29_08:01:30.000 E13 0.0420 -0.0608 -0.0525 -0.0006 -0.0427 7 14404 2022-08-29_08:01:30.000 E15 0.0478 0.0348 -0.0353 -0.0122 -0.0600 7 34405 2022-08-29_08:01:30.000 E21 0.0639 0.0033 0.0292 -0.0167 -0.0806 794406 2022-08-29_08:01:30.000 E24 0.0900 -0.1113 -0.0385 0.0047 -0.0853 8 24407 2022-08-29_08:01:30.000 E25 0.0106 0.0340 -0.0564 0.0023 -0.0083 83 4408 2022-08-29_08:01:30.000 E26 0.0598 0.0506 -0.0983 -0.0011 -0.0609 8 44409 2022-08-29_08:01:30.000 E27 0.0763 -0.0972 -0.0480 0.0041 -0.0722 8 54410 2022-08-29_08:01:30.000 E30 0.0385 0.0266 0.0028 0.0092 -0.0293 884411 2022-08-29_08:01:30.000 E31 0.1017 -0.1834 -0.0211 0.0021 -0.0997 894412 2022-08-29_08:01:30.000 E33 0.0827 0.0385 -0.0741 -0.0060 -0.0887 9 14413 2022-08-29_08:01:30.000 E36 0.0099 -0.0769 0.0384 0.0269 0.0170 9 44396 2022-08-29_08:01:30.000 E02 -0.0023 0.1159 -0.0047 0.0187 0.0210 64 0.0135 4397 2022-08-29_08:01:30.000 E03 -0.0567 -0.0411 0.0146 -0.0093 0.0474 65 -0.0097 4398 2022-08-29_08:01:30.000 E04 0.0695 -0.0406 0.0880 -0.0219 -0.0914 66 0.0265 4399 2022-08-29_08:01:30.000 E05 -0.1042 0.1161 -0.0503 -0.0101 0.0942 67 -0.0869 4400 2022-08-29_08:01:30.000 E07 0.0354 0.0384 -0.0346 0.0134 -0.0219 69 0.1123 4401 2022-08-29_08:01:30.000 E08 -0.0312 0.0312 -0.0481 0.0130 0.0442 70 0.0575 4402 2022-08-29_08:01:30.000 E09 -0.0548 0.1941 0.0263 -0.0113 0.0436 71 -0.0135 4403 2022-08-29_08:01:30.000 E12 0.0402 -0.0023 0.0012 -0.0051 -0.0454 74 0.1628 4404 2022-08-29_08:01:30.000 E13 0.0420 -0.0608 -0.0525 -0.0006 -0.0427 75 0.1109 4405 2022-08-29_08:01:30.000 E15 0.0478 0.0348 -0.0353 -0.0122 -0.0600 77 0.0064 4406 2022-08-29_08:01:30.000 E21 0.0639 0.0033 0.0292 -0.0167 -0.0806 83 0.1190 4407 2022-08-29_08:01:30.000 E24 0.0900 -0.1113 -0.0385 0.0047 -0.0853 86 -0.0094 4408 2022-08-29_08:01:30.000 E25 0.0106 0.0340 -0.0564 0.0023 -0.0083 87 -0.0713 4409 2022-08-29_08:01:30.000 E26 0.0598 0.0506 -0.0983 -0.0011 -0.0609 88 0.0310 4410 2022-08-29_08:01:30.000 E27 0.0763 -0.0972 -0.0480 0.0041 -0.0722 89 -0.0293 4411 2022-08-29_08:01:30.000 E30 0.0385 0.0266 0.0028 0.0092 -0.0293 92 -0.0389 4412 2022-08-29_08:01:30.000 E31 0.1017 -0.1834 -0.0211 0.0021 -0.0997 93 -0.0114 4413 2022-08-29_08:01:30.000 E33 0.0827 0.0385 -0.0741 -0.0060 -0.0887 95 0.0877 4414 2022-08-29_08:01:30.000 E36 0.0099 -0.0769 0.0384 0.0269 0.0170 98 0.0620 4414 4415 .. 4415 !4416 4416 ! Summary 4417 4417 ! ----------------------------------------------------------------------------------------------------------------- 4418 4418 ! 4419 ! PRN radialRMS alongRMS outRMS 3DRMS nOrb clkRMS clkRedRMS clkRedSig nClk Offset 4420 ! [mm] [mm] [mm] [mm] [-] [ns] [ns] [ns] [-] [ns] 4421 ! ----------------------------------------------------------------------------------------------------------------- 4419 ! PRN radialRMS alongRMS outRMS 3DRMS nOrb clkRMS clkRedRMS clkRedSig nClk Offset SISRMS SISSig 4420 ! [mm] [mm] [mm] [mm] [-] [ns] [ns] [ns] [-] [ns] [mm] [mm] 4421 ! ------------------------------------------------------------------------------------------------------------------------------------- 4422 4422 .. 4423 ! E02 7.2 116.0 26.7 119.2 165 0.04 0.05 0.05 165 -0.12 4424 ! E03 61.0 38.7 15.1 73.8 165 0.03 0.21 0.03 165 -0.13 4425 ! E04 83.0 61.9 81.9 132.0 165 0.04 0.28 0.02 165 0.22 4426 ! E05 96.6 119.3 41.8 159.1 165 0.02 0.32 0.01 165 -0.02 4427 ! E07 29.6 30.9 38.9 57.8 165 0.03 0.10 0.02 165 -0.30 4428 ! E08 37.1 19.3 42.4 59.5 165 0.03 0.12 0.02 165 -0.34 4429 ! E09 43.6 174.4 42.2 184.6 165 0.01 0.14 0.01 165 -0.10 4430 ! E12 49.0 3.3 10.7 50.2 165 0.01 0.16 0.01 165 -0.39 4431 ! E13 33.6 39.3 66.1 83.9 165 0.02 0.11 0.03 165 -0.23 4432 ! E15 54.8 27.3 37.5 71.8 165 0.02 0.18 0.01 165 0.18 4433 ! E21 66.7 11.6 30.1 74.2 165 0.03 0.22 0.02 165 -0.13 4434 ! E24 91.3 110.1 33.2 146.9 165 0.02 0.30 0.02 165 0.32 4435 ! E25 9.9 41.2 62.8 75.8 165 0.01 0.03 0.01 165 0.27 4436 ! E26 62.1 51.6 94.6 124.4 165 0.01 0.21 0.01 165 0.10 4437 ! E27 73.4 84.1 52.2 123.2 165 0.02 0.24 0.01 165 0.34 4438 ! E30 38.2 38.0 7.2 54.4 165 0.02 0.13 0.01 165 0.23 4439 ! E31 93.7 170.0 23.4 195.5 165 0.03 0.31 0.04 165 0.37 4440 ! E33 92.6 34.0 65.4 118.4 165 0.01 0.31 0.01 165 0.00 4441 ! E36 5.9 63.0 45.6 78.0 165 0.03 0.02 0.02 165 -0.26 4423 ! E02 7.2 116.0 26.7 119.2 165 0.04 0.05 0.05 165 -0.12 42.6 14.9 4424 ! E03 61.0 38.7 15.1 73.8 165 0.03 0.21 0.03 165 -0.13 25.3 10.2 4425 ! E04 83.0 61.9 81.9 132.0 165 0.04 0.28 0.02 165 0.22 18.4 4.8 4426 ! E05 96.6 119.3 41.8 159.1 165 0.02 0.32 0.01 165 -0.02 89.2 3.0 4427 ! E07 29.6 30.9 38.9 57.8 165 0.03 0.10 0.02 165 -0.30 119.6 5.3 4428 ! E08 37.1 19.3 42.4 59.5 165 0.03 0.12 0.02 165 -0.34 65.0 5.1 4429 ! E09 43.6 174.4 42.2 184.6 165 0.01 0.14 0.01 165 -0.10 13.7 4.1 4430 ! E12 49.0 3.3 10.7 50.2 165 0.01 0.16 0.01 165 -0.39 166.2 4.1 4431 ! E13 33.6 39.3 66.1 83.9 165 0.02 0.11 0.03 165 -0.23 101.7 8.5 4432 ! E15 54.8 27.3 37.5 71.8 165 0.02 0.18 0.01 165 0.18 3.7 3.6 4433 ! E21 66.7 11.6 30.1 74.2 165 0.03 0.22 0.02 165 -0.13 105.3 6.9 4434 ! E24 91.3 110.1 33.2 146.9 165 0.02 0.30 0.02 165 0.32 5.9 4.8 4435 ! E25 9.9 41.2 62.8 75.8 165 0.01 0.03 0.01 165 0.27 70.1 3.0 4436 ! E26 62.1 51.6 94.6 124.4 165 0.01 0.21 0.01 165 0.10 32.3 3.9 4437 ! E27 73.4 84.1 52.2 123.2 165 0.02 0.24 0.01 165 0.34 28.3 2.6 4438 ! E30 38.2 38.0 7.2 54.4 165 0.02 0.13 0.01 165 0.23 30.4 4.5 4439 ! E31 93.7 170.0 23.4 195.5 165 0.03 0.31 0.04 165 0.37 21.1 11.9 4440 ! E33 92.6 34.0 65.4 118.4 165 0.01 0.31 0.01 165 0.00 91.6 4.4 4441 ! E36 5.9 63.0 45.6 78.0 165 0.03 0.02 0.02 165 -0.26 83.4 6.0 4442 4442 .. 4443 ! 4444 ! Mean 4445 ! ----------------------------------------------------------------------------------------------------------------- 4446 ! 4447 ! GNSS radialRMS alongRMS outRMS 3DRMS nOrb clkRMS clkRedRMS clkRedSig nClk 4448 ! [mm] [mm] [mm] [mm] [-] [ns] [ns] [ns] [-] 4449 ! ----------------------------------------------------------------------------------------------------------------- 4450 ! E 61.4 81.5 48.6 113.1 3135 0.02 0.21 0.18 3135 4451 ! G 37.6 60.0 40.9 81.8 4620 0.02 0.13 0.13 4620 4452 ! R 71.0 127.0 114.0 184.8 2640 0.04 0.24 0.24 2640 4443 ! E 61.4 81.5 48.6 113.1 3135 0.02 0.21 0.18 3135 73.3 6.7 4444 ! G 37.6 60.0 40.9 81.8 4620 0.02 0.13 0.13 4620 816.9 5.5 4445 ! R 71.0 127.0 114.0 184.8 2640 0.04 0.24 0.24 2640 820.2 15.0 4453 4446 </p> 4454 4447 </pre> … … 4490 4483 <td>BNC internal sequence number</td> 4491 4484 </tr> 4485 <tr> 4486 <td>'SIS' </td> 4487 <td>Signal-in-space difference: radial component of the orbit coordinate difference minus clock difference 4488 [m]. Unlike 'clk' and 'clkRed', only the epoch-wise clock offset common to all satellites of a system (clock 4489 datum) is removed, not the satellite-specific clock offset ('Offset'). It is the part of the orbit and clock 4490 differences affecting the user's range.</td> 4491 </tr> 4492 4492 </table> 4493 4493 <p> … … 4538 4538 <tr> 4539 4539 <td>'Offset' </td> 4540 <td>Clock offset [ns]</td> 4540 <td>Satellite-specific clock offset, constant over the comparison period [ns]</td> 4541 </tr> 4542 <tr> 4543 <td>'SISRMS' </td> 4544 <td>RMS of the signal-in-space differences 'SIS', including the constant satellite-specific part [mm]</td> 4545 </tr> 4546 <tr> 4547 <td>'SISSig' </td> 4548 <td>Standard deviation of the signal-in-space differences about the mean of the satellite [mm]; for a system 4549 (lines 'G', 'R', ...) pooled over its satellites. A large 'SISRMS' with a small 'SISSig' indicates constant 4550 differences per satellite, as typical between products of different ACs (different realizations of the 4551 satellite clocks and code biases).</td> 4541 4552 </tr> 4542 4553 </table> -
trunk/BNC/src/orbComp/sp3Comp.cpp
r11023 r11076 231 231 stat[prn.toString()]._offset = xx[index]; 232 232 if (dr.find(prn) != dr.end()){ 233 // signal-in-space difference: radial minus clock, only the 234 // epoch-wise clock offset (datum) removed, i.e. including the 235 // satellite-specific clock offset 236 epochs[ie]->_sis[prn] = dr.find(prn)->second[0] - (dc[prn] + xx[index]); 233 237 dcRed[prn] = dc[prn] - dr.find(prn)->second[0]; // clock minus radial component 234 238 stat[prn.toString()]._dcRedMean += dcRed[prn]; … … 368 372 out << "!\n! Clock residuals and orbit differences in [m]\n" 369 373 "! ----------------------------------------------------------------------------\n"; 370 out << "!\n! Epoch PRN radial along out clk clkRed iPRN" 371 "\n! ----------------------------------------------------------------------------\n"; 374 out << "!\n! Epoch PRN radial along out clk clkRed iPRN SIS" 375 "\n! -------------------------------------------------------------------------------------\n"; 372 376 } 373 377 for (unsigned ii = 0; ii < epochs.size(); ii++) { … … 376 380 const map<t_prn, double>& dc = epochs[ii]->_dc; 377 381 const map<t_prn, double>& dcRed = epochs[ii]->_dcRed; 382 const map<t_prn, double>& sis = epochs[ii]->_sis; 378 383 for (map<t_prn, ColumnVector>::const_iterator it = dr.begin(); it != dr.end(); it++) { 379 384 const t_prn& prn = it->first; … … 413 418 } 414 419 if (!_summaryOnly) { 415 out << " " << setw(2) << int(prn) << "\n"; 420 out << " " << setw(2) << int(prn); 421 } 422 if (sis.find(prn) != sis.end()) { 423 double sisVal = sis.find(prn)->second; 424 stat[prn.toString()]._sisSum += sisVal; 425 stat[all.str() ]._sisSum += sisVal; 426 stat[prn.toString()]._sisSqr += sisVal * sisVal; 427 stat[all.str() ]._sisSqr += sisVal * sisVal; 428 stat[prn.toString()]._ns += 1; 429 stat[all.str() ]._ns += 1; 430 if (!_summaryOnly) { 431 out << " " << setw(7) << setprecision(4) << sisVal; 432 } 433 } 434 if (!_summaryOnly) { 435 out << "\n"; 416 436 } 417 437 } … … 424 444 out << "!\n! Summary"; 425 445 out << "\n! -----------------------------------------------------------------------------------------------------------------\n"; 426 out << "!\n! PRN radialRMS alongRMS outRMS 3DRMS nOrb clkRMS clkRedRMS clkRedSig nClk Offset " 427 "\n! [mm] [mm] [mm] [mm] [-] [ns] [ns] [ns] [-] [ns] " 428 "\n! -----------------------------------------------------------------------------------------------------------------\n"; 446 out << "!\n! PRN radialRMS alongRMS outRMS 3DRMS nOrb clkRMS clkRedRMS clkRedSig nClk Offset SISRMS SISSig" 447 "\n! [mm] [mm] [mm] [mm] [-] [ns] [ns] [ns] [-] [ns] [mm] [mm]" 448 "\n! -------------------------------------------------------------------------------------------------------------------------------------\n"; 449 // SIS standard deviation of a system: pooled about the satellite means 450 map<char, double> sisVarSys; 451 for (map<string, t_stat>::const_iterator it = stat.begin(); it != stat.end(); it++) { 452 const t_stat& st = it->second; 453 stringstream all; all << it->first[0] << 99; 454 if (it->first != all.str() && st._ns > 0) { 455 sisVarSys[it->first[0]] += st._sisSqr - st._sisSum * st._sisSum / st._ns; 456 } 457 } 429 458 for (map<string, t_stat>::iterator it = stat.begin(); it != stat.end(); it++) { 430 459 const string& prn = it->first; … … 464 493 out << setw( 9) << setprecision(2) << stat._offset / t_CST::c * 1e9; 465 494 } 495 else { 496 out << setw( 9) << " "; 497 } 498 } 499 if (stat._ns > 0) { 500 double var = (prn == all.str()) ? sisVarSys[sys] / stat._ns 501 : stat._sisSqr / stat._ns - pow(stat._sisSum / stat._ns, 2); 502 out << setw(11) << setprecision(1) << sqrt(stat._sisSqr / stat._ns) * 1e3 << ' ' 503 << setw( 9) << setprecision(1) << sqrt(max(0.0, var)) * 1e3; 466 504 } 467 505 out << "\n"; -
trunk/BNC/src/orbComp/sp3Comp.h
r11023 r11076 61 61 std::map<t_prn, double> _dc; 62 62 std::map<t_prn, double> _dcRed; 63 std::map<t_prn, double> _sis; // radial - clock, epoch-wise clock offset removed only 63 64 }; 64 65 … … 73 74 _dcRedSig = 0.0; 74 75 _offset = 0.0; 76 _sisSum = 0.0; 77 _sisSqr = 0.0; 75 78 _nr = 0; 76 79 _nc = 0; 80 _ns = 0; 77 81 } 78 82 ColumnVector _rao; … … 83 87 double _dcRedSig; 84 88 double _offset; 89 double _sisSum; 90 double _sisSqr; 85 91 int _nr; 86 92 int _nc; 93 int _ns; 87 94 }; 88 95
Note:
See TracChangeset
for help on using the changeset viewer.
