Commit Graph
38 Commits
Author SHA1 Message Date
Carles Fernandez 8ac0737031 Fix application of BDS B1C corrections 2026-08-23 08:08:04 +02:00
Vladslav P 55fcdea42a GnssEphemerisPosVelTest: add BeiDou GEO/IGSO tests
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-08-08 14:11:08 +03:00
Carles Fernandez 0ea3c54429 Improve printing of BeiDou B1C data 2026-08-07 14:27:22 +02:00
Carles Fernandez b596884e9e Merge upstream next into contrib/beidou-b1c-clean
Signed-off-by: Carles Fernandez <carles.fernandez@cttc.es>
2026-08-03 21:09:57 +02:00
Carles Fernandez 833bfb5dd1 Corrected RINEX 3/4 navigation and observation output 2026-08-03 11:47:34 +02:00
OuWenhao16 aa1ca2163d Fix SOH framing/sync-loss and other questions raised by the PM.
Keep BeiDou B1C/CNAV1-focused changes; remove B1I OPT_ACQ, outlier PR
gating, DNAV toe/sqrt(A) sanity, and Flag_cycle_slip move-assignment submitted separately.

Signed-off-by: OuWenhao16 <104730917+OuWenhao16@users.noreply.github.com>
2026-08-01 02:32:19 +08:00
OuWenhao16 97680490e0 Address Project Manager review feedback for BeiDou B1C/CNAV1.
Put B1C on RTKLIB slot 0 with prefer-B1C XOR and lam[0] override,
align QMBOC quadrature and BCH thresholds with the ICD, fix BDGIM
nearest-odd-hour t_p and CNAV1 ephemeris defaults, tighten math/constants
usage, and drop the non-reproducible LDPC generator script. Move replica,
LDPC, and navigation unit tests into the default test set.

Signed-off-by: OuWenhao16 <104730917+OuWenhao16@users.noreply.github.com>
2026-08-01 02:32:18 +08:00
OuWenhao16 da9eba4af2 Remove redundant BeiDou PVT pre-filters in the src/algorithms/PVT/libs/rtklib_solver.cc.
Update pseudorange outlier rejection
- Gate relative pseudorange rejection behind a new configuration flag
  `Observables.reject_outlier_pseudoranges` (default: true) to prevent
  premature PVT breakage and improve space compatibility.
Align B1C with unified adapters.
- Fold B1C acquisition/tracking/telemetry into PcpsAcquisitionAdapter,
  DllPllTrackingAdapter, and TelemetryDecoderAdapter, and add SPDX author
  headers for the B1C/CNAV1 contribution files.
Fix B1C ICD alignment for eph, TGD, UTC, and PR gating.
Gate CNAV1 publish on IODE/IODC, fix gettgd SYS_BDS selection,
correct LS/LSF and UTC scales, and drop the MEO-biased PR median cut.

Signed-off-by: OuWenhao16 <104730917+OuWenhao16@users.noreply.github.com>
2026-08-01 02:32:17 +08:00
OuWenhao16 e633273448 Fix B1C PVT: separate B1I/B1C bands, isolate DNAV/CNAV1, and harden hybrid solving.
Map B1C to its own RTKLIB frequency/wavelength, apply correct TGD/ISC and BDGIM,
and define same-PRN mixed-signal policy with regression tests and conf notes.

Signed-off-by: OuWenhao16 <104730917+OuWenhao16@users.noreply.github.com>
2026-08-01 02:32:16 +08:00
OuWenhao16 77f2c18f01 Add BeiDou B1C (signal 1D) signal processing and CNAV1 support.
Integrate acquisition, pilot/data tracking, B-CNAV1 telemetry decoding, and
PVT/RINEX hooks on upstream/next with minimal changes to shared blocks.
Includes example configuration, code generators, and unit tests.

