Skip to content

Instantly share code, notes, and snippets.

@tstellanova
Created July 13, 2024 16:03
Show Gist options
  • Save tstellanova/715c4e57bb6cd690ae33c518221533dc to your computer and use it in GitHub Desktop.
Save tstellanova/715c4e57bb6cd690ae33c518221533dc to your computer and use it in GitHub Desktop.
Tested configuration file for gnss-sdr that allows receiving GPS L1 C/A with HackRF
[GNSS-SDR]
; tstellanova tested with:
; gnss-sdr running on rpi4
; Standard UBX multiband active antenna (includes a preamp/LNA) supplied with +5 VDC power on external bias-tee.
; Plus an additional HT004a LNA ("30 dB" claimed), powered by USB-C
; HackRF info:
; Board ID Number: 4 (HackRF One)
; Firmware Version: 2024.02.1 (API:1.08)
; Hardware Revision: r9
; TCXO installed ("0.1 PPM" claimed)
;######### GLOBAL OPTIONS ##################
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
GNSS-SDR.internal_fs_sps=2000000
GNSS-SDR.AGNSS_XML_enabled=true
GNSS-SDR.AGNSS_ref_location=37.87,-122.29
;######### SIGNAL_SOURCE CONFIG ############
SignalSource.implementation=Osmosdr_Signal_Source
SignalSource.item_type=gr_complex
SignalSource.sampling_frequency=2046000
SignalSource.freq=1575420000
SignalSource.gain=40
SignalSource.rf_gain=40
SignalSource.if_gain=40
SignalSource.AGC_enabled=false
SignalSource.samples=0
SignalSource.repeat=false
SignalSource.osmosdr_args=hackrf,buffers=1024
;SignalSource.osmosdr_args=hackrf,bias=1,buffers=1024
SignalSource.enable_throttle_control=false
SignalSource.dump=false
SignalSource.dump_filename=./data/L1_signal_source.dat
;######### SIGNAL_CONDITIONER CONFIG ############
SignalConditioner.implementation=Signal_Conditioner
;######### DATA_TYPE_ADAPTER CONFIG ############
DataTypeAdapter.implementation=Pass_Through
;######### INPUT_FILTER CONFIG ############
InputFilter.implementation=Freq_Xlating_Fir_Filter
InputFilter.decimation_factor=1
InputFilter.input_item_type=gr_complex
InputFilter.output_item_type=gr_complex
InputFilter.taps_item_type=float
InputFilter.number_of_taps=5
InputFilter.number_of_bands=2
InputFilter.band1_begin=0.0
InputFilter.band1_end=0.85
InputFilter.band2_begin=0.9
InputFilter.band2_end=1.0
InputFilter.ampl1_begin=1.0
InputFilter.ampl1_end=1.0
InputFilter.ampl2_begin=0.0
InputFilter.ampl2_end=0.0
InputFilter.band1_error=1.0
InputFilter.band2_error=1.0
InputFilter.filter_type=bandpass
InputFilter.grid_density=16
InputFilter.dump=false
InputFilter.dump_filename=./data/input_filter.dat
;######### RESAMPLER CONFIG ############
;Resampler.implementation=Pass_Through
Resampler.implementation=Direct_Resampler
Resampler.sample_freq_in=2046000
Resampler.sample_freq_out=2000000
Resampler.item_type=gr_complex
;######### CHANNELS GLOBAL CONFIG ############
Channels_1C.count=8
Channels.in_acquisition=1
;######### ACQUISITION GLOBAL 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.01
Acquisition_1C.doppler_max=5000
Acquisition_1C.doppler_step=250
Acquisition_1C.max_dwells=1
Acquisition_1C.dump=false
Acquisition_1C.dump_filename=./data/acq_dump.dat
;######### TRACKING GLOBAL 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=40
Tracking_1C.dll_bw_hz=2.0
Tracking_1C.pll_bw_narrow_hz=5.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_
;######### TELEMETRY DECODER GPS CONFIG ############
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
TelemetryDecoder_1C.dump=false
;######### OBSERVABLES CONFIG ############
Observables.implementation=Hybrid_Observables
Observables.dump=false
Observables.dump_filename=./observables.dat
;######### PVT CONFIG ############
PVT.implementation=RTKLIB_PVT
PVT.positioning_mode=Single ; [ Single, PPP_Static, PPP_Kinematic ]
PVT.output_rate_ms=1000
PVT.display_rate_ms=1000
PVT.iono_model=Broadcast
PVT.trop_model=Saastamoinen
PVT.flag_rtcm_server=false
PVT.flag_rtcm_tty_port=false
PVT.geojson_output_enabled=true
PVT.gpx_output_enabled=false
PVT.kml_output_enabled=false
PVT.xml_output_enabled=true
PVT.rinex_output_enabled=true
PVT.nmea_output_file_enabled=false
PVT.output_path=./gnss-products
PVT.xml_output_path=./
PVT.rinex_output_path=./gnss-products/rinex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment