Changeset 11085 in ntrip for trunk/BNC/src
- Timestamp:
- Oct 14, 2026, 11:47:57 AM (3 weeks ago)
- Location:
- trunk/BNC/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bnchelp.html
r11083 r11085 5132 5132 (see section 'Combination'),</li> 5133 5133 <li>the phase bias signals provided,</li> 5134 <li>the availability of the satellite yaw angle with the phase biases: 'not provided', or the number of 5135 satellites and the percentage of phase bias records with yaw angle, listing satellites without or only partly 5136 with yaw angle. New RTCM-SSR signals the yaw angle with the Yaw Information Indicator; old RTCM-SSR and 5137 IGS-SSR always carry the field, a provider without attitude information sends zeros, which is counted as not 5138 provided. Without a yaw angle from the stream, a PPP or combination user depends on its own attitude model 5139 (see section 'Combination'), which may differ from the provider's attitude during eclipse seasons and noon/midnight 5140 turns,</li> 5134 5141 <li>clock jumps, i.e. clock changes between consecutive epochs (same IOD) beyond the clock rate of more than 5135 5142 0.5 m,</li> -
trunk/BNC/src/ssrQc.cpp
r11081 r11085 182 182 << "Checks: epochs and update intervals, gaps (interval > 2 x max(declared, median)), latency," 183 183 << " completeness w.r.t. healthy broadcast ephemerides," << endl 184 << "IOD matching, code and phase bias signals, code biases of the reference signals, clock jumps > " 184 << "IOD matching, code and phase bias signals, yaw angle, code biases of the reference signals, clock jumps > " 185 185 << MAX_CLK_JUMP << " m, largest orbit corrections" << endl; 186 186 } … … 416 416 _phaseSignals[staSys].insert(QString::fromStdString(frqBias._rnxType2ch)); 417 417 } 418 // Yaw angle: new RTCM-SSR has an indicator, old RTCM-SSR and IGS-SSR always 419 // carry the field, providers without attitude information send zeros 420 t_satStat& stat = _satStat[QString::fromStdString(bias._staID) + ' ' + 421 QString::fromStdString(bias._prn.toString())]; 422 stat.numPB++; 423 bool yawProvided = (bias._ssrFormat == ssrRtcmNew) ? (bias._satYawInfoInd != 0) 424 : (bias._yaw != 0.0 || bias._yawRate != 0.0); 425 if (yawProvided) { 426 stat.numYaw++; 427 } 418 428 } 419 429 } … … 707 717 if (final) { 708 718 endTime = _staLast.value(staID, _lastTime); 719 if (endTime < _intervalStart) { // stream without data in the last interval 720 endTime = _lastTime; 721 } 709 722 } 710 723 out << endl << "=== SSR QC " << staID.toStdString() << ' ' … … 746 759 for (char sys : systems) { 747 760 QMap<QString, unsigned> missOrb, missClk, missCB, missPB, iodUnknown, unhealthy, noEph, 748 jumps, missRef; 761 jumps, missRef, noYaw, yawPartly; 762 unsigned numPB = 0, numYaw = 0, yawSats = 0; 749 763 double maxRadial = 0.0, maxAlongCross = 0.0; 750 764 QString maxRadialPrn, maxAlongCrossPrn; … … 792 806 if (stat.refBiasOK) { 793 807 biasIF.push_back(stat.biasIF); 808 } 809 if (stat.numPB) { 810 numPB += stat.numPB; 811 numYaw += stat.numYaw; 812 if (stat.numYaw) { 813 yawSats++; 814 if (stat.numYaw < stat.numPB) { 815 yawPartly[prn] = stat.numPB - stat.numYaw; 816 } 817 } 818 else { 819 noYaw[prn] = 0; 820 } 794 821 } 795 822 } … … 843 870 lines << "phase bias signals: " + sigs.join(" "); 844 871 } 872 if (numPB) { 873 if (numYaw == 0) { 874 lines << "yaw angle: not provided"; 875 } 876 else { 877 lines << QString("yaw angle: provided for %1 of %2 satellites (%3 % of the phase bias records)") 878 .arg(yawSats).arg(yawSats + noYaw.size()).arg(100.0 * numYaw / numPB, 0, 'f', 1); 879 addSats("phase biases without yaw angle", noYaw); 880 addSats("phase biases partly without yaw angle (records)", yawPartly); 881 } 882 } 845 883 addSats(QString("clock jumps > %1 m").arg(MAX_CLK_JUMP), jumps); 846 884 if (!maxRadialPrn.isEmpty()) { -
trunk/BNC/src/ssrQc.h
r11081 r11085 66 66 bool refBiasOK = false; 67 67 double biasIF = 0.0; // ionosphere-free combination of the reference biases [m] 68 unsigned numPB = 0; // phase bias records 69 unsigned numYaw = 0; // phase bias records with yaw angle 68 70 }; 69 71
Note:
See TracChangeset
for help on using the changeset viewer.