Signed-off-by: OuWenhao16 <104730917+OuWenhao16@users.noreply.github.com>
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-08-01 02:32:08 +08:00
Carles Fernandez 5454bc22ee Complete BeiDou D1/D2 DNAV decoding 2026-07-31 19:11:58 +02:00
Carles Fernandez f7fa1ff68e Merge branch 'fix-L2-L5-CNAV' of https://github.com/vladisslav2011/gnss-sdr into vladisslav2011-fix-L2-L5-CNAV 2026-07-31 16:51:51 +02:00
Vladslav P 2f86def08b GnssEphemeris position/velocity test: BeiDou DNAV
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-07-31 03:31:04 +03:00
Vladslav P b070e4fbe4 GnssEphemeris position/velocity test: Galileo
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-07-31 03:31:04 +03:00
Vladslav P 5eb08f9baa GnssEphemeris position/velocity test: GPS NAV
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-07-31 03:31:04 +03:00
Vladslav P a42d93567b GnssEphemeris position/velocity test: CNAV
Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-07-31 03:31:04 +03:00
Carles Fernandez 028ebe433d QZSS: refine L1 C/B support
- 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.
2026-07-04 15:31:03 +02:00
Vladslav P dc0d9f5dfd QZSS: add L1 C/B primary code generation test
And fix failing L1 C/A primary code generation tests

Signed-off-by: Vladslav P <vladisslav2011@gmail.com>
2026-07-03 20:31:52 +03:00
Carles Fernandez a12f3552eb Add test for Glonass data verification algorithm 2026-06-11 21:58:10 +02:00
Carles Fernandez e457b924bd Implement Glonass handling of new leap second (KP word) 2026-06-11 20:58:48 +02:00
Carles Fernandez b6fe42e19c Glonass improvements: define resets in telemetry decoders, remove unused async port, fix decoding of some parameters 2026-06-11 15:22:25 +02:00
Carles Fernandez 7bd6622e2c Fix Glonass carrier phase and time annotations in RINEX files 2026-06-11 07:22:02 +02:00
Carles Fernandez ef3038b375 Improve handling of TOW rollover and Galileo E6 HAS timing 2026-06-09 18:47:16 +02:00
Carles Fernandez d272d1ebda Merge branch 'fix-bds' into next 2026-06-07 20:27:29 +02:00
Carles Fernandez 47adf0db79 Fix test 2026-06-06 20:54:19 +02:00
Carles Fernandez 344cd79af1 Implement QZSS LNAV almanac/auxiliary pages decoding, add unit tests 2026-06-06 13:10:39 +02:00
Carles Fernandez 2d28b5d025 Fix QZSS PRN 196 code generation in L5 2026-06-06 12:02:53 +02:00
Carles Fernandez 1ff5711f8c Add author in header 2026-06-06 11:24:49 +02:00
Carles Fernandez 46084a7f03 Validate BeiDou D2 page SOW sequence, add unit tests for DNAV message 2026-06-06 11:22:20 +02:00
Carles Fernandez 0ede4c1889 Remove test 2026-06-05 17:17:43 +02:00
Carles Fernandez da1834ec90 Fix GPS/QZSS CNAV CEI validation and RTKLIB accuracy handling 2026-06-04 20:01:17 +02:00
Carles Fernandez 3521f5033c Fix formatting 2026-05-24 23:00:00 +02:00
Carles Fernandez 3575075238 Improve Glonass satellite identification 2026-05-24 10:17:58 +02:00
Carles Fernandez cdc3207606 Test more PRNs in QZSS tests 2026-02-24 20:53:40 +01:00
Carles Fernandez 8fc9276ff5 Add code generation, acquisition and tracking adapters for QZSS L1 C/A and L5 2026-02-24 11:40:20 +01:00
Carles Fernandez 32e7dc03ae Fix typos detected by codespell 2025-02-10 13:20:14 +01:00
Carles Fernandez 2a98217f25 Remove references to the data folder 2024-10-04 19:43:07 +02:00
Carles Fernandez 825037592a Remove build and data folders, move tests and utils to the base of the source tree 2024-10-04 11:55:09 +02:00