Changeset 11159 in ntrip
- Timestamp:
- Nov 3, 2026, 11:35:28 AM (11 hours ago)
- File:
-
- 1 edited
-
trunk/BNC/CHANGELOG.md (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/CHANGELOG.md
r11158 r11159 1 1 # Changelog 2 2 ## 2.13.8 (2026-10-??) 3 - ADDED: epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current processing epoch internally; coordinates can also be given as latitude/longitude/height 3 - ADDED: **epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates** related to a dedicated reference epoch to the current processing epoch internally; coordinates can also be given as latitude/longitude/height 4 4 - ADDED: **SSR QC** of decoded Broadcast Correction streams (options 'QC Directory', 'QC Streams', 'QC Reference', 'QC Interval'; example configuration '31_SsrQC.bnc'). One daily report file per stream with epochs, declared and actual update intervals, gaps, latency, completeness w.r.t. healthy broadcast ephemerides, IOD matching, code and phase bias signals, yaw angle availability, missing code biases of the reference signals, clock jumps and largest orbit corrections 5 - ADDED: Stream comparison in the SSR QC: orbits (radial, along, cross), clocks referred to the reference signals and signal-in-space differences (SIS = radial - clock) of each stream compared with the consensus of the other ACs (one vote per AC, own AC left out, combination products not voting) or with a selected stream (e.g. 'INTERNAL'), as RMS and standard deviation per satellite and system 6 - ADDED: Attitude check in the SSR QC (option 'QC ANTEX File'): for streams sending the yaw angle, the clock change relative to the other ACs during noon and midnight turns is compared with the change predicted by the phase wind-up from the yaw difference to BNC's attitude model; shows whether the attitude 'SSR' can be used for an AC in the combination 7 - ADDED: VTEC check in the SSR QC (pseudo system 'V'): update interval, gaps and latency of the VTEC messages, model (layers, heights, degree/order), VTEC range on a global grid and comparison with the consensus of the other AC solutions (or the 'QC Reference' stream) in TECU; ionosphere streams (IONO...) are assigned to their AC solution 8 - ADDED: Code bias check in the SSR QC: the DCBs of each stream are compared with each other AC and optionally with a Bias SINEX file (option 'QC Bias File'); a stream with the opposite sign for most DCBs (SINEX instead of SSR sign convention) is reported 9 - ADDED: SIS (radial - clock, satellite-specific clock offset included) per epoch and SISRMS/SISSig per satellite and system in the SP3 comparison 5 - ADDED: **Stream comparison in the SSR QC**: orbits (radial, along, cross), clocks referred to the reference signals and signal-in-space differences (SIS = radial - clock) of each stream compared with the consensus of the other ACs (one vote per AC, own AC left out, combination products not voting) or with a selected stream (e.g. 'INTERNAL'), as RMS and standard deviation per satellite and system 6 - ADDED: **Attitude check in the SSR QC** (option 'QC ANTEX File'): for streams sending the yaw angle, the clock change relative to the other ACs during noon and midnight turns is compared with the change predicted by the phase wind-up from the yaw difference to BNC's attitude model; shows whether the attitude 'SSR' can be used for an AC in the combination 7 - ADDED: **VTEC check in the SSR QC** (pseudo system 'V'): update interval, gaps and latency of the VTEC messages, model (layers, heights, degree/order), VTEC range on a global grid and comparison with the consensus of the other AC solutions (or the 'QC Reference' stream) in TECU; ionosphere streams (IONO...) are assigned to their AC solution 8 - ADDED: **Code bias check in the SSR QC**: the DCBs of each stream are compared with each other AC and optionally with a Bias SINEX file (option 'QC Bias File'); a stream with the opposite sign for most DCBs (SINEX instead of SSR sign convention) is reported 9 - ADDED: **SIS (radial - clock, satellite-specific clock offset included) per epoch and SISRMS/SISSig per satellite and system** in the SP3 comparison 10 10 - CHANGED: SP3 comparison: the clock offsets are estimated with the epoch offsets eliminated from the normal equations (identical result); a daily file with 30-second sampling is now compared in seconds instead of hours 11 - ADDED: Combination: check of the consistency of each AC's code biases with its clocks; an AC whose satellite offsets follow the ionosphere-free combination of its reference signal biases is reported and excluded from the clock datum 11 - ADDED: **Combination: check of the consistency of each AC's code biases with its clocks**; an AC whose satellite offsets follow the ionosphere-free combination of its reference signal biases is reported and excluded from the clock datum 12 12 - ADDED: Combination: clocks of AC satellites without code biases of both reference signals are combined, but excluded from the clock datum (hourly message) 13 13 - ADDED: Combination: hourly report of AC satellites persistently rejected as outliers, and of satellites skipped because fewer than 2 ACs provide corrections … … 15 15 - CHANGED: Combination: the random walk of the AC satellite offsets is defined per time (1 cm per 10 s) instead of per epoch, so the result no longer depends on the sampling interval (at 5 s the offsets were sqrt(2) noisier per hour) 16 16 - CHANGED: Combination: an AC excluded from the clock datum because of inconsistent code biases is used again only after 12 passing checks in a row (1 hour), not after the first one (a borderline AC changed the clock datum every 5 minutes) 17 - CHANGED: Combination: attitude consistency correction dC_att of the clocks reactivated: a yaw angle difference between an AC and the master orbit AC (SSR yaw angle or BNC's attitude model, as selected in 'Attitude') changes the ionosphere-free phase wind-up and thus the AC's clock (lambda_IF * dyaw / 2pi, yaw difference followed over time, so a turn in the opposite direction leaves one cycle), zero for ACs using the same attitude model 17 - CHANGED: Combination: **attitude consistency correction dC_att** of the clocks reactivated: a yaw angle difference between an AC and the master orbit AC (SSR yaw angle or BNC's attitude model, as selected in 'Attitude') changes the ionosphere-free phase wind-up and thus the AC's clock (lambda_IF * dyaw / 2pi, yaw difference followed over time, so a turn in the opposite direction leaves one cycle), zero for ACs using the same attitude model 18 18 - 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 19 - 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 C1X/C5X or of QZSS to L1/L5 19 - 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 C1X/C5X or of QZSS to L1/L5 20 20 - ADDED: Detection and conversion of outdated or erroneous IGS-SSR epoch time encodings (GLONASS as UTC seconds of day or of week, BDS as BDT) with an hourly warning, and a plausibility check of the orbit/clock epochs of all systems of a stream 21 21 - ADDED: ANTEX file name, number of entries and latest satellite entry are logged; satellites without a valid ANTEX entry are reported (and not combined) 22 - ADDED: Combination and PPP: **a changed ANTEX file is read again while BNC is running and used from the GPS week given in it** (SINEX code of the entries, e.g. IGS20_2437) on; the attitude model states are taken over23 - ADDED: Option 'File per stream' (key ephFilePerStation) in the RINEX Ephemeris panel: one RINEX navigation file per stream, named after the stream like the observation files, each with all ephemerides of its stream; by default still one file with each ephemeris once 24 - ADDED: PPP option 'Ephemeris stream' (key PPP/ephMount): real-time PPP uses the Broadcast Ephemeris of the given stream(s) only, e.g. BCEP00BKG0, not those of the observation streams; empty: all streams as before 22 - ADDED: **Combination and PPP: a changed ANTEX file is read again while BNC is running and used from the GPS week given in it** (SINEX code of the entries, e.g. IGS20_2437) on; the attitude model states are taken over 23 - ADDED: **Option 'File per stream' (key ephFilePerStation) in the RINEX Ephemeris panel**: one RINEX navigation file per stream, named after the stream like the observation files, each with all ephemerides of its stream; by default still one file with each ephemeris once 24 - ADDED: **PPP option 'Ephemeris stream' (key PPP/ephMount)**: real-time PPP uses the Broadcast Ephemeris of the given stream(s) only, e.g. BCEP00BKG0, not those of the observation streams; empty: all streams as before 25 25 - FIXED: GPS and QZSS uploads within the curve fit interval (cutover; TOC some 16 s earlier than that of the data set replaced, e.g. 01:59:44 instead of 02:00:00) were ignored as not newer until the next regular data set, in RINEX navigation files, ephemeris upload (BCEP), PPP and combination; corrections of ACs referring to such an upload were not used for up to 2 hours. Data sets received before (e.g. from a slower stream) are ignored now explicitly 26 26 - ADDED: GPS/QZSS ephemeris check: data sets with IODE different from the 8 LSBs of IODC (assembled from subframes of two uploads) are rejected … … 34 34 - ADDED: Regression test suite ('tests'): example configurations and short raw captures replayed through BNC and compared with reference outputs 35 35 - ADDED: macOS packaging script 36 - CHANGED: SSR corrections are passed on as soon as all messages of an epoch have arrived (Multiple Message Indicator), not only when the next epoch starts; this reduces the latency by one update interval for PPP, combination and file output 36 - CHANGED: **SSR corrections are passed on as soon as all messages of an epoch have arrived (Multiple Message Indicator)**, not only when the next epoch starts; this reduces the latency by one update interval for PPP, combination and file output 37 37 - CHANGED: Combination: an epoch is combined as soon as all ACs have delivered it (complete epochs passed on by the decoder, clock corrections after orbits and biases), at the latest after max(10 s, sampling interval); before, epochs were lost if the ACs' latencies differed by more than the sampling interval 38 38 - CHANGED: The combined corrections passed on to BNC's PPP ('INTERNAL') always refer to the APC, and PPP treats them as APC corrections 39 39 - CHANGED: Satellite antenna corrections from ANTEX are selected according to their validity (VALID FROM/UNTIL) at the processed epoch, important for PRNs reassigned to new satellites 40 - CHANGED: Default RINEX 3/4 observation header contains all signals BNC can decode, including Doppler; trailing blanks of observation records are omitted 40 - CHANGED: **Default RINEX 3/4 observation header contains all signals BNC can decode, including Doppler**; trailing blanks of observation records are omitted 41 41 - CHANGED: RINEX QC: the ephemeris closest in time is used per epoch (also for the elevation mask in RINEX editing); expected observations are counted only with a valid ephemeris and above the elevation mask, including unhealthy satellites; all RINEX 4 navigation message types are read 42 42 - CHANGED: PPP: wrong entries in the station table are rejected with a message; the filter is restarted after a numerical failure … … 58 58 - FIXED: Upload of raw streams lost data chunks 59 59 - FIXED: RTCM3 decoder: a 0xD3 byte followed by a zero length field at the end of the received data caused an endless loop until std::bad_alloc, and the stream was deleted 60 - FIXED: SP3/Clock RINEX files from corrections off the sampling grid (e.g. Galileo HAS): no ephemeris was selected, epochs are now written at the preceding grid epoch 60 - FIXED: **SP3/Clock RINEX files from corrections off the sampling grid (e.g. Galileo HAS)**: no ephemeris was selected, epochs are now written at the preceding grid epoch 61 61 - FIXED: RINEX observation files written without usable skeleton contained no observation values 62 62 - FIXED: The first broadcast ephemeris after a data gap was rejected as 'WRONG'
Note:
See TracChangeset
for help on using the changeset viewer.
