Changeset 11119 in ntrip for trunk/BNC/src/ssrQc.cpp


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

SSR QC improved

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.