mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2026-10-15 12:11:51 +00:00
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>
This commit is contained in:
+254
@@ -0,0 +1,254 @@
|
||||
; This is a GNSS-SDR configuration file
|
||||
; The configuration API is described at https://gnss-sdr.org/docs/sp-blocks/
|
||||
; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
; SPDX-FileCopyrightText: (C) 2010-2026 (see AUTHORS file for a list of contributors)
|
||||
|
||||
; You can define your own receiver and invoke it by doing
|
||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
|
||||
;
|
||||
|
||||
[GNSS-SDR]
|
||||
|
||||
;######### GLOBAL OPTIONS ##################
|
||||
GNSS-SDR.internal_fs_sps=8000000
|
||||
GNSS-SDR.Beidou_banned_prns=56,57,58
|
||||
|
||||
|
||||
;######### SIGNAL_SOURCE CONFIG ############
|
||||
; Native libbladeRF signal source (requires the -DENABLE_BLADERF=ON building
|
||||
; flag and libbladeRF v2.6.0+; see gnss-sdr_GPS_L1_bladeRF_native.conf).
|
||||
; One wideband capture centered between the BeiDou B1I band (1561.098 MHz)
|
||||
; and the GLONASS L1 band (~1602 MHz) is split, below, into three sub-bands
|
||||
; by three parallel Freq_Xlating_Fir_Filter chains tapping the same physical
|
||||
; bladeRF stream (SignalSource.RF_channels=3): BeiDou B1I, GPS L1 C/A +
|
||||
; Galileo E1 (co-located at 1575.42 MHz), and GLONASS L1 C/A.
|
||||
; Requires a bladeRF 2.0 Micro (AD9361-based); 56 Msps / 56 MHz bandwidth is
|
||||
; at its maximum supported bandwidth.
|
||||
SignalSource.implementation=Bladerf_Signal_Source
|
||||
SignalSource.item_type=gr_complex
|
||||
SignalSource.sampling_frequency=56000000
|
||||
SignalSource.freq=1584000000
|
||||
SignalSource.bandwidth=56000000
|
||||
SignalSource.gain=40
|
||||
SignalSource.AGC_enabled=false
|
||||
SignalSource.rx_bias_tee=false
|
||||
SignalSource.device_serial=
|
||||
SignalSource.samples=0
|
||||
SignalSource.RF_channels=3
|
||||
SignalSource.dump=false
|
||||
|
||||
|
||||
|
||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||
SignalConditioner0.implementation=Signal_Conditioner
|
||||
SignalConditioner1.implementation=Signal_Conditioner
|
||||
SignalConditioner2.implementation=Signal_Conditioner
|
||||
|
||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||
DataTypeAdapter0.implementation=Pass_Through
|
||||
DataTypeAdapter1.implementation=Pass_Through
|
||||
DataTypeAdapter2.implementation=Pass_Through
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
; Sub-band 0: BeiDou B1I (1561.098 MHz), RF_channel_ID=0
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.decimation_factor=7
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
InputFilter0.filter_type=lowpass
|
||||
InputFilter0.bw=7000000
|
||||
InputFilter0.tw=500000
|
||||
InputFilter0.IF=-22902000
|
||||
InputFilter0.sampling_frequency=56000000
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
; Sub-band 1: GPS L1 C/A + Galileo E1 (1575.42 MHz), RF_channel_ID=1
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.decimation_factor=7
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
InputFilter1.filter_type=lowpass
|
||||
InputFilter1.bw=7000000
|
||||
InputFilter1.tw=500000
|
||||
InputFilter1.IF=-8580000
|
||||
InputFilter1.sampling_frequency=56000000
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
; Sub-band 2: GLONASS L1 C/A (~1602 MHz, FDMA), RF_channel_ID=2
|
||||
InputFilter2.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter2.decimation_factor=7
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
InputFilter2.taps_item_type=float
|
||||
InputFilter2.filter_type=lowpass
|
||||
InputFilter2.bw=7000000
|
||||
InputFilter2.tw=500000
|
||||
InputFilter2.IF=18000000
|
||||
InputFilter2.sampling_frequency=56000000
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
Resampler0.implementation=Pass_Through
|
||||
Resampler1.implementation=Pass_Through
|
||||
Resampler2.implementation=Pass_Through
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
Channels_1B.count=10
|
||||
Channels_1C.count=10
|
||||
Channels_B1.count=14
|
||||
Channels_1G.count=8
|
||||
|
||||
Channels_1B.RF_channel_ID=1
|
||||
Channels_1C.RF_channel_ID=1
|
||||
Channels_B1.RF_channel_ID=0
|
||||
Channels_1G.RF_channel_ID=2
|
||||
|
||||
|
||||
Channels.in_acquisition=2
|
||||
|
||||
;######### ACQUISITION BEIDOU CONFIG ############
|
||||
Acquisition_B1.implementation=BEIDOU_B1I_PCPS_Acquisition
|
||||
Acquisition_B1.item_type=gr_complex
|
||||
Acquisition_B1.coherent_integration_time_ms=2
|
||||
Acquisition_B1.pfa=0.000002
|
||||
Acquisition_B1.doppler_max=6000
|
||||
Acquisition_B1.doppler_step=100
|
||||
Acquisition_B1.dump=false
|
||||
Acquisition_B1.dump_filename=./bds_acq
|
||||
Acquisition_B1.bit_transition_flag=false
|
||||
|
||||
;######### ACQUISITION GPS CONFIG ############
|
||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||
Acquisition_1C.item_type=gr_complex
|
||||
Acquisition_1C.coherent_integration_time_ms=1
|
||||
Acquisition_1C.pfa=0.015
|
||||
Acquisition_1C.doppler_max=6000
|
||||
Acquisition_1C.doppler_step=200
|
||||
Acquisition_1C.max_dwells=4
|
||||
Acquisition_1C.dump=false
|
||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||
|
||||
;######### ACQUISITION GALILEO CONFIG ############
|
||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||
Acquisition_1B.coherent_integration_time_ms=2
|
||||
Acquisition_1B.pfa=0.025
|
||||
Acquisition_1B.doppler_max=6000
|
||||
Acquisition_1B.doppler_step=200
|
||||
Acquisition_1B.max_dwells=4
|
||||
Acquisition_1B.cboc=true
|
||||
Acquisition_1B.dump=false
|
||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||
|
||||
;######### ACQUISITION GLONASS CONFIG ############
|
||||
Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
|
||||
Acquisition_1G.item_type=gr_complex
|
||||
Acquisition_1G.coherent_integration_time_ms=1
|
||||
Acquisition_1G.max_dwells=4
|
||||
Acquisition_1G.pfa=0.02
|
||||
Acquisition_1G.doppler_max=6000
|
||||
Acquisition_1G.doppler_step=100
|
||||
Acquisition_1G.dump=false
|
||||
Acquisition_1G.dump_filename=./G1_acq
|
||||
|
||||
|
||||
|
||||
;######### TRACKING BEIDOU CONFIG ############
|
||||
Tracking_B1.implementation=BEIDOU_B1I_DLL_PLL_Tracking
|
||||
Tracking_B1.item_type=gr_complex
|
||||
Tracking_B1.extend_correlation_symbols=10
|
||||
Tracking_B1.pll_bw_hz=50.0
|
||||
Tracking_B1.dll_bw_hz=2.00
|
||||
Tracking_B1.pll_bw_narrow_hz=15.0
|
||||
Tracking_B1.dll_bw_narrow_hz=1.50
|
||||
Tracking_B1.dump=false
|
||||
Tracking_B1.dump_filename=./epl_tracking_ch_
|
||||
|
||||
;######### TRACKING GPS CONFIG ############
|
||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||
Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.extend_correlation_symbols=10
|
||||
Tracking_1C.early_late_space_chips=0.5
|
||||
Tracking_1C.early_late_space_narrow_chips=0.15
|
||||
Tracking_1C.pll_bw_hz=30.0
|
||||
Tracking_1C.dll_bw_hz=2.0
|
||||
Tracking_1C.pll_bw_narrow_hz=10.0
|
||||
Tracking_1C.dll_bw_narrow_hz=1.50
|
||||
Tracking_1C.fll_bw_hz=10
|
||||
Tracking_1C.enable_fll_pull_in=true
|
||||
Tracking_1C.enable_fll_steady_state=false
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=tracking_ch_
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||
Tracking_1B.extend_correlation_symbols=4
|
||||
Tracking_1B.item_type=gr_complex
|
||||
Tracking_1B.pll_bw_hz=30.0
|
||||
Tracking_1B.dll_bw_hz=2.0
|
||||
Tracking_1B.pll_bw_narrow_hz=20.0
|
||||
Tracking_1B.dll_bw_narrow_hz=1.50
|
||||
Tracking_1B.track_pilot=true
|
||||
Tracking_1B.enable_fll_pull_in=true
|
||||
Tracking_1B.enable_fll_steady_state=false
|
||||
Tracking_1B.fll_bw_hz=20
|
||||
|
||||
;######### TRACKING GLONASS CONFIG ############
|
||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_Tracking
|
||||
Tracking_1G.item_type=gr_complex
|
||||
Tracking_1G.pll_bw_hz=40
|
||||
Tracking_1G.dll_bw_hz=2.5
|
||||
Tracking_1G.extend_correlation_ms=1
|
||||
Tracking_1G.pll_bw_narrow_hz=20
|
||||
Tracking_1G.dll_bw_narrow_hz=1.5
|
||||
Tracking_1G.dump=false
|
||||
Tracking_1G.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER BEIDOU CONFIG ############
|
||||
TelemetryDecoder_B1.implementation=BEIDOU_B1I_Telemetry_Decoder
|
||||
TelemetryDecoder_B1.dump=false
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||
TelemetryDecoder_1C.dump=false
|
||||
|
||||
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
|
||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||
TelemetryDecoder_1B.dump=false
|
||||
|
||||
;######### TELEMETRY DECODER GLONASS CONFIG ############
|
||||
TelemetryDecoder_1G.implementation=GLONASS_L1_CA_Telemetry_Decoder
|
||||
TelemetryDecoder_1G.dump=false
|
||||
|
||||
|
||||
;######### OBSERVABLES CONFIG ############
|
||||
Observables.implementation=Hybrid_Observables
|
||||
Observables.dump=false
|
||||
Observables.dump_filename=./observables.dat
|
||||
|
||||
;######### PVT CONFIG ############
|
||||
PVT.implementation=RTKLIB_PVT
|
||||
PVT.threshold_reject_GDOP=100
|
||||
PVT.elevation_mask=3
|
||||
PVT.raim_fde=1
|
||||
PVT.positioning_mode=Single ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||
PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
|
||||
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||
PVT.output_rate_ms=100
|
||||
PVT.display_rate_ms=500
|
||||
PVT.enable_rx_clock_correction=true
|
||||
PVT.flag_rtcm_server=false
|
||||
PVT.flag_rtcm_tty_port=false
|
||||
PVT.rtcm_dump_devname=/dev/pts/1
|
||||
PVT.rtcm_tcp_port=2101
|
||||
PVT.rtcm_MT1019_rate_ms=5000
|
||||
PVT.rtcm_MT1077_rate_ms=1000
|
||||
PVT.rinex_version=2
|
||||
Reference in New Issue
Block a user