Changeset 11076 in ntrip


Ignore:
Timestamp:
Oct 5, 2026, 7:00:19 PM (3 hours ago)
Author:
stuerze
Message:

addded SIS to the SP3 comparison

Location:
trunk/BNC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bnchelp.html

    r11075 r11076  
    43904390! ----------------------------------------------------------------------------
    43914391!
    4392 !  Epoch                PRN  radial   along   out        clk    clkRed   iPRN
    4393 ! ----------------------------------------------------------------------------
     4392!  Epoch                PRN  radial   along   out        clk    clkRed   iPRN      SIS
     4393! -------------------------------------------------------------------------------------
     43942022-08-29_08:01:30.000 G01  0.0297 -0.0526 -0.0198    -0.0005 -0.0301     1   0.8412
    43944395..
    4395 2022-08-29_08:01:30.000 E02 -0.0023  0.1159 -0.0047     0.0187  0.0210    60
    4396 2022-08-29_08:01:30.000 E03 -0.0567 -0.0411  0.0146    -0.0093  0.0474    61
    4397 2022-08-29_08:01:30.000 E04  0.0695 -0.0406  0.0880    -0.0219 -0.0914    62
    4398 2022-08-29_08:01:30.000 E05 -0.1042  0.1161 -0.0503    -0.0101  0.0942    63
    4399 2022-08-29_08:01:30.000 E07  0.0354  0.0384 -0.0346     0.0134 -0.0219    65
    4400 2022-08-29_08:01:30.000 E08 -0.0312  0.0312 -0.0481     0.0130  0.0442    66
    4401 2022-08-29_08:01:30.000 E09 -0.0548  0.1941  0.0263    -0.0113  0.0436    67
    4402 2022-08-29_08:01:30.000 E12  0.0402 -0.0023  0.0012    -0.0051 -0.0454    70
    4403 2022-08-29_08:01:30.000 E13  0.0420 -0.0608 -0.0525    -0.0006 -0.0427    71
    4404 2022-08-29_08:01:30.000 E15  0.0478  0.0348 -0.0353    -0.0122 -0.0600    73
    4405 2022-08-29_08:01:30.000 E21  0.0639  0.0033  0.0292    -0.0167 -0.0806    79
    4406 2022-08-29_08:01:30.000 E24  0.0900 -0.1113 -0.0385     0.0047 -0.0853    82
    4407 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    84
    4409 2022-08-29_08:01:30.000 E27  0.0763 -0.0972 -0.0480     0.0041 -0.0722    85
    4410 2022-08-29_08:01:30.000 E30  0.0385  0.0266  0.0028     0.0092 -0.0293    88
    4411 2022-08-29_08:01:30.000 E31  0.1017 -0.1834 -0.0211     0.0021 -0.0997    89
    4412 2022-08-29_08:01:30.000 E33  0.0827  0.0385 -0.0741    -0.0060 -0.0887    91
    4413 2022-08-29_08:01:30.000 E36  0.0099 -0.0769  0.0384     0.0269  0.0170    94
     43962022-08-29_08:01:30.000 E02 -0.0023  0.1159 -0.0047     0.0187  0.0210    64   0.0135
     43972022-08-29_08:01:30.000 E03 -0.0567 -0.0411  0.0146    -0.0093  0.0474    65  -0.0097
     43982022-08-29_08:01:30.000 E04  0.0695 -0.0406  0.0880    -0.0219 -0.0914    66   0.0265
     43992022-08-29_08:01:30.000 E05 -0.1042  0.1161 -0.0503    -0.0101  0.0942    67  -0.0869
     44002022-08-29_08:01:30.000 E07  0.0354  0.0384 -0.0346     0.0134 -0.0219    69   0.1123
     44012022-08-29_08:01:30.000 E08 -0.0312  0.0312 -0.0481     0.0130  0.0442    70   0.0575
     44022022-08-29_08:01:30.000 E09 -0.0548  0.1941  0.0263    -0.0113  0.0436    71  -0.0135
     44032022-08-29_08:01:30.000 E12  0.0402 -0.0023  0.0012    -0.0051 -0.0454    74   0.1628
     44042022-08-29_08:01:30.000 E13  0.0420 -0.0608 -0.0525    -0.0006 -0.0427    75   0.1109
     44052022-08-29_08:01:30.000 E15  0.0478  0.0348 -0.0353    -0.0122 -0.0600    77   0.0064
     44062022-08-29_08:01:30.000 E21  0.0639  0.0033  0.0292    -0.0167 -0.0806    83   0.1190
     44072022-08-29_08:01:30.000 E24  0.0900 -0.1113 -0.0385     0.0047 -0.0853    86  -0.0094
     44082022-08-29_08:01:30.000 E25  0.0106  0.0340 -0.0564     0.0023 -0.0083    87  -0.0713
     44092022-08-29_08:01:30.000 E26  0.0598  0.0506 -0.0983    -0.0011 -0.0609    88   0.0310
     44102022-08-29_08:01:30.000 E27  0.0763 -0.0972 -0.0480     0.0041 -0.0722    89  -0.0293
     44112022-08-29_08:01:30.000 E30  0.0385  0.0266  0.0028     0.0092 -0.0293    92  -0.0389
     44122022-08-29_08:01:30.000 E31  0.1017 -0.1834 -0.0211     0.0021 -0.0997    93  -0.0114
     44132022-08-29_08:01:30.000 E33  0.0827  0.0385 -0.0741    -0.0060 -0.0887    95   0.0877
     44142022-08-29_08:01:30.000 E36  0.0099 -0.0769  0.0384     0.0269  0.0170    98   0.0620
    44144415..
    4415 !
    44164416! Summary
    44174417! -----------------------------------------------------------------------------------------------------------------
    44184418!
    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! -------------------------------------------------------------------------------------------------------------------------------------
    44224422..
    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
    44424442..
    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
    44534446</p>
    44544447</pre>
    … …  
    44904483      <td>BNC internal sequence number</td>
    44914484    </tr>
     4485    <tr>
     4486      <td>'SIS' &nbsp;</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>
    44924492  </table>
    44934493  <p>
    … …  
    45384538    <tr>
    45394539      <td>'Offset' &nbsp;</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' &nbsp;</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' &nbsp;</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>
    45414552    </tr>
    45424553  </table>
  • trunk/BNC/src/orbComp/sp3Comp.cpp

    r11023 r11076  
    231231        stat[prn.toString()]._offset = xx[index];
    232232        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]);
    233237          dcRed[prn] = dc[prn] - dr.find(prn)->second[0]; // clock minus radial component
    234238          stat[prn.toString()]._dcRedMean += dcRed[prn];
    … …  
    368372    out << "!\n! Clock residuals and orbit differences in [m]\n"
    369373           "! ----------------------------------------------------------------------------\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";
    372376  }
    373377  for (unsigned ii = 0; ii < epochs.size(); ii++) {
    … …  
    376380    const map<t_prn, double>&       dc = epochs[ii]->_dc;
    377381    const map<t_prn, double>&    dcRed = epochs[ii]->_dcRed;
     382    const map<t_prn, double>&      sis = epochs[ii]->_sis;
    378383    for (map<t_prn, ColumnVector>::const_iterator it = dr.begin(); it != dr.end(); it++) {
    379384      const t_prn&  prn = it->first;
    … …  
    413418        }
    414419        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";
    416436        }
    417437      }
    … …  
    424444  out << "!\n! Summary";
    425445  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  }
    429458  for (map<string, t_stat>::iterator it = stat.begin(); it != stat.end(); it++) {
    430459    const string& prn  = it->first;
    … …  
    464493          out << setw( 9) << setprecision(2) << stat._offset / t_CST::c * 1e9;
    465494        }
     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;
    466504      }
    467505      out << "\n";
  • trunk/BNC/src/orbComp/sp3Comp.h

    r11023 r11076  
    6161    std::map<t_prn, double>       _dc;
    6262    std::map<t_prn, double>       _dcRed;
     63    std::map<t_prn, double>       _sis;   // radial - clock, epoch-wise clock offset removed only
    6364  };
    6465
    … …  
    7374      _dcRedSig   = 0.0;
    7475      _offset     = 0.0;
     76      _sisSum     = 0.0;
     77      _sisSqr     = 0.0;
    7578      _nr         = 0;
    7679      _nc         = 0;
     80      _ns         = 0;
    7781    }
    7882    ColumnVector _rao;
    … …  
    8387    double       _dcRedSig;
    8488    double       _offset;
     89    double       _sisSum;
     90    double       _sisSqr;
    8591    int          _nr;
    8692    int          _nc;
     93    int          _ns;
    8794  };
    8895
Note: See TracChangeset for help on using the changeset viewer.