Changeset 11098 in ntrip
- Timestamp:
- Oct 17, 2026, 11:20:29 PM (18 hours ago)
- Location:
- trunk/BNC
- Files:
-
- 12 edited
-
CHANGELOG.md (modified) (1 diff)
-
src/bnchelp.html (modified) (1 diff)
-
src/combination/bnccomb.cpp (modified) (2 diffs)
-
src/combination/bnccomb.h (modified) (1 diff)
-
tests/cases/combi_multi/expected/BKG0MGXRTS_20262750000_01D_05S_CLK.CLK.gz (modified) ( previous)
-
tests/cases/combi_multi/expected/BKG0MGXRTS_20262750000_01D_05S_OSB.BIA.gz (modified) ( previous)
-
tests/cases/combi_multi/expected/BKG0MGXRTS_20262750000_01D_30S_ORB.SP3.gz (modified) ( previous)
-
tests/cases/combi_multi/expected/Combi.log.gz (modified) ( previous)
-
tests/cases/combi_ppp/expected/BKG0MGXRTS_20262780000_01D_05S_CLK.CLK.gz (modified) ( previous)
-
tests/cases/combi_ppp/expected/BKG0MGXRTS_20262780000_01D_30S_ORB.SP3.gz (modified) ( previous)
-
tests/cases/combi_ppp/expected/CombiPPP.log.gz (modified) ( previous)
-
tests/cases/combi_ppp/expected/FFMJ00DEU_20262780000_01D_01S.ppp.gz (modified) ( previous)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/CHANGELOG.md
r11088 r11098 10 10 - ADDED: Combination: clocks of AC satellites without code biases of both reference signals are combined, but excluded from the clock datum (hourly message) 11 11 - ADDED: Combination: hourly report of AC satellites persistently rejected as outliers, and of satellites skipped because fewer than 2 ACs provide corrections 12 - CHANGED: Combination: the orbits of a system come from the first stream in the table providing that system; after an outage of that stream, BNC switches back to it once it delivers again for 60 s (before, a single missing epoch moved the orbits permanently to another stream) 12 13 - ADDED: Combination of APC (SSRA) and CoM (SSRC) streams together: with an ANTEX file the combination is done in the CoM frame, the orbits of the APC streams are converted to CoM; ACs not combined because of a different reference point are reported 13 14 - ADDED: Option 'Reference Signals' (key ssrRefSignals): reference signals of the satellite clocks per GNSS for the combination (AC clock referral, code biases from the Bias SINEX file) and the SSR QC, default IGS Real-Time convention G:1W&2W R:1P&2P E:1C&5Q C:2I&6I J:1C&2L S:1C&5Q, e.g. for a switch of BDS to C1P/C5P or of QZSS to L1/L5 -
trunk/BNC/src/bnchelp.html
r11091 r11098 8436 8436 </p> 8437 8437 <p> 8438 The sequence of entries in the 'Combine Corrections' table is not of importance. 8439 Note that the orbit information in the final combination stream is just copied from one of the incoming streams. 8440 The stream used for providing the orbits may vary over time: if the orbit-providing stream has an outage then BNC 8441 switches 8442 to the next remaining stream for getting hold of the orbit information.</p> 8438 The sequence of entries in the 'Combine Corrections' table defines the preference for the orbits: the orbit 8439 information in the final combination stream is copied from one of the incoming streams, per satellite system from 8440 the first stream in the table that provides corrections for that system (a stream that excludes a system, e.g. 8441 with 'C' in its exclusion list, or never sends it, is skipped). Put the stream with the best orbits of a system 8442 first. If the orbit-providing stream has an outage, BNC switches to the next stream in the table that provides 8443 corrections. As soon as a stream higher in the table delivers again without interruption for 60 seconds, BNC 8444 switches back to it, so that a single missing epoch does not move the orbits permanently to another stream, and 8445 the orbits do not change back and forth. Each switch is written to the combination logfile, e.g.</p> 8446 <pre> 8447 2026-10-15 00:01:50.000 Switching Master R CHC00 --> GMV00 8448 2026-10-15 00:03:00.000 Switching Master R GMV00 --> CHC00 (preferred AC delivers again) 8449 </pre> 8450 <p> 8443 8451 <p> 8444 8452 It is possible to specify only one Broadcast Ephemeris correction stream in the 'Combine Corrections' table. -
trunk/BNC/src/combination/bnccomb.cpp
r11087 r11098 1050 1050 } 1051 1051 } 1052 if (AC->numObs[sys] > 0) { 1053 if (!AC->presentSince[sys].valid()) { 1054 AC->presentSince[sys] = epoTime; 1055 } 1056 } 1057 else { 1058 AC->presentSince[sys].reset(); 1059 } 1052 1060 out << epoTime.datestr().c_str() << " " 1053 1061 << epoTime.timestr().c_str() << " " … … 1086 1094 } 1087 1095 } 1096 } 1097 } 1098 1099 // Switch back to an AC higher in the table (the preferred one) once it 1100 // delivers again without interruption for SWITCH_BACK_SEC, so that a single 1101 // missing epoch of the preferred AC does not move the orbits permanently 1102 // to another AC, and the orbits do not change back and forth 1103 // ------------------------------------------------------------------------ 1104 const double SWITCH_BACK_SEC = 60.0; 1105 QListIterator<cmbAC*> icPref(_ACs); 1106 while (icPref.hasNext()) { 1107 cmbAC* AC = icPref.next(); 1108 if (AC->name == _masterOrbitAC[sys]) { 1109 break; 1110 } 1111 if (AC->numObs[sys] > 0 && AC->presentSince[sys].valid() && 1112 epoTime - AC->presentSince[sys] >= SWITCH_BACK_SEC) { 1113 out << epoTime.datestr().c_str() << " " 1114 << epoTime.timestr().c_str() << " " 1115 << "Switching Master " << sys << " " 1116 << _masterOrbitAC[sys].toLatin1().data() << " --> " 1117 << AC->name.toLatin1().data() << " (preferred AC delivers again)\n"; 1118 _masterOrbitAC[sys] = AC->name; 1119 _masterIsAPC[sys] = _cmbCoM ? false : AC->isAPC; 1120 break; 1088 1121 } 1089 1122 } -
trunk/BNC/src/combination/bnccomb.h
r11087 r11098 106 106 bool isAPC; 107 107 QString attitudeSource; // "Computed", "SSR", or "Nominal" 108 QMap<char, bncTime> presentSince; // per system: delivering without interruption since 108 109 QMap<char, unsigned> numObs; 109 110 };
Note:
See TracChangeset
for help on using the changeset viewer.
