mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 12:40:35 +00:00
Merge branch 'next' into unify_tracking
This commit is contained in:
commit
6296db3ea0
@ -317,6 +317,7 @@ set(GNSSSDR_BOOST_MIN_VERSION "1.45")
|
||||
set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
||||
set(GNSSSDR_MAKO_MIN_VERSION "0.4.2")
|
||||
set(GNSSSDR_ARMADILLO_MIN_VERSION "4.200.0")
|
||||
set(GNSSSDR_MATIO_MIN_VERSION "1.5.3")
|
||||
|
||||
|
||||
|
||||
@ -822,9 +823,9 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c
|
||||
# Ensure that aclocal and libtool are present
|
||||
if(OS_IS_LINUX)
|
||||
if(EXISTS "/usr/bin/libtoolize")
|
||||
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
# Everything ok, we can move on
|
||||
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
message(" aclocal has not been found.")
|
||||
message(" You can try to install it by typing:")
|
||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
@ -835,7 +836,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c
|
||||
message(" sudo apt-get install automake")
|
||||
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(FATAL_ERROR "aclocal is required to build glog from source")
|
||||
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
else(EXISTS "/usr/bin/libtoolize")
|
||||
message(" libtool has not been found.")
|
||||
message(" You can try to install it by typing:")
|
||||
@ -1094,10 +1095,43 @@ endif(NOT GNUTLS_OPENSSL_LIBRARY)
|
||||
# Matio - https://github.com/tbeu/matio
|
||||
########################################################################
|
||||
find_package(MATIO)
|
||||
if(NOT MATIO_FOUND)
|
||||
if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERSION})
|
||||
if(MATIO_FOUND)
|
||||
message(STATUS " Matio installed version (${MATIO_VERSION_STRING}) is too old (>= ${GNSSSDR_MATIO_MIN_VERSION} is required).")
|
||||
endif(MATIO_FOUND)
|
||||
message(STATUS " Matio will be downloaded and built automatically")
|
||||
message(STATUS " when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'. ")
|
||||
find_package(ZLIB)
|
||||
if(ZLIB_FOUND)
|
||||
get_filename_component(ZLIB_BASE_DIR ${ZLIB_INCLUDE_DIRS} DIRECTORY)
|
||||
if(OS_IS_LINUX)
|
||||
if(NOT EXISTS "/usr/bin/libtoolize")
|
||||
message(" libtool has not been found.")
|
||||
message(" You can try to install it by typing:")
|
||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(" sudo yum groupinstall 'Development Tools'")
|
||||
elseif(${LINUX_DISTRIBUTION} MATCHES "openSUSE")
|
||||
message(" sudo zypper install libtoool")
|
||||
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(" sudo apt-get install libtool")
|
||||
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(FATAL_ERROR "libtool is required to build matio from source")
|
||||
endif(NOT EXISTS "/usr/bin/libtoolize")
|
||||
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
message(STATUS "Automake found.")
|
||||
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
message(" aclocal has not been found.")
|
||||
message(" You can try to install it by typing:")
|
||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(" sudo yum groupinstall 'Development Tools'")
|
||||
elseif(${LINUX_DISTRIBUTION} MATCHES "openSUSE")
|
||||
message(" sudo zypper install automake")
|
||||
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(" sudo apt-get install automake")
|
||||
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(FATAL_ERROR "aclocal is required to build matio from source")
|
||||
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||
endif(OS_IS_LINUX)
|
||||
find_package(HDF5)
|
||||
if(HDF5_FOUND)
|
||||
list(GET HDF5_LIBRARIES 0 HDF5_FIRST_DIR)
|
||||
@ -1154,7 +1188,7 @@ if(NOT MATIO_FOUND)
|
||||
else(ZLIB_FOUND)
|
||||
message(FATAL_ERROR "*** The zlib library is required to build gnss-sdr")
|
||||
endif(ZLIB_FOUND)
|
||||
endif(NOT MATIO_FOUND)
|
||||
endif(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERSION})
|
||||
|
||||
|
||||
|
||||
|
56
README.md
56
README.md
@ -31,8 +31,7 @@ This section describes how to set up the compilation environment in GNU/Linux or
|
||||
GNU/Linux
|
||||
----------
|
||||
|
||||
* Tested distributions: Ubuntu 14.04 LTS and [above](http://packages.ubuntu.com/search?keywords=gnss-sdr), Debian 8.0 "jessie" and [above](https://packages.debian.org/search?searchon=names&keywords=gnss-sdr), Linaro 15.03
|
||||
* Known to work but not continually tested: Arch Linux, Fedora, and openSUSE
|
||||
* Tested distributions: Ubuntu 14.04 LTS and above; Debian 8.0 "jessie" and above; Fedora 26 and above; CentOS 7; Arch Linux.
|
||||
* Supported microprocessor architectures:
|
||||
* i386: Intel x86 instruction set (32-bit microprocessors).
|
||||
* amd64: also known as x86-64, the 64-bit version of the x86 instruction set, originally created by AMD and implemented by AMD, Intel, VIA and others.
|
||||
@ -53,7 +52,11 @@ Before building GNSS-SDR, you need to install all the required dependencies. The
|
||||
|
||||
### Alternative 1: Install dependencies using software packages
|
||||
|
||||
If you want to start building and running GNSS-SDR as quick and easy as possible, the best option is to install all the required dependencies as binary packages. If you are using Debian 8, Ubuntu 14.10 or above, this can be done by copying and pasting the following line in a terminal:
|
||||
If you want to start building and running GNSS-SDR as quick and easy as possible, the best option is to install all the required dependencies as binary packages.
|
||||
|
||||
#### Debian / Ubuntu
|
||||
|
||||
If you are using Debian 8, Ubuntu 14.10 or above, this can be done by copying and pasting the following line in a terminal:
|
||||
|
||||
~~~~~~
|
||||
$ sudo apt-get install build-essential cmake git libboost-dev libboost-date-time-dev \
|
||||
@ -63,26 +66,57 @@ $ sudo apt-get install build-essential cmake git libboost-dev libboost-date-time
|
||||
libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
|
||||
~~~~~~
|
||||
|
||||
Please note that `googletest` was named `libgtest-dev` in distributions older than Debian 9 Stretch and Ubuntu 17.04 Zesty.
|
||||
Please note that `googletest` was named `libgtest-dev` in distributions older than Debian 9 "stretch" and Ubuntu 17.04 "zesty".
|
||||
|
||||
Alternatively, and starting from Ubuntu 16.04 LTS, you can install all the required dependencies by adding the line
|
||||
**Note for Ubuntu 14.04 LTS "trusty" users:** you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires `gnuradio-dev` >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT `libuhd-dev`, `gnuradio-dev` and `gr-osmosdr` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS. The same applies to `libmatio-dev`: Ubuntu 14.04 came with 1.5.2 and the minimum required version is 1.5.3. Please do not install the `libmatio-dev` package and install `libtool`, `automake` and `libhdf5-dev` instead. A recent version of the library will be downloaded and built automatically if CMake does not find it installed.
|
||||
|
||||
**Note for Debian 8 "jessie" users:** please see the note about `libmatio-dev` above. Install `libtool`, `automake` and `libhdf5-dev` instead.
|
||||
|
||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||
|
||||
|
||||
#### Fedora
|
||||
|
||||
If you are using Fedora 26 or above, the required software dependencies can be installed by doing:
|
||||
|
||||
~~~~~~
|
||||
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
|
||||
$ sudo yum install make automake gcc gcc-c++ kernel-devel cmake git boost-devel \
|
||||
boost-date-time boost-system boost-filesystem boost-thread boost-chrono \
|
||||
boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel \
|
||||
blas-devel lapack-devel matio-devel armadillo-devel gflags-devel \
|
||||
glog-devel gnutls-devel openssl-devel python-mako python-six
|
||||
~~~~~~
|
||||
|
||||
to your ```/etc/apt/sources.list``` file and doing:
|
||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||
|
||||
#### CentOS
|
||||
|
||||
If you are using CentOS 7, you can install the dependencies via Extra Packages for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
||||
|
||||
~~~~~~
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get build-dep gnss-sdr
|
||||
$ sudo yum install wget
|
||||
$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm
|
||||
$ sudo yum install make automake gcc gcc-c++ kernel-devel libtool automake \
|
||||
hdf5-devel cmake git boost-devel boost-date-time boost-system \
|
||||
boost-filesystem boost-thread boost-chrono boost-serialization \
|
||||
log4cpp-devel gnuradio-devel gr-osmosdr-devel blas-devel lapack-devel \
|
||||
armadillo-devel gnutls-devel openssl-devel python-mako python-six
|
||||
~~~~~~
|
||||
|
||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||
|
||||
Once you have installed these packages, you can jump directly to [how to download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||
#### Arch Linux
|
||||
|
||||
Note for Ubuntu 14.04 LTS "trusty" users: you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires gnuradio-dev >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT ```libuhd-dev```, ```gnuradio-dev``` and ```gr-osmosdr``` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS.
|
||||
If you are using Arch Linux (with base-devel group installed):
|
||||
|
||||
~~~~~~
|
||||
$ pacman -S cmake git boost boost-libs log4cpp libvolk gnuradio gnuradio-osmosdr \
|
||||
blas lapack gflags google-glog gnutls openssl python2-mako python2-six \
|
||||
libmatio gtest
|
||||
~~~~~~
|
||||
|
||||
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||
|
||||
### Alternative 2: Install dependencies using PyBOMBS
|
||||
|
||||
|
@ -74,7 +74,11 @@ IF(GFlags_ROOT_DIR)
|
||||
SET(GFlags_LIBRARY_DIRS ${GFlags_ROOT_DIR})
|
||||
|
||||
FIND_LIBRARY(GFlags_lib gflags ${GFlags_LIBRARY_DIRS})
|
||||
|
||||
if(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||
set(GFLAGS_GREATER_20 TRUE)
|
||||
else(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||
set(GFLAGS_GREATER_20 FALSE)
|
||||
endif(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||
# set up include and link directory
|
||||
include_directories(${GFlags_INCLUDE_DIRS})
|
||||
link_directories(${GFlags_LIBRARY_DIRS})
|
||||
|
110
conf/gnss-sdr_GPS_L1_bladeRF.conf
Normal file
110
conf/gnss-sdr_GPS_L1_bladeRF.conf
Normal file
@ -0,0 +1,110 @@
|
||||
[GNSS-SDR]
|
||||
|
||||
;######### GLOBAL OPTIONS ##################
|
||||
GNSS-SDR.internal_fs_sps=2000000
|
||||
|
||||
;######### SIGNAL_SOURCE CONFIG ############
|
||||
SignalSource.implementation=Osmosdr_Signal_Source
|
||||
SignalSource.item_type=gr_complex
|
||||
SignalSource.sampling_frequency=2000000
|
||||
SignalSource.freq=1575420000
|
||||
;# RF Gain: LNA Gain {0, 3, 6}
|
||||
SignalSource.gain=6
|
||||
;# IF Gain: N/A
|
||||
SignalSource.rf_gain=40
|
||||
;# BB Gain: RX VGA1 + VGA2 [5, 60]
|
||||
SignalSource.if_gain=48
|
||||
SignalSource.AGC_enabled=false
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
;# Next line enables the bladeRF
|
||||
SignalSource.osmosdr_args=bladerf=0
|
||||
SignalSource.enable_throttle_control=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=./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
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
Channels_1C.count=8
|
||||
Channels.in_acquisition=1
|
||||
Channel.signal=1C
|
||||
|
||||
;######### ACQUISITION GLOBAL CONFIG ############
|
||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||
Acquisition_1C.item_type=gr_complex
|
||||
Acquisition_1C.if=0
|
||||
Acquisition_1C.sampled_ms=1
|
||||
Acquisition_1C.threshold=0.015
|
||||
Acquisition_1C.doppler_max=10000
|
||||
Acquisition_1C.doppler_min=-10000
|
||||
Acquisition_1C.doppler_step=500
|
||||
Acquisition_1C.max_dwells=15
|
||||
Acquisition_1C.dump=false
|
||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||
|
||||
;######### TRACKING GLOBAL CONFIG ############
|
||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||
Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.if=0
|
||||
Tracking_1C.pll_bw_hz=40.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.early_late_space_chips=0.5;
|
||||
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=GPS_L1_CA_Observables
|
||||
Observables.implementation=Hybrid_Observables
|
||||
Observables.dump=false
|
||||
Observables.dump_filename=./observables.dat
|
||||
|
||||
;######### PVT CONFIG ############
|
||||
;PVT.implementation=RTKLIB_PVT
|
||||
PVT.positioning_mode=Single
|
||||
PVT.output_rate_ms=100
|
||||
PVT.display_rate_ms=500
|
||||
PVT.iono_model=Broadcast
|
||||
PVT.trop_model=Saastamoinen
|
||||
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
|
@ -224,19 +224,15 @@ Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||
Tracking_5X.item_type=gr_complex
|
||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||
Tracking_5X.if=0
|
||||
;#pll_bw_hz_init: **Only for E5a** PLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.pll_bw_hz_init=20.0;
|
||||
;#dll_bw_hz_init: **Only for E5a** DLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.dll_bw_hz_init=20.0;
|
||||
;#dll_ti_ms: **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||
;Tracking_5X.ti_ms=3;
|
||||
Tracking_5X.ti_ms=1;
|
||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||
;Tracking.pll_bw_hz=5.0;
|
||||
;#pll_bw_hz: PLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.pll_bw_hz=20.0;
|
||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||
;Tracking.dll_bw_hz=2.0;
|
||||
;#dll_bw_hz: DLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.dll_bw_hz=20.0;
|
||||
Tracking_5X.pll_bw_narrow_hz=2.0;
|
||||
Tracking_5X.dll_bw_narrow_hz=5.0;
|
||||
;#order: PLL/DLL loop filter order [2] or [3]
|
||||
Tracking_5X.order=2;
|
||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
|
||||
|
@ -118,11 +118,11 @@ Acquisition_5X.dump_filename=./acq_dump.dat
|
||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||
Tracking_5X.item_type=gr_complex
|
||||
Tracking_5X.if=0
|
||||
Tracking_5X.pll_bw_hz_init=20.0; **Only for E5a** PLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.dll_bw_hz_init=20.0; **Only for E5a** DLL loop filter bandwidth during initialization [Hz]
|
||||
Tracking_5X.ti_ms=1; **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||
Tracking_5X.pll_bw_hz=20.0;
|
||||
Tracking_5X.dll_bw_hz=20.0;
|
||||
Tracking_5X.ti_ms=1; **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||
Tracking_5X.pll_bw_narrow_hz=20.0;
|
||||
Tracking_5X.dll_bw_narrow_hz=20.0;
|
||||
Tracking_5X.order=2;
|
||||
Tracking_5X.early_late_space_chips=0.5;
|
||||
Tracking_5X.dump=false
|
||||
|
@ -1,28 +1,70 @@
|
||||
.\" Manpage for gnss\-sdr.
|
||||
.\" Contact carles.fernandez@cttc.es to correct errors or typos.
|
||||
.TH gnss\-sdr 1 "05 Feb 2017" "0.0.9" "gnss\-sdr man page"
|
||||
.TH gnss\-sdr 1 "24 Feb 2018" "0.0.9" "gnss\-sdr man page"
|
||||
.SH NAME
|
||||
\fBgnss\-sdr\fR \- GNSS Software Defined Receiver.
|
||||
.SH SYNOPSIS
|
||||
\fBgnss\-sdr \-config_file=\fR\fI<path\-to\-configuration\-file>\fR [OPTION]...
|
||||
\fBgnss\-sdr \-c=\fR\fI<path\-to\-configuration\-file>\fR [OPTION]...
|
||||
.SH DESCRIPTION
|
||||
\fBgnss\-sdr\fR is a Global Navigation Satellite Systems Software Defined Receiver written in C++. It implements all the signal processing chain, taking as input raw samples coming from the output of an Analog\-to\-Digital Converter, and processing them up to the computation of the Position\-Velocity\-Time solution, including the generation of code and phase measurements.
|
||||
\.TP
|
||||
\fBgnss\-sdr\fR is able to work with raw data files or, if there is computational power enough, in real time with suitable radio frequency front\-ends. The whole receiver is defined in a single configuration file, and therefore users can define theirs.
|
||||
\.TP
|
||||
There is some flexibility in how flags may be specified. The following examples are equivalent:
|
||||
\.RS 8
|
||||
\.TP
|
||||
gnss\-sdr \-c=/home/user/rx.conf
|
||||
\.TP
|
||||
gnss\-sdr \-\-c=/home/user/rx.conf
|
||||
\.TP
|
||||
gnss\-sdr \-c /home/user/rx.conf
|
||||
\.TP
|
||||
gnss\-sdr \-\-c /home/user/rx.conf
|
||||
\.RE
|
||||
.SH OPTIONS
|
||||
\fBgnss\-sdr\fR takes the following options:
|
||||
.TP
|
||||
\fB\-config_file=\fR\fI<path\-to\-configuration\-file>\fR Set the configuration file.
|
||||
\fB\-c=\fR\fI<path\-to\-configuration\-file>\fR or \fB\-config_file=\fR\fI<path\-to\-configuration\-file>\fR
|
||||
Set the configuration file. This flag is mandatory.
|
||||
.TP
|
||||
\fB\-signal_source=\fR\fI<path\-to\-raw\-signal\-file>\fR If defined, path to the file containing the signal samples (overrides the data file specified in the configuration file).
|
||||
\fB\-s=\fR\fI<path\-to\-raw\-signal\-file>\fR or \fB\-signal_source=\fR\fI<path\-to\-raw\-signal\-file>\fR
|
||||
If defined, path to the file containing the signal samples (overrides the data file specified in the configuration file).
|
||||
.TP
|
||||
\fB\-log_dir=\fR\fI<path\-to\-directory>\fR If defined, overrides the default directory where logs are saved.
|
||||
\fB\-log_dir=\fR\fI<path\-to\-directory>\fR
|
||||
If defined, overrides the default directory where logs are saved.
|
||||
.TP
|
||||
\fB\-RINEX_version=\fI<version>\fR Specifies the RINEX version (2.11 or 3.02). Default: "3.02".
|
||||
\fB\-doppler_max=\fR\fI<doppler_max>\fR
|
||||
If defined, maximum Doppler value in the search grid, in Hz (overrides the configuration file).
|
||||
.TP
|
||||
\fB\-version\fR Print program version and exit.
|
||||
\fB\-doppler_step=\fR\fI<doppler_step>\fR
|
||||
If defined, sets the frequency step in the search grid, in Hz (overrides the configuration file).
|
||||
.TP
|
||||
\fB\-help\fR Print all the available commandline flags and exit.
|
||||
\fB\-cn0_samples=\fR\fI<samples>\fR
|
||||
Number of correlators outputs (one per integration time) used for CN0 estimation. It defaults to 20 outputs.
|
||||
.TP
|
||||
\fB\-cn0_min=\fR\fI<cn0_min>\fR
|
||||
Minimum valid CN0 (in dB-Hz). It defaults to 25 dB-Hz.
|
||||
.TP
|
||||
\fB\-max_lock_fail=\fR\fI<max_lock_fail>\fR
|
||||
Number of lock failures before dropping satellite. It defaults to 50 failures.
|
||||
.TP
|
||||
\fB\-carrier_lock_th=\fR\fI<carrier_lock_th>\fR
|
||||
Carrier lock error threshold (in rad). It defaults to 0.85 rad (48.7 degrees).
|
||||
.TP
|
||||
\fB\-dll_bw_hz=\fR\fI<dll_bw_hz>\fR
|
||||
If defined, bandwidth of the DLL low pass filter, in Hz (overrides the configuration file).
|
||||
.TP
|
||||
\fB\-pll_bw_hz=\fR\fI<pll_bw_hz>\fR
|
||||
If defined, bandwidth of the PLL low pass filter, in Hz (overrides the configuration file).
|
||||
.TP
|
||||
\fB\-RINEX_version=\fI<version>\fR
|
||||
If defined, specifies the RINEX version (2.11 or 3.02). Default: "3.02". Overrides the configuration file.
|
||||
.TP
|
||||
\fB\-version\fR
|
||||
Print program version and exit.
|
||||
.TP
|
||||
\fB\-help\fR
|
||||
Print all the available commandline flags and exit.
|
||||
.SH SEE ALSO
|
||||
.BR volk_gnsssdr_profile (1)
|
||||
\.TP
|
||||
|
@ -28,6 +28,7 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
|
@ -30,12 +30,13 @@
|
||||
|
||||
|
||||
#include "rtklib_pvt.h"
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/archive/xml_oarchive.hpp>
|
||||
#include <boost/archive/xml_iarchive.hpp>
|
||||
#include <boost/math/common_factor_rt.hpp>
|
||||
#include <boost/serialization/map.hpp>
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -70,11 +71,30 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
|
||||
// RINEX version
|
||||
int rinex_version = configuration->property(role + ".rinex_version", 3);
|
||||
if( (rinex_version < 2) || (rinex_version > 3) )
|
||||
if ( FLAGS_RINEX_version.compare("3.01") == 0 )
|
||||
{
|
||||
//warn user and set the default
|
||||
rinex_version = 3;
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("3.02") == 0 )
|
||||
{
|
||||
rinex_version = 3;
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("3") == 0 )
|
||||
{
|
||||
rinex_version = 3;
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2.11") == 0 )
|
||||
{
|
||||
rinex_version = 2;
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2.10") == 0 )
|
||||
{
|
||||
rinex_version = 2;
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2") == 0 )
|
||||
{
|
||||
rinex_version = 2;
|
||||
}
|
||||
|
||||
// RTCM Printer settings
|
||||
bool flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
|
||||
|
@ -33,9 +33,9 @@
|
||||
#ifndef GNSS_SDR_RTKLIB_PVT_H_
|
||||
#define GNSS_SDR_RTKLIB_PVT_H_
|
||||
|
||||
#include <string>
|
||||
#include "pvt_interface.h"
|
||||
#include "rtklib_pvt_cc.h"
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -29,17 +29,18 @@
|
||||
*/
|
||||
|
||||
#include "rtklib_pvt_cc.h"
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <boost/math/common_factor_rt.hpp>
|
||||
#include <boost/archive/xml_oarchive.hpp>
|
||||
#include <boost/archive/xml_iarchive.hpp>
|
||||
#include <boost/serialization/map.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <glog/logging.h>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,20 +31,21 @@
|
||||
#ifndef GNSS_SDR_RTKLIB_PVT_CC_H
|
||||
#define GNSS_SDR_RTKLIB_PVT_CC_H
|
||||
|
||||
#include <chrono>
|
||||
#include <fstream>
|
||||
#include <utility>
|
||||
#include <string>
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/msg.h>
|
||||
#include <gnuradio/sync_block.h>
|
||||
|
||||
#include "nmea_printer.h"
|
||||
#include "kml_printer.h"
|
||||
#include "geojson_printer.h"
|
||||
#include "rinex_printer.h"
|
||||
#include "rtcm_printer.h"
|
||||
#include "rtklib_solver.h"
|
||||
#include <gnuradio/sync_block.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/msg.h>
|
||||
#include <chrono>
|
||||
#include <fstream>
|
||||
#include <utility>
|
||||
#include <string>
|
||||
|
||||
|
||||
class rtklib_pvt_cc;
|
||||
|
@ -36,24 +36,25 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
file(GLOB PVT_LIB_HEADERS "*.h")
|
||||
list(SORT PVT_LIB_HEADERS)
|
||||
add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS})
|
||||
source_group(Headers FILES ${PVT_LIB_HEADERS})
|
||||
add_dependencies(pvt_lib rtklib_lib armadillo-${armadillo_RELEASE} glog-${glog_RELEASE})
|
||||
|
||||
|
||||
target_link_libraries(
|
||||
pvt_lib
|
||||
rtklib_lib
|
||||
gnss_sdr_flags
|
||||
${Boost_LIBRARIES}
|
||||
${GFlags_LIBS}
|
||||
${GLOG_LIBRARIES}
|
||||
${ARMADILLO_LIBRARIES}
|
||||
${BLAS}
|
||||
|
@ -31,10 +31,11 @@
|
||||
|
||||
|
||||
#include "geojson_printer.h"
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
GeoJSON_Printer::GeoJSON_Printer()
|
||||
{
|
||||
|
@ -33,10 +33,10 @@
|
||||
#ifndef GNSS_SDR_GEOJSON_PRINTER_H_
|
||||
#define GNSS_SDR_GEOJSON_PRINTER_H_
|
||||
|
||||
#include "pvt_solution.h"
|
||||
#include <fstream>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include "pvt_solution.h"
|
||||
|
||||
|
||||
/*!
|
||||
|
@ -30,10 +30,10 @@
|
||||
*/
|
||||
|
||||
#include "hybrid_ls_pvt.h"
|
||||
#include <glog/logging.h>
|
||||
#include "Galileo_E1.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "GPS_L2C.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -32,16 +32,15 @@
|
||||
#ifndef GNSS_SDR_HYBRID_LS_PVT_H_
|
||||
#define GNSS_SDR_HYBRID_LS_PVT_H_
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include "ls_pvt.h"
|
||||
#include "galileo_navigation_message.h"
|
||||
#include "gps_navigation_message.h"
|
||||
#include "gps_cnav_navigation_message.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "rtklib_rtkcmn.h"
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
/*!
|
||||
* \brief This class implements a simple PVT Least Squares solution
|
||||
|
@ -30,9 +30,9 @@
|
||||
*/
|
||||
|
||||
#include "kml_printer.h"
|
||||
#include <sstream>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <sstream>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -33,11 +33,11 @@
|
||||
#ifndef GNSS_SDR_KML_PRINTER_H_
|
||||
#define GNSS_SDR_KML_PRINTER_H_
|
||||
|
||||
#include <iostream>
|
||||
#include "pvt_solution.h"
|
||||
#include <fstream>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include "pvt_solution.h"
|
||||
|
||||
|
||||
/*!
|
||||
* \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth)
|
||||
|
@ -30,11 +30,10 @@
|
||||
*/
|
||||
|
||||
#include "ls_pvt.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <glog/logging.h>
|
||||
#include <exception>
|
||||
#include <stdexcept>
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <gflags/gflags.h>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -34,17 +34,14 @@
|
||||
*/
|
||||
|
||||
#include "nmea_printer.h"
|
||||
#include <fcntl.h>
|
||||
#include <termios.h>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <termios.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
//DEFINE_string(NMEA_version, "2.1", "Specifies the NMEA version (2.1)");
|
||||
|
||||
Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_tty_port, std::string nmea_dump_devname)
|
||||
{
|
||||
@ -72,8 +69,6 @@ Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_tty_port, std::s
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Nmea_Printer::~Nmea_Printer()
|
||||
{
|
||||
if (nmea_file_descriptor.is_open())
|
||||
@ -84,8 +79,6 @@ Nmea_Printer::~Nmea_Printer()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int Nmea_Printer::init_serial (std::string serial_device)
|
||||
{
|
||||
/*!
|
||||
@ -123,7 +116,6 @@ int Nmea_Printer::init_serial (std::string serial_device)
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Nmea_Printer::close_serial ()
|
||||
{
|
||||
if (nmea_dev_descriptor != -1)
|
||||
@ -200,7 +192,6 @@ bool Nmea_Printer::Print_Nmea_Line(const std::shared_ptr<Pvt_Solution>& pvt_data
|
||||
}
|
||||
|
||||
|
||||
|
||||
char Nmea_Printer::checkSum(std::string sentence)
|
||||
{
|
||||
char check = 0;
|
||||
@ -214,7 +205,6 @@ char Nmea_Printer::checkSum(std::string sentence)
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::latitude_to_hm(double lat)
|
||||
{
|
||||
bool north;
|
||||
@ -253,7 +243,6 @@ std::string Nmea_Printer::latitude_to_hm(double lat)
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::longitude_to_hm(double longitude)
|
||||
{
|
||||
bool east;
|
||||
@ -291,7 +280,6 @@ std::string Nmea_Printer::longitude_to_hm(double longitude)
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_UTC_time)
|
||||
{
|
||||
//UTC Time: hhmmss.sss
|
||||
@ -336,7 +324,6 @@ std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::get_GPRMC()
|
||||
{
|
||||
// Sample -> $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10
|
||||
@ -438,7 +425,6 @@ std::string Nmea_Printer::get_GPRMC()
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::get_GPGSA()
|
||||
{
|
||||
//$GPGSA,A,3,07,02,26,27,09,04,15, , , , , ,1.8,1.0,1.5*33
|
||||
@ -523,8 +509,6 @@ std::string Nmea_Printer::get_GPGSA()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::get_GPGSV()
|
||||
{
|
||||
// GSV-GNSS Satellites in View
|
||||
@ -613,9 +597,6 @@ std::string Nmea_Printer::get_GPGSV()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
std::string Nmea_Printer::get_GPGGA()
|
||||
{
|
||||
//boost::posix_time::ptime d_position_UTC_time=boost::posix_time::microsec_clock::universal_time();
|
||||
@ -727,3 +708,4 @@ std::string Nmea_Printer::get_GPGGA()
|
||||
return sentence_str.str();
|
||||
//$GPGGA,104427.591,5920.7009,N,01803.2938,E,1,05,3.3,78.2,M,23.2,M,0.0,0000*4A
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,9 @@
|
||||
#ifndef GNSS_SDR_NMEA_PRINTER_H_
|
||||
#define GNSS_SDR_NMEA_PRINTER_H_
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include "pvt_solution.h"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include "pvt_solution.h"
|
||||
|
||||
|
||||
/*!
|
||||
|
@ -30,15 +30,13 @@
|
||||
*/
|
||||
|
||||
#include "pvt_solution.h"
|
||||
#include <exception>
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <gflags/gflags.h>
|
||||
#include <glog/logging.h>
|
||||
#include <exception>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
DEFINE_bool(tropo, true, "Apply tropospheric correction");
|
||||
|
||||
Pvt_Solution::Pvt_Solution()
|
||||
{
|
||||
|
@ -33,9 +33,9 @@
|
||||
#define GNSS_SDR_PVT_SOLUTION_H_
|
||||
|
||||
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <deque>
|
||||
#include <armadillo>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
|
||||
const unsigned int PVT_MAX_CHANNELS = 90;
|
||||
const unsigned int PVT_MAX_PRN = 127; // 126 is SBAS
|
||||
|
@ -29,6 +29,11 @@
|
||||
*/
|
||||
|
||||
#include "rinex_printer.h"
|
||||
#include <boost/date_time/time_zone_base.hpp>
|
||||
#include <boost/date_time/gregorian/gregorian.hpp>
|
||||
#include <boost/date_time/local_time/local_time.hpp>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <unistd.h> // for getlogin_r()
|
||||
#include <algorithm> // for min and max
|
||||
#include <cmath> // for floor
|
||||
@ -38,18 +43,10 @@
|
||||
#include <set>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <boost/date_time/time_zone_base.hpp>
|
||||
#include <boost/date_time/gregorian/gregorian.hpp>
|
||||
#include <boost/date_time/local_time/local_time.hpp>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <gflags/gflags.h>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
DEFINE_string(RINEX_version, "3.02", "Specifies the RINEX version (2.11 or 3.02)");
|
||||
|
||||
|
||||
Rinex_Printer::Rinex_Printer(int conf_version)
|
||||
{
|
||||
@ -145,57 +142,17 @@ Rinex_Printer::Rinex_Printer(int conf_version)
|
||||
observationCode["GPS_L1_CA_v2"] = "1";
|
||||
observationCode["GLONASS_G1_CA_v2"] = "1";
|
||||
|
||||
if ( FLAGS_RINEX_version.compare("3.01") == 0 )
|
||||
{
|
||||
version = 3;
|
||||
stringVersion = "3.01";
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("3.02") == 0 )
|
||||
{
|
||||
version = 3;
|
||||
stringVersion = "3.02";
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("3") == 0 )
|
||||
{
|
||||
version = 3;
|
||||
stringVersion = "3.02";
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2.11") == 0 )
|
||||
{
|
||||
version = 2;
|
||||
stringVersion = "2.11";
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2.10") == 0 )
|
||||
{
|
||||
version = 2;
|
||||
stringVersion = "2.10";
|
||||
}
|
||||
else if ( FLAGS_RINEX_version.compare("2") == 0 )
|
||||
if(conf_version == 2)
|
||||
{
|
||||
version = 2;
|
||||
stringVersion = "2.11";
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(WARNING) << "Unknown RINEX version " << FLAGS_RINEX_version << " (must be 2.11 or 3.02). Using 3.02";
|
||||
version = 3;
|
||||
stringVersion = "3.02";
|
||||
}
|
||||
|
||||
if(conf_version != 0)
|
||||
{
|
||||
if(conf_version == 2)
|
||||
{
|
||||
version = 2;
|
||||
stringVersion = "2.11";
|
||||
}
|
||||
if(conf_version == 3)
|
||||
{
|
||||
version = 3;
|
||||
stringVersion = "3.02";
|
||||
}
|
||||
}
|
||||
|
||||
numberTypesObservations = 4; // Number of available types of observable in the system
|
||||
fake_cnav_iode = 1;
|
||||
}
|
||||
|
@ -51,13 +51,6 @@
|
||||
#ifndef GNSS_SDR_RINEX_PRINTER_H_
|
||||
#define GNSS_SDR_RINEX_PRINTER_H_
|
||||
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <sstream> // for stringstream
|
||||
#include <iomanip> // for setprecision
|
||||
#include <map>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include "gps_navigation_message.h"
|
||||
#include "gps_cnav_navigation_message.h"
|
||||
#include "galileo_navigation_message.h"
|
||||
@ -66,6 +59,12 @@
|
||||
#include "Galileo_E1.h"
|
||||
#include "GLONASS_L1_CA.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <sstream> // for stringstream
|
||||
#include <iomanip> // for setprecision
|
||||
#include <map>
|
||||
|
||||
class Sbas_Raw_Msg;
|
||||
|
||||
|
@ -32,13 +32,12 @@
|
||||
*/
|
||||
|
||||
#include "rtcm_printer.h"
|
||||
#include <iostream>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <iomanip>
|
||||
#include <fcntl.h> // for O_RDWR
|
||||
#include <termios.h> // for tcgetattr
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <gflags/gflags.h>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -34,10 +34,10 @@
|
||||
#ifndef GNSS_SDR_RTCM_PRINTER_H_
|
||||
#define GNSS_SDR_RTCM_PRINTER_H_
|
||||
|
||||
#include <fstream> // std::ofstream
|
||||
#include <iostream> // std::cout
|
||||
#include <memory> // std::shared_ptr
|
||||
#include "rtcm.h"
|
||||
#include <fstream> // std::ofstream
|
||||
#include <memory> // std::shared_ptr
|
||||
|
||||
|
||||
/*!
|
||||
* \brief This class provides a implementation of a subset of the RTCM Standard 10403.2 messages
|
||||
|
@ -52,11 +52,11 @@
|
||||
* -----------------------------------------------------------------------*/
|
||||
|
||||
#include "rtklib_solver.h"
|
||||
#include <glog/logging.h>
|
||||
#include "rtklib_conversions.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "GLONASS_L1_CA.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -54,10 +54,7 @@
|
||||
#ifndef GNSS_SDR_RTKLIB_SOLVER_H_
|
||||
#define GNSS_SDR_RTKLIB_SOLVER_H_
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
#include "rtklib_rtkpos.h"
|
||||
#include "galileo_navigation_message.h"
|
||||
#include "gps_navigation_message.h"
|
||||
@ -65,6 +62,10 @@
|
||||
#include "glonass_gnav_navigation_message.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pvt_solution.h"
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
|
||||
/*!
|
||||
* \brief This class implements a simple PVT Least Squares solution
|
||||
|
@ -54,6 +54,7 @@ include_directories(
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${GNURADIO_BLOCKS_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
@ -63,5 +64,5 @@ file(GLOB ACQ_ADAPTER_HEADERS "*.h")
|
||||
list(SORT ACQ_ADAPTER_HEADERS)
|
||||
add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS})
|
||||
source_group(Headers FILES ${ACQ_ADAPTER_HEADERS})
|
||||
target_link_libraries(acq_adapters gnss_sp_libs acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES})
|
||||
target_link_libraries(acq_adapters gnss_sp_libs gnss_sdr_flags acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES})
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -58,6 +59,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
|
@ -30,12 +30,14 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e1_pcps_ambiguous_acquisition.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "configuration_interface.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -58,6 +60,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
blocking_ = configuration_->property(role + ".blocking", true);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
|
@ -32,14 +32,14 @@
|
||||
#ifndef GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
||||
#define GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -57,6 +58,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -58,6 +59,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 8);
|
||||
|
||||
/*--- Find number of samples per spreading code (4 ms) -----------------*/
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
#include "Galileo_E1.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -58,6 +59,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include "galileo_e5_signal_processing.h"
|
||||
#include "Galileo_E5a.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -63,6 +64,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
CAF_window_hz_ = configuration_->property(role + ".CAF_window_hz",0);
|
||||
Zero_padding = configuration_->property(role + ".Zero_padding",0);
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
@ -29,13 +29,15 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e5a_pcps_acquisition.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "galileo_e5_signal_processing.h"
|
||||
#include "Galileo_E5a.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||
#include "galileo_e5_signal_processing.h"
|
||||
#include "Galileo_E5a.h"
|
||||
#include "configuration_interface.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -58,6 +60,7 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* con
|
||||
if(acq_iq_) { acq_pilot_ = false; }
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
max_dwells_ = configuration_->property(role + ".max_dwells", 1);
|
||||
dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename);
|
||||
|
@ -31,11 +31,12 @@
|
||||
#ifndef GALILEO_E5A_PCPS_ACQUISITION_H_
|
||||
#define GALILEO_E5A_PCPS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include "gnss_synchro.h"
|
||||
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -32,11 +32,12 @@
|
||||
*/
|
||||
|
||||
#include "glonass_l1_ca_pcps_acquisition.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "glonass_l1_signal_processing.h"
|
||||
#include "GLONASS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -60,6 +61,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
blocking_ = configuration_->property(role + ".blocking", true);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||
|
@ -34,14 +34,13 @@
|
||||
#ifndef GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
||||
#define GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -34,11 +34,13 @@
|
||||
*/
|
||||
|
||||
#include "gps_l1_ca_pcps_acquisition.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -61,6 +63,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
blocking_ = configuration_->property(role + ".blocking", true);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||
|
@ -36,15 +36,14 @@
|
||||
#ifndef GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
||||
#define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -57,7 +58,8 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
doppler_min_ = configuration->property(role + ".doppler_min", -5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
doppler_min_ = configuration->property(role + ".doppler_min", - doppler_max_);
|
||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||
max_dwells_= configuration->property(role + ".max_dwells", 1);
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <glog/logging.h>
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -71,6 +72,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||
ifreq = configuration_->property(role + ".if", 0);
|
||||
dump = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
// note : the FPGA is implemented according to bit transition flag = 0. Setting bit transition flag to 1 has no effect.
|
||||
|
@ -37,6 +37,8 @@
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -56,7 +58,8 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
if_ = configuration->property(role + ".if", 0);
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
doppler_min_ = configuration->property(role + ".doppler_min", -5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
doppler_min_ = configuration->property(role + ".doppler_min", -doppler_max_);
|
||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||
max_dwells_= configuration->property(role + ".max_dwells", 1);
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
|
@ -35,6 +35,8 @@
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -57,6 +59,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false);
|
||||
|
@ -36,7 +36,7 @@
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -58,6 +58,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
|
||||
//--- Find number of samples per spreading code -------------------------
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -57,6 +58,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
if_ = configuration_->property(role + ".if", 0);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
tong_init_val_ = configuration->property(role + ".tong_init_val", 1);
|
||||
|
@ -32,11 +32,12 @@
|
||||
*/
|
||||
|
||||
#include "gps_l2_m_pcps_acquisition.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "gps_l2c_signal.h"
|
||||
#include "GPS_L2C.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -61,6 +62,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
blocking_ = configuration_->property(role + ".blocking", true);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
|
||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||
use_CFAR_algorithm_flag_=configuration_->property(role + ".use_CFAR_algorithm", true); //will be false in future versions
|
||||
|
@ -34,14 +34,14 @@
|
||||
#ifndef GNSS_SDR_GPS_L2_M_PCPS_ACQUISITION_H_
|
||||
#define GNSS_SDR_GPS_L2_M_PCPS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
||||
|
@ -32,11 +32,12 @@
|
||||
*/
|
||||
|
||||
#include "gps_l5i_pcps_acquisition.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "gps_l5_signal.h"
|
||||
#include "GPS_L5.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
@ -60,6 +61,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
blocking_ = configuration_->property(role + ".blocking", true);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
if (FLAGS_doppler_max != 0 ) doppler_max_ = FLAGS_doppler_max;
|
||||
|
||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||
use_CFAR_algorithm_flag_=configuration_->property(role + ".use_CFAR_algorithm", true); //will be false in future versions
|
||||
|
@ -34,15 +34,14 @@
|
||||
#ifndef GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_H_
|
||||
#define GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include "acquisition_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "pcps_acquisition.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -45,6 +45,7 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
${MATIO_INCLUDE_DIRS}
|
||||
@ -64,13 +65,13 @@ file(GLOB ACQ_GR_BLOCKS_HEADERS "*.h")
|
||||
list(SORT ACQ_GR_BLOCKS_HEADERS)
|
||||
add_library(acq_gr_blocks ${ACQ_GR_BLOCKS_SOURCES} ${ACQ_GR_BLOCKS_HEADERS})
|
||||
source_group(Headers FILES ${ACQ_GR_BLOCKS_HEADERS})
|
||||
#target_link_libraries(acq_gr_blocks gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES}
|
||||
#target_link_libraries(acq_gr_blocks acquisition_lib gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} ${OPT_ACQUISITION_LIBRARIES})
|
||||
|
||||
if(ENABLE_FPGA)
|
||||
target_link_libraries(acq_gr_blocks acquisition_lib gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} ${OPT_ACQUISITION_LIBRARIES})
|
||||
else(ENABLE_FPGA)
|
||||
target_link_libraries(acq_gr_blocks gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} ${OPT_ACQUISITION_LIBRARIES} ${MATIO_LIBRARIES})
|
||||
endif(ENABLE_FPGA)
|
||||
|
||||
if(NOT VOLK_GNSSSDR_FOUND)
|
||||
add_dependencies(acq_gr_blocks volk_gnsssdr_module)
|
||||
endif(NOT VOLK_GNSSSDR_FOUND)
|
||||
|
@ -34,14 +34,13 @@
|
||||
*/
|
||||
|
||||
#include "pcps_acquisition.h"
|
||||
#include <cstring>
|
||||
#include "GPS_L1_CA.h" // for GPS_TWO_PI
|
||||
#include "GLONASS_L1_CA.h" // for GLONASS_TWO_PI
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <matio.h>
|
||||
#include <volk/volk.h>
|
||||
#include "GPS_L1_CA.h" //GPS_TWO_PI
|
||||
#include "GLONASS_L1_CA.h" //GLONASS_TWO_PI
|
||||
|
||||
#include <cstring>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -52,13 +52,12 @@
|
||||
#ifndef GNSS_SDR_PCPS_ACQUISITION_H_
|
||||
#define GNSS_SDR_PCPS_ACQUISITION_H_
|
||||
|
||||
|
||||
#include <string>
|
||||
#include "gnss_synchro.h"
|
||||
#include <armadillo>
|
||||
#include <gnuradio/block.h>
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include <string>
|
||||
|
||||
|
||||
class pcps_acquisition;
|
||||
|
@ -31,16 +31,16 @@
|
||||
*/
|
||||
|
||||
#include "pcps_acquisition_fine_doppler_cc.h"
|
||||
#include <algorithm> // std::rotate
|
||||
#include <sstream>
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include "concurrent_map.h"
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <algorithm> // std::rotate, std::fill_n
|
||||
#include <sstream>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -331,7 +331,7 @@ int pcps_acquisition_fine_doppler_cc::estimate_Doppler(gr_vector_const_void_star
|
||||
gr::fft::fft_complex *fft_operator = new gr::fft::fft_complex(fft_size_extended, true);
|
||||
|
||||
//zero padding the entire vector
|
||||
memset(fft_operator->get_inbuf(), 0, fft_size_extended * sizeof(gr_complex));
|
||||
std::fill_n(fft_operator->get_inbuf(), fft_size_extended, gr_complex(0.0, 0.0));
|
||||
|
||||
//1. generate local code aligned with the acquisition code phase estimation
|
||||
gr_complex *code_replica = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment()));
|
||||
@ -366,7 +366,7 @@ int pcps_acquisition_fine_doppler_cc::estimate_Doppler(gr_vector_const_void_star
|
||||
int counter = 0;
|
||||
|
||||
float fftFreqBins[fft_size_extended];
|
||||
memset(fftFreqBins, 0, fft_size_extended * sizeof(float));
|
||||
std::fill_n(fftFreqBins, fft_size_extended, 0.0);
|
||||
|
||||
for (int k = 0; k < (fft_size_extended / 2); k++)
|
||||
{
|
||||
|
@ -48,12 +48,12 @@
|
||||
#ifndef GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
||||
#define GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
||||
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include "gnss_synchro.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
class pcps_acquisition_fine_doppler_cc;
|
||||
|
||||
|
@ -29,14 +29,14 @@
|
||||
*/
|
||||
|
||||
#include "pcps_quicksync_acquisition_cc.h"
|
||||
#include <cmath>
|
||||
#include <sstream>
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <cmath>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -51,15 +51,15 @@
|
||||
#ifndef GNSS_SDR_PCPS_QUICKSYNC_ACQUISITION_CC_H_
|
||||
#define GNSS_SDR_PCPS_QUICKSYNC_ACQUISITION_CC_H_
|
||||
|
||||
#include "gnss_synchro.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
#include <assert.h>
|
||||
#include <gnuradio/block.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include <cassert>
|
||||
|
||||
class pcps_quicksync_acquisition_cc;
|
||||
|
||||
|
@ -49,13 +49,13 @@
|
||||
*/
|
||||
|
||||
#include "pcps_tong_acquisition_cc.h"
|
||||
#include <sstream>
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h" // for GPS_TWO_PI
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include "control_message_factory.h"
|
||||
#include "GPS_L1_CA.h" //GPS_TWO_PI
|
||||
#include <sstream>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -51,12 +51,13 @@
|
||||
#ifndef GNSS_SDR_PCPS_TONG_ACQUISITION_CC_H_
|
||||
#define GNSS_SDR_PCPS_TONG_ACQUISITION_CC_H_
|
||||
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include "gnss_synchro.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include "gnss_synchro.h"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
|
||||
class pcps_tong_acquisition_cc;
|
||||
|
||||
|
@ -24,6 +24,7 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
@ -34,4 +35,4 @@ file(GLOB CHANNEL_ADAPTER_HEADERS "*.h")
|
||||
list(SORT CHANNEL_ADAPTER_HEADERS)
|
||||
add_library(channel_adapters ${CHANNEL_ADAPTER_SOURCES} ${CHANNEL_ADAPTER_HEADERS})
|
||||
source_group(Headers FILES ${CHANNEL_ADAPTER_HEADERS})
|
||||
target_link_libraries(channel_adapters channel_fsm ${GNURADIO_RUNTIME_LIBRARIES} ${Boost_LIBRARIES})
|
||||
target_link_libraries(channel_adapters channel_fsm ${GNURADIO_RUNTIME_LIBRARIES} ${Boost_LIBRARIES} gnss_sdr_flags)
|
||||
|
@ -30,9 +30,11 @@
|
||||
*/
|
||||
|
||||
#include "channel.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@ -76,6 +78,7 @@ Channel::Channel(ConfigurationInterface *configuration, unsigned int channel,
|
||||
|
||||
unsigned int doppler_step = configuration->property("Acquisition_" + implementation_ + boost::lexical_cast<std::string>(channel_) + ".doppler_step", 0);
|
||||
if(doppler_step == 0) doppler_step = configuration->property("Acquisition_" + implementation_ + ".doppler_step", 500);
|
||||
if(FLAGS_doppler_step != 0) doppler_step = static_cast<unsigned int>(FLAGS_doppler_step);
|
||||
DLOG(INFO) << "Channel "<< channel_ << " Doppler_step = " << doppler_step;
|
||||
|
||||
acq_->set_doppler_step(doppler_step);
|
||||
|
@ -35,15 +35,15 @@
|
||||
#ifndef GNSS_SDR_CHANNEL_H_
|
||||
#define GNSS_SDR_CHANNEL_H_
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <mutex>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/block.h>
|
||||
#include "channel_interface.h"
|
||||
#include "channel_fsm.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include "channel_msg_receiver_cc.h"
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/block.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <mutex>
|
||||
|
||||
class ConfigurationInterface;
|
||||
class AcquisitionInterface;
|
||||
|
@ -30,8 +30,9 @@
|
||||
*/
|
||||
|
||||
#include "channel_fsm.h"
|
||||
#include <glog/logging.h>
|
||||
#include "control_message_factory.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
|
||||
ChannelFsm::ChannelFsm()
|
||||
|
@ -32,12 +32,13 @@
|
||||
#ifndef GNSS_SDR_CHANNEL_FSM_H
|
||||
#define GNSS_SDR_CHANNEL_FSM_H
|
||||
|
||||
#include <mutex>
|
||||
#include <memory>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include "acquisition_interface.h"
|
||||
#include "tracking_interface.h"
|
||||
#include "telemetry_decoder_interface.h"
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
|
||||
|
||||
/*!
|
||||
* \brief This class implements a State Machine for channel
|
||||
|
@ -31,8 +31,8 @@
|
||||
#ifndef GNSS_SDR_CHANNEL_MSG_RECEIVER_CC_H
|
||||
#define GNSS_SDR_CHANNEL_MSG_RECEIVER_CC_H
|
||||
|
||||
#include <gnuradio/block.h>
|
||||
#include "channel_fsm.h"
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
class channel_msg_receiver_cc;
|
||||
|
||||
|
@ -32,9 +32,8 @@
|
||||
#ifndef GNSS_SDR_SIGNAL_CONDITIONER_H_
|
||||
#define GNSS_SDR_SIGNAL_CONDITIONER_H_
|
||||
|
||||
#include <string>
|
||||
#include "gnss_block_interface.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
class AcquisitionInterface;
|
||||
|
@ -29,8 +29,9 @@
|
||||
*/
|
||||
|
||||
#include "byte_to_short.h"
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,11 +31,10 @@
|
||||
#ifndef GNSS_SDR_BYTE_TO_SHORT_H_
|
||||
#define GNSS_SDR_BYTE_TO_SHORT_H_
|
||||
|
||||
#include <string>
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/char_to_short.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "gnss_block_interface.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,9 +30,9 @@
|
||||
*/
|
||||
|
||||
#include "ibyte_to_cbyte.h"
|
||||
#include <volk/volk.h>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -32,12 +32,11 @@
|
||||
#ifndef GNSS_SDR_IBYTE_TO_CBYTE_H_
|
||||
#define GNSS_SDR_IBYTE_TO_CBYTE_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "conjugate_ic.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include "interleaved_byte_to_complex_byte.h"
|
||||
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -29,8 +29,8 @@
|
||||
*/
|
||||
|
||||
#include "ibyte_to_complex.h"
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,13 +31,12 @@
|
||||
#ifndef GNSS_SDR_IBYTE_TO_COMPLEX_H_
|
||||
#define GNSS_SDR_IBYTE_TO_COMPLEX_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/interleaved_char_to_complex.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "conjugate_cc.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
|
||||
#include <gnuradio/blocks/interleaved_char_to_complex.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,9 +30,10 @@
|
||||
*/
|
||||
|
||||
#include "ibyte_to_cshort.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
#include "configuration_interface.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,12 +31,11 @@
|
||||
#ifndef GNSS_SDR_IBYTE_TO_CSHORT_H_
|
||||
#define GNSS_SDR_IBYTE_TO_CSHORT_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "conjugate_sc.h"
|
||||
#include "interleaved_byte_to_complex_short.h"
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -29,8 +29,8 @@
|
||||
*/
|
||||
|
||||
#include "ishort_to_complex.h"
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,12 +31,11 @@
|
||||
#ifndef GNSS_SDR_ISHORT_TO_COMPLEX_H_
|
||||
#define GNSS_SDR_ISHORT_TO_COMPLEX_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/interleaved_short_to_complex.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "conjugate_cc.h"
|
||||
#include "gnss_block_interface.h"
|
||||
|
||||
#include <gnuradio/blocks/interleaved_short_to_complex.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,9 +30,9 @@
|
||||
*/
|
||||
|
||||
#include "ishort_to_cshort.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
#include "configuration_interface.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -31,12 +31,11 @@
|
||||
#ifndef GNSS_SDR_ISHORT_TO_CSHORT_H_
|
||||
#define GNSS_SDR_ISHORT_TO_CSHORT_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "conjugate_sc.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include "interleaved_short_to_complex_short.h"
|
||||
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -29,10 +29,10 @@
|
||||
*/
|
||||
|
||||
#include "beamformer_filter.h"
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "beamformer.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
@ -32,9 +32,9 @@
|
||||
#ifndef GNSS_SDR_BEAMFORMER_FILTER_H_
|
||||
#define GNSS_SDR_BEAMFORMER_FILTER_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,11 +30,12 @@
|
||||
*/
|
||||
|
||||
#include "fir_filter.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <gnuradio/filter/pm_remez.h>
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
#include "configuration_interface.h"
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -33,9 +33,11 @@
|
||||
#ifndef GNSS_SDR_FIR_FILTER_H_
|
||||
#define GNSS_SDR_FIR_FILTER_H_
|
||||
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include "byte_x2_to_complex_byte.h"
|
||||
#include "short_x2_to_cshort.h"
|
||||
#include "cshort_to_float_x2.h"
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/float_to_char.h>
|
||||
@ -43,11 +45,9 @@
|
||||
#include <gnuradio/blocks/float_to_short.h>
|
||||
#include <gnuradio/filter/fir_filter_ccf.h>
|
||||
#include <gnuradio/filter/fir_filter_fff.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include "byte_x2_to_complex_byte.h"
|
||||
#include "short_x2_to_cshort.h"
|
||||
#include "cshort_to_float_x2.h"
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,13 +30,13 @@
|
||||
*/
|
||||
|
||||
#include "freq_xlating_fir_filter.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/filter/pm_remez.h>
|
||||
#include <gnuradio/filter/firdes.h>
|
||||
#include <glog/logging.h>
|
||||
#include <volk/volk.h>
|
||||
#include "configuration_interface.h"
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -33,8 +33,9 @@
|
||||
#ifndef GNSS_SDR_FREQ_XLATING_FIR_FILTER_H_
|
||||
#define GNSS_SDR_FREQ_XLATING_FIR_FILTER_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "short_x2_to_cshort.h"
|
||||
#include "complex_float_to_complex_byte.h"
|
||||
#include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
|
||||
#include <gnuradio/filter/freq_xlating_fir_filter_fcf.h>
|
||||
#include <gnuradio/filter/freq_xlating_fir_filter_scf.h>
|
||||
@ -42,9 +43,8 @@
|
||||
#include <gnuradio/blocks/complex_to_float.h>
|
||||
#include <gnuradio/blocks/char_to_short.h>
|
||||
#include <gnuradio/blocks/float_to_short.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "short_x2_to_cshort.h"
|
||||
#include "complex_float_to_complex_byte.h"
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,10 +30,11 @@
|
||||
*/
|
||||
|
||||
#include "notch_filter.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "notch_cc.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -33,12 +33,11 @@
|
||||
#ifndef GNSS_SDR_NOTCH_FILTER_H_
|
||||
#define GNSS_SDR_NOTCH_FILTER_H_
|
||||
|
||||
#include "notch_cc.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "notch_cc.h"
|
||||
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,11 +30,11 @@
|
||||
*/
|
||||
|
||||
#include "notch_filter_lite.h"
|
||||
#include <cmath>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "notch_lite_cc.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <cmath>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -33,12 +33,11 @@
|
||||
#ifndef GNSS_SDR_NOTCH_FILTER_LITE_H_
|
||||
#define GNSS_SDR_NOTCH_FILTER_LITE_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "notch_lite_cc.h"
|
||||
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -28,13 +28,13 @@
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "pulse_blanking_filter.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <vector>
|
||||
#include <cmath>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/filter/firdes.h>
|
||||
#include "configuration_interface.h"
|
||||
#include "pulse_blanking_filter.h"
|
||||
#include <vector>
|
||||
#include <cmath>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -32,11 +32,11 @@
|
||||
#ifndef GNSS_SDR_PULSE_BLANKING_FILTER_H_
|
||||
#define GNSS_SDR_PULSE_BLANKING_FILTER_H_
|
||||
|
||||
#include <string>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
|
||||
#include "gnss_block_interface.h"
|
||||
#include "pulse_blanking_cc.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
@ -30,9 +30,9 @@
|
||||
|
||||
|
||||
#include "beamformer.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
#define GNSS_SDR_BEAMFORMER_CHANNELS 8
|
||||
|
||||
|
@ -29,13 +29,12 @@
|
||||
*/
|
||||
|
||||
#include "notch_cc.h"
|
||||
#include <cstring>
|
||||
#include <cmath>
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
|
||||
#include <cstring>
|
||||
#include <cmath>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -29,14 +29,12 @@
|
||||
*/
|
||||
|
||||
#include "notch_lite_cc.h"
|
||||
|
||||
#include <cstring>
|
||||
#include <cmath>
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
|
||||
#include <cstring>
|
||||
#include <cmath>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -29,12 +29,11 @@
|
||||
*/
|
||||
|
||||
#include "pulse_blanking_cc.h"
|
||||
#include <cmath>
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
@ -39,7 +39,6 @@ set(GNSS_SPLIBS_SOURCES
|
||||
conjugate_ic.cc
|
||||
)
|
||||
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
set(GNSS_SPLIBS_SOURCES ${GNSS_SPLIBS_SOURCES}
|
||||
fft_execute.cc # Needs OpenCL
|
||||
@ -71,7 +70,10 @@ if(OPENCL_FOUND)
|
||||
endif(OS_IS_MACOSX)
|
||||
endif(OPENCL_FOUND)
|
||||
|
||||
add_definitions(-DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
file(GLOB GNSS_SPLIBS_HEADERS "*.h")
|
||||
list(REMOVE_ITEM GNSS_SPLIBS_HEADERS gnss_sdr_flags.h)
|
||||
list(SORT GNSS_SPLIBS_HEADERS)
|
||||
add_library(gnss_sp_libs ${GNSS_SPLIBS_SOURCES} ${GNSS_SPLIBS_HEADERS})
|
||||
source_group(Headers FILES ${GNSS_SPLIBS_HEADERS})
|
||||
@ -79,6 +81,7 @@ source_group(Headers FILES ${GNSS_SPLIBS_HEADERS})
|
||||
target_link_libraries(gnss_sp_libs ${GNURADIO_RUNTIME_LIBRARIES}
|
||||
${VOLK_LIBRARIES} ${ORC_LIBRARIES}
|
||||
${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
|
||||
${GFlags_LIBS}
|
||||
${GNURADIO_BLOCKS_LIBRARIES}
|
||||
${GNURADIO_FFT_LIBRARIES}
|
||||
${GNURADIO_FILTER_LIBRARIES}
|
||||
@ -89,3 +92,11 @@ target_link_libraries(gnss_sp_libs ${GNURADIO_RUNTIME_LIBRARIES}
|
||||
if(NOT VOLK_GNSSSDR_FOUND)
|
||||
add_dependencies(gnss_sp_libs volk_gnsssdr_module)
|
||||
endif(NOT VOLK_GNSSSDR_FOUND)
|
||||
|
||||
if(${GFLAGS_GREATER_20})
|
||||
add_definitions(-DGFLAGS_GREATER_2_0=1)
|
||||
endif(${GFLAGS_GREATER_20})
|
||||
|
||||
add_library(gnss_sdr_flags gnss_sdr_flags.cc gnss_sdr_flags.h)
|
||||
source_group(Headers FILES gnss_sdr_flags.h)
|
||||
target_link_libraries(gnss_sdr_flags ${GFlags_LIBS})
|
@ -31,9 +31,7 @@
|
||||
|
||||
#include "complex_float_to_complex_byte.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include "volk_gnsssdr/volk_gnsssdr.h"
|
||||
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
|
||||
|
||||
complex_float_to_complex_byte_sptr make_complex_float_to_complex_byte()
|
||||
@ -47,7 +45,7 @@ complex_float_to_complex_byte::complex_float_to_complex_byte() : sync_block("com
|
||||
gr::io_signature::make (1, 1, sizeof(gr_complex)),
|
||||
gr::io_signature::make (1, 1, sizeof(lv_8sc_t))) // lv_8sc_t is a Volk's typedef for std::complex<signed char>
|
||||
{
|
||||
const int alignment_multiple = volk_get_alignment() / sizeof(lv_8sc_t);
|
||||
const int alignment_multiple = volk_gnsssdr_get_alignment() / sizeof(lv_8sc_t);
|
||||
set_alignment(std::max(1, alignment_multiple));
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user