Commit Graph
91 Commits
Author SHA1 Message Date
Carles Fernandez 0ea3c54429 Improve printing of BeiDou B1C data 2026-08-07 14:27:22 +02:00
Carles Fernandez 656c1c89da Move BeiDou B1C code generation script to a new folder 2026-08-07 13:24:34 +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 e4f3437d88 Merge branch 'better-dnav' into next 2026-08-03 17:20:33 +02:00
Carles Fernandez 5c3ad8b825 skyplot: fix RINEX 4 navigation files reading 2026-08-03 12:41:26 +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 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 347e6b71da Bump max version of CMake to 4.4 2026-07-31 20:03:06 +02:00
Carles Fernandez cb2c955151 Do not plot CN0 initialization to zero 2026-07-28 10:16:22 +02:00
Carles Fernandez dffad39802 Fix formatting 2026-07-15 01:49:50 +02:00
Carles Fernandez 5e14095728 Improve consistency in binary operation token representation 2026-07-15 01:43:41 +02:00
Carles Fernandez 80d24ee105 Fix vanishing correlation peak in acquisition grid plots of long codes 2026-07-05 13:50:21 +02:00
Carles Fernandez d332fdbb21 Improve Python observables plots 2026-06-26 10:36:12 +02:00
Carles Fernandez 60a1c43f2b Add titles in some Python plots 2026-06-26 08:59:15 +02:00
Carles Fernandez 95ad7d19ec Add possibility to infer Python plot defaults from GNSS-SDR configuration files 2026-06-25 20:49:30 +02:00
minhaj 16cf5e7753 While testing, I found the old version of this script had an old bug.
For some reason, the old script calculated "mean()" of PRN numbers
in a tracking channel. E.g., channel 1 tracked PRN 3 for few seconds,
then tracked PRN 16 for the rest. The script would add legend PRN 9
(3+16)/2 = .... Fixed that and added "PRN-wise tracking indicator" in
addition to the existing "channel-wise tracking indicator"

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-24 13:01:28 +02:00
minhaj 63e77ef15b got some rinex file from Alabama CORS network, which had capital .26N, .26O,
added those cases to the gitignore.

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-24 13:01:28 +02:00
minhaj 96a767d353 for debugging, print-out/write csv for investigating the numbers lib/dll_pll_veml_read_tracking_dump.py
if the file is ran by itself. not sure a separate "dump-to-csv" script is needed.

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-24 13:01:28 +02:00
Carles Fernandez e438d08c6e Parameterize Python plotting utilities in utils/python 2026-06-23 15:49:25 +02:00
minhaj 43bceb52ff Fix and refactor GPS L1 C/A KF tracking dump reader and plotter.
The KF tracking dump reader now follows the parameters dumped by kf_tracking.cc

lib/gps_l1_ca_kf_read_tracking_dump.py:
- Rewrite using the same _RECORD_FORMAT / _FIELD_NAMES architecture as
  dll_pll_veml_read_tracking_dump.py: one struct.unpack per record and
  EOF handling, dropping the v1..v22 / bytes_shift / seek.

gps_l1_ca_kf_plot_sample.py:
- map innovation -> carr_error; drop r_noise_cov

lib/plotKalman.py, lib/plotTracking.py:
- Skip the "Estimated Noise Variance" panel when r_noise_cov is absent.
- Replace fig.canvas.set_window_title() with
  fig.canvas.manager.set_window_title(). The canvas method was deprecated
  in matplotlib 3.4 and is gone in current matplotlib (3.6.3 here), where
  it raised AttributeError. Ref: https://github.com/raysect/source/issues/383

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-19 23:10:01 -05:00
minhaj ec718c6e64 The dll_pll_veml_read_tracking_dump.py file was failing as it didn't read last
two fields (TOW_ms and WN). Probably because this file was written at a time when
these fields were not present in the tracking dump.
This commit fixes that, and plot_tracking_quality_indicator.py is operational now.
This script now also lays out a _RECORD_FORMAT such that it is easily maintainable
if the structure changes again in future in the dll_pll_veml_tracking.cc
Thanks!

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-19 17:29:08 -05:00
minhaj 2693aa48f9 drop import sys; no longer used
Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-19 16:35:52 -05:00
minhaj 06fb7f0d11 Improved plot_acq_grid.py utility.
- Added a plot_positive_acq filter option, to enable plotting only the positive
  acquisitions.
- Improved the file path processing. Previous version used hardcoded character
  offset that will not work if someone sets custom dump prefix. Now we use
  python's built-in pathlib and split-parse using the "_" separator.
- The scripts used to use two different ways of encoding system,channel,chips,
  one with python dict another with massive if-else nest. This has been uniformed.
- The script used to assume all files in the dump folder would be acquisition dump
  but now we filter for acq dumps using pathlib's glob()

Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
2026-06-19 16:35:47 -05:00
Carles Fernandez 154f8d0f8c CMake: improve consistency in variable usage 2026-06-17 12:57:15 +02:00
Carles Fernandez 011aed587d Merge branch 'fix-e6-obs' into next 2026-06-14 08:44:23 +02:00
Carles Fernandez 4e2d0d4b30 CMake: Fix incorrect find_program result checks 2026-06-13 12:34:04 +02:00
Carles Fernandez 0e6253596d CMake: Use GNUInstallDirs variables for all install destinations
This fixes packaging on distributions that do not use a plain share/bin layout
2026-06-10 08:12:25 +02:00
Carles Fernandez 931d5a7951 Fix formatting 2026-05-25 17:41:06 +02:00
Carles Fernandez ae0fd9cf51 Merge branch 'next' into has-fixes 2026-05-25 17:23:40 +02:00
Carles Fernandez 67b7bd27e9 Avoid throwing exceptions in main() 2026-05-25 10:49:29 +02:00
Carles Fernandez 4c07ea70eb Fix formatting 2026-05-24 23:34:19 +02:00
Carles Fernandez 8fdc751b90 Fix formatting 2026-05-24 23:27:49 +02:00
Carles Fernandez 2f010f0161 Do not throw an exception when we should not 2026-05-24 22:48:49 +02:00
Mathieu Favreau 8f29c4f88e Cleanup custom acquisition adapters 2026-05-19 20:04:16 +00:00
Mathieu Favreau 6ca540ff6f Cleanup gnss factory to remove class 2026-05-12 21:25:27 +00:00
Carles Fernandez e82624d981 CMake: improve portability and robustness
Refactor Python detection
Improve imported target handling
Improve version detection
Improve naming consistency
2026-04-19 15:28:57 +02:00
Carles Fernandez af769eff56 Bump max version of CMake to 4.3 2026-03-28 07:24:05 +01:00
Carles Fernandez f47eef5a44 Fix synch parameters in L2C example 2026-02-17 17:00:19 +01:00
Carles Fernandez 3cd0952e0c Fix building of nav_listener for Boost>=1.66 2026-01-09 09:48:34 +01:00
Carles Fernandez 79ae5274d6 Fix Matlab tracking dump reader 2025-11-24 09:15:17 +01:00
Carles Fernandez 3a34761773 Merge branch 'refactor/remove-set-threshold-acquisition' of https://github.com/MathieuFavreau/gnss-sdr into MathieuFavreau-refactor/remove-set-threshold-acquisition 2025-11-23 10:50:12 +01:00
Carles Fernandez a0746c8915 Bump max version of CMake to 4.2 2025-11-21 19:34:03 +01:00
Mathieu Favreau ec309bd22f Remove set_threshold from acquisition 2025-11-20 17:22:27 +00:00
Mathieu Favreau 95b424dd3c Remove init from acquisition 2025-11-13 19:19:16 +00:00
Mathieu Favreau 7d4e175235 Make doppler step const in acquisition 2025-11-05 18:40:55 +00:00
Mathieu Favreau 10a75f1ab2 Make acquisition doppler max const 2025-11-04 21:57:31 +00:00
Carles Fernandez 9e6b05be75 Fix building of rinex2assist in some environments 2025-10-02 13:05:51 +02:00
Carles Fernandez 0a32ec6494 osnma_log_viewer.py: print number of verified tags found in log file 2025-09-12 22:55:45 +02:00