Changeset 11119 in ntrip


Ignore:
Timestamp:
Oct 22, 2026, 6:20:09 PM (8 hours ago)
Author:
stuerze
Message:

SSR QC improved

Location:
trunk/BNC/src
Files:
2 edited

Legend:

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

    r11117 r11119  
    51345134    <li>the code bias signals provided, satellites without code biases of the reference signals (default GPS C1W/C2W,
    51355135      GLONASS C1P/C2P, Galileo C1C/C5Q, BDS C2I/C6I, QZSS C1C/C2L, SBAS C1C/C5Q; as in the combination, see option
    5136       'Reference Signals' in <a href=#combirefsig>section 2.14.1.7</a>), and the standard deviation and maximum of the
    5137       ionosphere-free combination B_IF of the reference signal biases. A B_IF varying between the satellites is
    5138       legitimate if the clocks are estimated with other signals, but must then be consistent with the clocks
    5139       (see section 'Combination'),</li>
     5136      'Reference Signals' in <a href=#combirefsig>section 2.14.1.7</a>), and the standard deviation, the median of the
     5137      absolute values and the maximum (with the satellite) of the ionosphere-free combination B_IF of the reference
     5138      signal biases. A B_IF varying between the satellites is legitimate if the clocks are estimated with other
     5139      signals, but must then be consistent with the clocks (see section 'Combination'). A median close to zero with a
     5140      large standard deviation points to single satellites with inconsistent biases (the satellite with the maximum),
     5141      a large median to clocks estimated with other signals,</li>
    51405142    <li>the code bias check: the DCBs of the stream, i.e. the differences of its code biases to the first reference
    51415143      signal (or to another common signal, if the stream lacks it), are compared with
    … …  
    51865188  G corrections referring to an IOD of no received broadcast ephemeris: G10(94) G22(94) G29(94)
    51875189  G code bias signals: 1C 1P 1W 2L 2P 2S 2W 5Q
    5188   G ionosphere-free combination B_IF of the reference signal biases: std. dev. 0.586 m, max |B_IF| 2.058 m (32 satellites)
     5190  G ionosphere-free combination B_IF of the reference signal biases: std. dev. 0.585 m, median |B_IF| 0.297 m, max |B_IF| 2.032 m (G19) (32 satellites)
    51895191  G largest orbit corrections: radial 1.06 m (G11), along/cross 2.05 m (G11)
    51905192</pre>
  • trunk/BNC/src/ssrQc.cpp

    r11117 r11119  
    12791279      QString maxRadialPrn, maxAlongCrossPrn;
    12801280      QVector<double> biasIF;
     1281      double  maxBiasIF = 0.0;
     1282      QString biasIFPrn;
    12811283      const QSet<QString>& ephs = ephSats[sys];
    12821284      for (int type = ORB; type <= PBIAS; type++) {
    … …  
    13211323        if (stat.refBiasOK) {
    13221324          biasIF.push_back(stat.biasIF);
     1325          if (biasIFPrn.isEmpty() || fabs(stat.biasIF) > maxBiasIF) {
     1326            maxBiasIF  = fabs(stat.biasIF);
     1327            biasIFPrn  = prn;
     1328          }
    13231329        }
    13241330        if (stat.numPB) {
    … …  
    13731379          double var = 0.0;
    13741380          for (double bb : biasIF) var += (bb - mean) * (bb - mean) / biasIF.size();
    1375           double maxAbs = max(fabs(*std::min_element(biasIF.begin(), biasIF.end())),
    1376                               fabs(*std::max_element(biasIF.begin(), biasIF.end())));
     1381          // the median shows whether the clocks refer to other signals (all
     1382          // satellites) or single satellites have inconsistent biases
     1383          QVector<double> absIF;
     1384          for (double bb : biasIF) absIF << fabs(bb);
    13771385          lines << QString("ionosphere-free combination B_IF of the reference signal biases: "
    1378                            "std. dev. %1 m, max |B_IF| %2 m (%3 satellites)")
    1379                    .arg(sqrt(var), 0, 'f', 3).arg(maxAbs, 0, 'f', 3).arg(biasIF.size());
     1386                           "std. dev. %1 m, median |B_IF| %2 m, max |B_IF| %3 m (%4) (%5 satellites)")
     1387                   .arg(sqrt(var), 0, 'f', 3).arg(median(absIF), 0, 'f', 3).arg(maxBiasIF, 0, 'f', 3)
     1388                   .arg(biasIFPrn).arg(biasIF.size());
    13801389        }
    13811390      }
Note: See TracChangeset for help on using the changeset viewer.