Changeset 11119 in ntrip for trunk/BNC/src/ssrQc.cpp
- Timestamp:
- Oct 22, 2026, 6:20:09 PM (2 weeks ago)
- File:
-
- 1 edited
-
trunk/BNC/src/ssrQc.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/ssrQc.cpp
r11117 r11119 1279 1279 QString maxRadialPrn, maxAlongCrossPrn; 1280 1280 QVector<double> biasIF; 1281 double maxBiasIF = 0.0; 1282 QString biasIFPrn; 1281 1283 const QSet<QString>& ephs = ephSats[sys]; 1282 1284 for (int type = ORB; type <= PBIAS; type++) { … … 1321 1323 if (stat.refBiasOK) { 1322 1324 biasIF.push_back(stat.biasIF); 1325 if (biasIFPrn.isEmpty() || fabs(stat.biasIF) > maxBiasIF) { 1326 maxBiasIF = fabs(stat.biasIF); 1327 biasIFPrn = prn; 1328 } 1323 1329 } 1324 1330 if (stat.numPB) { … … 1373 1379 double var = 0.0; 1374 1380 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); 1377 1385 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()); 1380 1389 } 1381 1390 }
Note:
See TracChangeset
for help on using the changeset viewer.
