- Restore true chip semantics for L1: QZSS_L1_CHIP_RATE is 1.023 Mcps and
QZSS_L1_CODE_LENGTH is 1023 chips again. The replica carries
QZSS_L1_SAMPLES_PER_CHIP = 2 samples per chip (L1 C/A chips duplicated,
L1 C/B sinBOC(1,1) subchips), following the Galileo E1 approach. The
generated waveform is unchanged, but Tracking_1J.early_late_space_chips
is expressed in chips again, consistently with all other signals.
- Normalize the DLL discriminator with the sinBOC(1,1) correlation
function when the tracked PRN broadcasts L1 C/B, selected per PRN in
start_tracking(); warn if the configured correlator spacing falls
outside the BOC(1,1) correlation main peak (> 0.33 chips).
- Attribute L1 C/B observables and ephemerides (PRN 203-206) to the PRN
of the satellite's nominal PNT signals (RINEX 4.00, Table 6), so RINEX,
RTCM and rtklib identify the transmitting satellite correctly and
multi-frequency observations of the same satellite are paired instead
of counted twice.
- Do not search QZSS L5 signals for PRNs above 202, which have no L5
PRN code assigned in IS-QZSS-PNT.
- Remove reserved, non-operational PRNs 198 and 202 from the default
QZSS search list; they remain selectable via the QZSS.prns option.
- Fix a potential std::out_of_range in
GNSSFlowgraph::priorize_satellites() when assisted acquisition
prioritizes satellites of a constellation with only a subset of its
signals configured.
The Monitor block is fed from the Observables output, which only
produced data for channels with a decoded time of week. Galileo E6
channels cannot obtain the TOW from HAS pages alone, so E6-only
configurations never produced any Monitor output. When
Monitor.enable_monitor=true, the Observables block now emits every
epoch, filling channels without valid observables with their latest
tracking data (C/N0, Doppler, carrier phase), flagged as invalid so
that the PVT engine and other consumers keep ignoring them.
Fixes#1018
Results are bit-for-bit equivalent to the previous two-correlator
implementation, verified over 3- and 5-tap configurations with both the
normal and high-dynamics resampler paths.