Commit Graph
396 Commits
Author SHA1 Message Date
Oleksandr Suvorov bec24f3081 conf: add 4-constellation L1 config for native bladeRF source
Add a sample configuration enabling GPS L1 C/A, Galileo E1, GLONASS
L1 C/A, and BeiDou B1I simultaneously through the new native
Bladerf_Signal_Source, following the same single-capture, multi-band
split already used by the existing USRP X300 and HackRF multichannel
templates.

One 56 Msps / 56 MHz wideband capture centered at 1584 MHz (the
maximum bandwidth supported by a bladeRF 2.0 Micro) is split via
SignalSource.RF_channels=3 into three Freq_Xlating_Fir_Filter
sub-bands tapping the same physical stream: BeiDou B1I (1561.098
MHz), GPS L1 C/A + Galileo E1 (co-located at 1575.42 MHz), and
GLONASS L1 C/A (FDMA, centered near 1602 MHz). The frequency plan and
per-system acquisition/tracking parameters are carried over from the
existing USRP X300 four-constellation template.

Verified against a physical bladeRF 2.0 Micro: the receiver
simultaneously acquired and tracked real satellites on all four
systems from a live antenna.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
2026-08-27 11:06:17 +03:00
Oleksandr Suvorov a5a6b9359b signal_source: add native BladeRF support via libbladeRF
Add a Bladerf_Signal_Source that streams RX samples directly from
bladeRF front-ends (bladeRF x40, x115, and bladeRF 2.0 Micro xA4/xA9)
through libbladeRF, instead of going through the generic gr-osmosdr
wrapper. gr-osmosdr's bladerf backend does not expose usable per-stage
gain control on bladeRF2 hardware and has no support for the RX bias
tee used to power an active antenna on the 2.0 Micro.

The new gr::sync_block (bladerf_source) talks to libbladeRF's
synchronous streaming API directly; the adapter (BladerfSignalSource)
follows the existing SignalSourceBase pattern used by the other signal
sources, with valve and dump support wired the same way. Building it
is gated behind -DENABLE_BLADERF=ON, degrades gracefully when
libbladeRF is absent, and requires libbladeRF v2.6.0 or newer,
enforced at configure time.

Verified against a physical bladeRF 2.0 Micro: the receiver opens the
device, streams live samples, and acquires and tracks real GPS
satellites end to end using the new sample configuration file.

Only single-channel (SISO) reception is supported for now; the second
RX channel is not yet exposed.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
2026-08-27 11:06:11 +03:00
Carles Fernandez 48bf115ca6 Improve SBAS examples 2026-08-09 10:02:27 +02:00
Carles Fernandez 1f9afe4431 Implement SBAS/EGNOS correction path 2026-08-09 07:55:04 +02:00
Carles Fernandez f0e75ce558 Improve SBAS L1 telemetry decoder and simplify SBAS adapters
Compensate the Viterbi traceback delay when timestamping decoded SBAS
messages by carrying per-sample reception timestamps through the sample
and symbol aligners (removes a ~140 ms bias), with a deterministic unit
test covering the FIFO pairing.
Protect decoder state with d_setlock in reset(), set_satellite(),
set_channel() and general_work(), following the convention of the other
telemetry decoders.
Share per-PRN EMS dump files through a per-run dump session: the first
open in a run truncates stale data, later opens append, so channel
reassignments no longer wipe previously decoded messages.
2026-08-08 12:10:10 +02:00
Carles Fernandez 697f3fab66 Merge branch 'ft/sbas' of https://github.com/gnss-sdr/gnss-sdr-vtl into gnss-sdr-ft/sbas 2026-08-08 10:38:50 +02:00
miguekf f129a4af8e Address PR #1059 review: PRN whitelist, SBAS coherent integration, timestamp, reset, dead code, config
- gnss_satellite.cc: accept the full supported SBAS PRN range (120-138)
  instead of a stale 6-PRN whitelist that rejected valid PRNs such as WAAS
  PRN 133. Per-PRN satellite/service names are no longer hardcoded, since
  that assignment changes over time and cannot be reliably kept up to date
  here (fixes review comments on PRN support and outdated satellite info).
- SBAS_L1.h: cap SBAS_L1_MAX_COHERENT_INTEGRATION_SYMBOLS at 1 (1 ms). The
  telemetry decoder performs its own unsynchronized sample/symbol pairing,
  so extending tracking's coherent integration to 2 ms is unsafe and
  corrupts that pairing.
- sbas_l1_telemetry_decoder_gs.{h,cc}: carry an absolute per-sample/per-bit
  timestamp through the sample buffer and Frame_Detector, replacing the
  buggy offset that anchored the message timestamp to whichever sample was
  current when decoding happened, which could be off by up to a full
  message duration. Add
  sbas_l1_telemetry_decoder_gs::compute_message_timestamp() as a small,
  independently testable helper for the residual sub-bit correction, and a
  matching deterministic unit test.
- sbas_l1_telemetry_decoder_gs.{h,cc}: implement a real reset() that clears
  all decoder buffers/aligners and closes the dump file, so a channel
  reassigned to a different PRN never mixes messages into the previous
  satellite's file.
- Remove the orphan sbas_l1_telemetry_decoder.cc adapter: it includes a
  header that no longer exists and is not part of any CMake target (the
  factory instantiates the GNU Radio block directly), so it silently never
  compiled.
- Dump file: overwrite instead of append on each run, remove the hardcoded
  GNSS-SDR version string, and document that the .ems output is an
  EMS-like raw message dump, not a conformant EMS file.
- conf/File_input/SBAS/gnss-sdr_SBAS_EGNOS_rx.conf: drop the outdated
  PRN/satellite table and per-channel satellite comments, correct the
  coherent-integration note to 1 ms, and clarify that SBAS is not used as
  a ranging source in this configuration.

Signed-off-by: miguekf <miguel.gomezlopez@uclm.es>
2026-08-04 23:05:33 +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
kalmancito 81f4c8846b Add SBAS support 2026-07-30 17:40:43 +02:00
Carles Fernandez b05b6c0d01 Remove leftovers of Glonass C_Aid implementation 2025-12-11 22:25:00 +01:00
pedromiguelcp f1eaf5253e feat: add multichannel support for ntlab adapter 2025-07-11 14:36:26 +01:00
pedromiguelcp ef01835b28 feat: add signal source adapter for NTLab NT1065 2025-07-11 14:36:25 +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 58ded939ad Fix end of line format 2024-10-04 11:55:42 +02:00
Vladislav P 6731d1cb3e Add fake multichannel example config files
Signed-off-by: Vladislav P <vladisslav2011@gmail.com>
2024-05-18 22:26:27 +03:00
kalmancito 90b2f804d8 [manag] tidy conf files 2024-01-29 11:44:59 +01:00
Wojciech Kazubski be14f1c4b4 Replace cshort with gr_complex 2022-12-01 14:45:33 +01:00
Wojciech Kazubski 72ffa2f7f5 Remove not working throttle control (sample rate determined by hardware) 2022-12-01 14:43:18 +01:00
Carles Fernandez 30d149b151 Add default parameters to conf file for reference 2022-08-30 12:21:56 +02:00
Carles Fernandez 66935170a6 Rename GPS_L1_CA_KF_VTL_Tracking to GPS_L1_CA_KF_Tracking 2022-08-30 12:03:41 +02:00
Carles Fernandez 17b03eeb3e Replace misleading name 2022-08-30 11:51:32 +02:00
Carles Fernandez 858ea91ca8 Rename GPS_L1_CA_KF_Tracking implementation to GPS_L1_CA_Gaussian_Tracking 2022-08-30 11:30:53 +02:00
Carles Fernandez 4a6f29453a Clean code 2022-08-29 23:34:09 +02:00
Carles Fernandez 7ac77f123f Update URLs 2022-04-14 19:33:02 +02:00
Carles Fernandez c54c4a5221 Fix some typos 2022-02-12 11:09:21 +01:00
Carles Fernandez 4effe76fa9 Update LimeSDR configuration example 2022-02-11 13:34:12 +01:00
Javier Arribas 80ce6273bc Fix REUSE-compliance warnings 2021-12-05 21:52:21 +01:00
Javier Arribas 522696a01f Sample config files update 2021-11-15 15:23:47 +01:00
Javier Arribas becc3426af Update gr.limesdr adapter to support gr3.8 2021-10-20 11:23:58 +02:00
Javier Arribas c9d6688f1b Merge with next 2021-10-20 09:47:33 +02:00
iucgnaw c4692cbc2f Fixed typo.
Signed-off-by: iucgnaw <iucgnaw@msn.com>
2021-10-08 20:10:40 +08:00
Javier Arribas 514bb331ce Merging next branch 2021-06-21 17:00:27 +02:00
Carles Fernandez 27d0419f79 Remove abandoned Gn3s_Signal_Source and ENABLE_GN3S building option 2021-06-15 14:19:40 +02:00
Javier Arribas 9802ac8af0 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into pps_lime 2021-04-28 11:05:10 +02:00
Lenhart cad8659116 added license to config file, applied clang-formatting rules to overlooked files 2021-04-17 19:32:10 +02:00
Lenhart 4f66603464 Implemented a custom FIFO reading gnu radio block + adapter.
Reads samples from unix fifo into gnss-sdr.

Use cases:
- multiplex signal streams outside of gnss-sdr
- another program holds access to the SDR
- the SDR is not supported by gnss-sdr but can dump the signal to a fifo
2021-04-17 18:55:20 +02:00
Javier Arribas c1880d1ece Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into pps_lime 2021-04-07 14:52:59 +02:00
Carles Fernandez 9417e713c3 Replace Receiver.sources_count configuration parameter name by GNSS-SDR.num_sources. The former parameter name is still read to ensure backward compatibility 2021-03-13 21:35:55 +01:00
Javier Arribas 933d3b3228 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into pps_lime 2021-03-11 10:07:05 +01:00
Javier Arribas ccc41b3851 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into pps_lime 2021-02-24 11:41:34 +01:00
Carles Fernandez 89efa10236 Improve error messages 2021-02-24 10:41:26 +01:00
Carles Fernandez 07b401e3bc Improve error messages in case of wrong configuration for the FPGA offloading flowgraph 2021-02-23 21:40:53 +01:00
Javier Arribas 3bd0b07965 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental 2020-11-04 09:35:31 +01:00
Josh Schindehette 1fc7e419d4 Fixed "monitor" test conf files for typos in PVT keys 2020-10-21 16:26:56 +02:00
Josh Schindehette a8b536b367 Fixed issues for cpplint, clang-format, and REUSE-compliance 2020-10-21 16:26:56 +02:00