mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-11-04 09:13:05 +00:00 
			
		
		
		
	Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into HEAD
This commit is contained in:
		@@ -51,6 +51,7 @@ option(ENABLE_ARRAY "Enable the use of CTTC's antenna array front-end as signal
 | 
			
		||||
option(ENABLE_GN3S "Enable the use of the GN3S dongle as signal source (experimental)" OFF)
 | 
			
		||||
option(ENABLE_PLUTOSDR "Enable the use of ADALM-PLUTO Evaluation Boards (Analog Devices Inc.), requires gr-iio" OFF)
 | 
			
		||||
option(ENABLE_FMCOMMS2 "Enable the use of FMCOMMS4-EBZ + ZedBoard hardware, requires gr-iio" OFF)
 | 
			
		||||
option(ENABLE_AD9361 "Enable the use of AD9361 directo to FPGA hardware, requires gr-iio" OFF)
 | 
			
		||||
 | 
			
		||||
# Performance analysis tools
 | 
			
		||||
option(ENABLE_GPERFTOOLS "Enable linking to Gperftools libraries (tcmalloc and profiler)" OFF)
 | 
			
		||||
 
 | 
			
		||||
@@ -75,7 +75,7 @@ the actual username of your GitHub account):
 | 
			
		||||
 | 
			
		||||
   4. Your forked repository https://github.com/YOUR_USERNAME/gnss-sdr
 | 
			
		||||
will receive the default name of `origin`. You can also add the original
 | 
			
		||||
gnss-sdr repository, which is usually called `upstream`:
 | 
			
		||||
gnss-sdr repository, which is usually referred to as `upstream`:
 | 
			
		||||
 | 
			
		||||
          $ cd gnss-sdr
 | 
			
		||||
          $ git remote add upstream https://github.com/gnss-sdr/gnss-sdr.git
 | 
			
		||||
 
 | 
			
		||||
@@ -185,9 +185,9 @@ or manually as explained below, and then please follow instructions on how to [d
 | 
			
		||||
$ sudo apt-get install libopenblas-dev liblapack-dev   # For Debian/Ubuntu/LinuxMint
 | 
			
		||||
$ sudo yum install lapack-devel blas-devel             # For Fedora/CentOS/RHEL
 | 
			
		||||
$ sudo zypper install lapack-devel blas-devel          # For OpenSUSE
 | 
			
		||||
$ wget http://sourceforge.net/projects/arma/files/armadillo-8.200.2.tar.xz
 | 
			
		||||
$ tar xvfz armadillo-8.200.2.tar.xz
 | 
			
		||||
$ cd armadillo-8.200.2
 | 
			
		||||
$ wget http://sourceforge.net/projects/arma/files/armadillo-8.500.0.tar.xz
 | 
			
		||||
$ tar xvfz armadillo-8.500.0.tar.xz
 | 
			
		||||
$ cd armadillo-8.500.0
 | 
			
		||||
$ cmake .
 | 
			
		||||
$ make
 | 
			
		||||
$ sudo make install
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,19 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
 find_library(GFORTRAN NAMES gfortran
 | 
			
		||||
                 PATHS /usr/lib
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# - Try to find GFlags
 | 
			
		||||
#
 | 
			
		||||
# The following variables are optionally searched for defaults
 | 
			
		||||
@@ -9,14 +26,6 @@
 | 
			
		||||
# GFlags_LIBS
 | 
			
		||||
# GFlags_LIBRARY_DIRS
 | 
			
		||||
 | 
			
		||||
# - Try to find GFlags
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
# The following are set after configuration is done:
 | 
			
		||||
# GFlags_FOUND
 | 
			
		||||
# GFlags_INCLUDE_DIRS
 | 
			
		||||
# GFlags_LIBS
 | 
			
		||||
# GFlags_LIBRARY_DIRS
 | 
			
		||||
cmake_minimum_required(VERSION 2.6)
 | 
			
		||||
 | 
			
		||||
if(APPLE)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# - Try to find the Google Glog library
 | 
			
		||||
#
 | 
			
		||||
# This module defines the following variables
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# - Find gpstk library
 | 
			
		||||
# Find the native gpstk includes and library
 | 
			
		||||
# This module defines
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find GNU Radio
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# Tries to find Gperftools.
 | 
			
		||||
#
 | 
			
		||||
# Usage of this module as follows:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find  GR-DBFCTTC Module
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find  GR-GN3S Module
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# Tries to find gr-osmosdr.
 | 
			
		||||
#
 | 
			
		||||
# Usage of this module as follows:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# Tries to find libosmosdr.
 | 
			
		||||
#
 | 
			
		||||
# Usage of this module as follows:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# - Find Log4cpp
 | 
			
		||||
# Find the native LOG4CPP includes and library
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# FindMATIO
 | 
			
		||||
#
 | 
			
		||||
# Try to find MATIO library
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
FIND_PACKAGE(PkgConfig)
 | 
			
		||||
PKG_CHECK_MODULES(PC_ORC "orc-0.4 > 0.4.22")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# - Try to find OpenBLAS library (not headers!)
 | 
			
		||||
#
 | 
			
		||||
# The following environment variable is optionally searched 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# This file taken from FindOpenCL project @ http://gitorious.com/findopencl
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
INCLUDE(FindPkgConfig)
 | 
			
		||||
PKG_CHECK_MODULES(PC_TELEORBIT teleorbit)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find the library for the USRP Hardware Driver
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find VOLK (Vector-Optimized Library of Kernels)
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Find VOLK (Vector-Optimized Library of Kernels) GNSS-SDR library
 | 
			
		||||
########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
INCLUDE(FindPkgConfig)
 | 
			
		||||
PKG_CHECK_MODULES(PC_IIO gnuradio-iio)
 | 
			
		||||
 | 
			
		||||
@@ -22,6 +39,28 @@ FIND_LIBRARY(
 | 
			
		||||
          /usr/local/lib64
 | 
			
		||||
          /usr/lib
 | 
			
		||||
          /usr/lib64
 | 
			
		||||
          /usr/lib/x86_64-linux-gnu
 | 
			
		||||
          /usr/lib/alpha-linux-gnu
 | 
			
		||||
          /usr/lib/aarch64-linux-gnu
 | 
			
		||||
          /usr/lib/arm-linux-gnueabi
 | 
			
		||||
          /usr/lib/arm-linux-gnueabihf
 | 
			
		||||
          /usr/lib/hppa-linux-gnu
 | 
			
		||||
          /usr/lib/i686-gnu
 | 
			
		||||
          /usr/lib/i686-linux-gnu
 | 
			
		||||
          /usr/lib/x86_64-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/i686-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/m68k-linux-gnu
 | 
			
		||||
          /usr/lib/mips-linux-gnu
 | 
			
		||||
          /usr/lib/mips64el-linux-gnuabi64
 | 
			
		||||
          /usr/lib/mipsel-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc-linux-gnuspe
 | 
			
		||||
          /usr/lib/powerpc64-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc64le-linux-gnu
 | 
			
		||||
          /usr/lib/s390x-linux-gnu
 | 
			
		||||
          /usr/lib/sparc64-linux-gnu
 | 
			
		||||
          /usr/lib/x86_64-linux-gnux32
 | 
			
		||||
          /usr/lib/sh4-linux-gnu
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
INCLUDE(FindPackageHandleStandardArgs)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,26 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
INCLUDE(FindPkgConfig)
 | 
			
		||||
PKG_CHECK_MODULES(PC_LIBIIO libiio)
 | 
			
		||||
 | 
			
		||||
FIND_PATH(
 | 
			
		||||
    LIBIIO_INCLUDE_DIRS
 | 
			
		||||
    NAMES gnuradio/iio/api.h
 | 
			
		||||
    NAMES iio.h
 | 
			
		||||
    HINTS $ENV{LIBIIO_DIR}/include
 | 
			
		||||
          ${PC_LIBIIO_INCLUDEDIR}
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/include
 | 
			
		||||
@@ -14,7 +31,7 @@ FIND_PATH(
 | 
			
		||||
 | 
			
		||||
FIND_LIBRARY(
 | 
			
		||||
    LIBIIO_LIBRARIES
 | 
			
		||||
    NAMES libiio.so iio
 | 
			
		||||
    NAMES iio libiio.so.0
 | 
			
		||||
    HINTS $ENV{LIBIIO_DIR}/lib
 | 
			
		||||
          ${PC_LIBIIO_LIBDIR}
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/lib
 | 
			
		||||
@@ -24,27 +41,27 @@ FIND_LIBRARY(
 | 
			
		||||
          /usr/lib
 | 
			
		||||
          /usr/lib64
 | 
			
		||||
          /usr/lib/x86_64-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/alpha-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/aarch64-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/arm-linux-gnueabi
 | 
			
		||||
          /usr/lib/gcc/arm-linux-gnueabihf
 | 
			
		||||
          /usr/lib/gcc/hppa-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/i686-gnu
 | 
			
		||||
          /usr/lib/gcc/i686-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/x86_64-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/gcc/i686-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/gcc/m68k-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/mips-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/mips64el-linux-gnuabi64
 | 
			
		||||
          /usr/lib/gcc/mipsel-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/powerpc-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/powerpc-linux-gnuspe
 | 
			
		||||
          /usr/lib/gcc/powerpc64-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/powerpc64le-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/s390x-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/sparc64-linux-gnu
 | 
			
		||||
          /usr/lib/gcc/x86_64-linux-gnux32
 | 
			
		||||
          /usr/lib/gcc/sh4-linux-gnu
 | 
			
		||||
          /usr/lib/alpha-linux-gnu
 | 
			
		||||
          /usr/lib/aarch64-linux-gnu
 | 
			
		||||
          /usr/lib/arm-linux-gnueabi
 | 
			
		||||
          /usr/lib/arm-linux-gnueabihf
 | 
			
		||||
          /usr/lib/hppa-linux-gnu
 | 
			
		||||
          /usr/lib/i686-gnu
 | 
			
		||||
          /usr/lib/i686-linux-gnu
 | 
			
		||||
          /usr/lib/x86_64-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/i686-kfreebsd-gnu
 | 
			
		||||
          /usr/lib/m68k-linux-gnu
 | 
			
		||||
          /usr/lib/mips-linux-gnu
 | 
			
		||||
          /usr/lib/mips64el-linux-gnuabi64
 | 
			
		||||
          /usr/lib/mipsel-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc-linux-gnuspe
 | 
			
		||||
          /usr/lib/powerpc64-linux-gnu
 | 
			
		||||
          /usr/lib/powerpc64le-linux-gnu
 | 
			
		||||
          /usr/lib/s390x-linux-gnu
 | 
			
		||||
          /usr/lib/sparc64-linux-gnu
 | 
			
		||||
          /usr/lib/x86_64-linux-gnux32
 | 
			
		||||
          /usr/lib/sh4-linux-gnu
 | 
			
		||||
          /Library/Frameworks/iio.framework/
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Setup the python interpreter:
 | 
			
		||||
# This allows the user to specify a specific interpreter,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# check if the compiler defines the architecture as ARM  and set the 
 | 
			
		||||
# version, if found.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,21 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
###############################################################################
 | 
			
		||||
# Test for availability of SSE
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
##########################################################
 | 
			
		||||
# Toolchain file for Open Embedded
 | 
			
		||||
##########################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
##########################################################
 | 
			
		||||
# Toolchain file for Zynq-7000 devices
 | 
			
		||||
##########################################################
 | 
			
		||||
@@ -23,4 +40,4 @@ set(CMAKE_CXX_FLAGS ${ZYNQ_FLAGS} CACHE STRING "" FORCE)
 | 
			
		||||
set(CMAKE_LIBRARY_PATH ${CMAKE_SYSROOT}/usr/lib
 | 
			
		||||
                       ${CMAKE_SYSROOT}/usr/lib/arm-linux-gnueabihf)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_SYSROOT}/usr CACHE STRING "" FORCE)
 | 
			
		||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_SYSROOT}/usr CACHE STRING "" FORCE)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,20 @@
 | 
			
		||||
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNSS-SDR.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
 | 
			
		||||
  message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
 | 
			
		||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
 | 
			
		||||
@@ -18,4 +35,4 @@ foreach(file ${files})
 | 
			
		||||
  else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
 | 
			
		||||
    message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
 | 
			
		||||
  endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
 | 
			
		||||
endforeach(file)
 | 
			
		||||
endforeach(file)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; You can define your own front-end calibration tool configuration and invoke it by doing
 | 
			
		||||
; ./front-end-cal --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
@@ -25,149 +28,63 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
;SignalConditioner.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
;DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
InputFilter.implementation=Pass_Through ; or Fir_Filter
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of GNU Radio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.44
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=2000000
 | 
			
		||||
;#dump: Dump the resampled data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS L1 C/A satellite channels.
 | 
			
		||||
Channels_1C.count=6
 | 
			
		||||
;#count: Number of available Galileo E1B satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
;Channel0.signal=1C
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option for random search
 | 
			
		||||
;Channel0.satellite=11
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
@@ -176,90 +93,52 @@ Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_min=-10000
 | 
			
		||||
;#doppler_step Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#maximum dwells
 | 
			
		||||
Acquisition_1C.max_dwells=5
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=3.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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.AR_GPS=PPP-AR ; options: OFF, Continuous, Instantaneous, Fix-and-Hold, PPP-AR
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=10
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms <= display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
PVT.positioning_mode=PPP_Static
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
 | 
			
		||||
;#flag_nmea_tty_port: Enables or disables the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=true
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
;#flag_rtcm_server: Enables or disables a TCP/IP server transmitting RTCM 3.2 messages (accepts multiple clients, port 2101 by default)
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
;#flag_rtcm_tty_port: Enables or disables the RTCM log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
;#rtcm_dump_devname: serial device descriptor for RTCM logging
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump, ".kml" and ".geojson" to GIS-friendly formats.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -79,7 +82,6 @@ Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.threshold=0.0
 | 
			
		||||
Acquisition_1C.pfa=0.00001
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
Acquisition_1C.dump=false;
 | 
			
		||||
@@ -90,7 +92,6 @@ Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1G.item_type=gr_complex
 | 
			
		||||
Acquisition_1G.threshold=0.0
 | 
			
		||||
Acquisition_1G.pfa=0.00001
 | 
			
		||||
Acquisition_1G.if=0
 | 
			
		||||
Acquisition_1G.doppler_max=10000
 | 
			
		||||
Acquisition_1G.doppler_step=250
 | 
			
		||||
Acquisition_1G.dump=false;
 | 
			
		||||
@@ -100,7 +101,6 @@ Acquisition_1G.dump_filename=/archive/glo_acquisition.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.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1C.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
@@ -109,7 +109,6 @@ Tracking_1C.dump_filename=/archive/gps_tracking_ch_
 | 
			
		||||
 | 
			
		||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_1G.item_type=gr_complex
 | 
			
		||||
Tracking_1G.if=0
 | 
			
		||||
Tracking_1G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1G.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_1G.dll_bw_hz=3.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -82,7 +85,6 @@ Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.threshold=0.0
 | 
			
		||||
Acquisition_2S.pfa=0.00001
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.doppler_max=10000
 | 
			
		||||
Acquisition_2S.doppler_step=60
 | 
			
		||||
Acquisition_2S.max_dwells=1
 | 
			
		||||
@@ -91,7 +93,6 @@ Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1G.item_type=gr_complex
 | 
			
		||||
Acquisition_1G.threshold=0.0
 | 
			
		||||
Acquisition_1G.pfa=0.00001
 | 
			
		||||
Acquisition_1G.if=0
 | 
			
		||||
Acquisition_1G.doppler_max=10000
 | 
			
		||||
Acquisition_1G.doppler_step=250
 | 
			
		||||
Acquisition_1G.dump=false;
 | 
			
		||||
@@ -100,7 +101,6 @@ Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.early_late_space_chips=0.5
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.250;
 | 
			
		||||
@@ -110,7 +110,6 @@ Tracking_2S.dump_filename=/archive/gps_tracking_ch_
 | 
			
		||||
 | 
			
		||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_1G.item_type=gr_complex
 | 
			
		||||
Tracking_1G.if=0
 | 
			
		||||
Tracking_1G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1G.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_1G.dll_bw_hz=3.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -36,7 +39,6 @@ Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1G.item_type=gr_complex
 | 
			
		||||
Acquisition_1G.threshold=0.0
 | 
			
		||||
Acquisition_1G.pfa=0.0001
 | 
			
		||||
Acquisition_1G.if=0
 | 
			
		||||
Acquisition_1G.doppler_max=10000
 | 
			
		||||
Acquisition_1G.doppler_step=250
 | 
			
		||||
Acquisition_1G.dump=true;
 | 
			
		||||
@@ -47,7 +49,6 @@ Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_1G.item_type=gr_complex
 | 
			
		||||
Tracking_1G.if=0
 | 
			
		||||
Tracking_1G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1G.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_1G.dll_bw_hz=3.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -36,7 +39,6 @@ Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1G.item_type=gr_complex
 | 
			
		||||
Acquisition_1G.threshold=0.0
 | 
			
		||||
Acquisition_1G.pfa=0.0001
 | 
			
		||||
Acquisition_1G.if=0
 | 
			
		||||
Acquisition_1G.doppler_max=10000
 | 
			
		||||
Acquisition_1G.doppler_step=250
 | 
			
		||||
Acquisition_1G.dump=false;
 | 
			
		||||
@@ -47,7 +49,6 @@ Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
Tracking_1G.item_type=gr_complex
 | 
			
		||||
Tracking_1G.if=0
 | 
			
		||||
Tracking_1G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1G.pll_bw_hz=40.0;
 | 
			
		||||
Tracking_1G.dll_bw_hz=3.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -79,7 +82,6 @@ Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.threshold=0.0
 | 
			
		||||
Acquisition_1C.pfa=0.00001
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
Acquisition_1C.dump=false;
 | 
			
		||||
@@ -90,7 +92,6 @@ Acquisition_2G.implementation=GLONASS_L2_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_2G.item_type=gr_complex
 | 
			
		||||
Acquisition_2G.threshold=0.0
 | 
			
		||||
Acquisition_2G.pfa=0.00001
 | 
			
		||||
Acquisition_2G.if=0
 | 
			
		||||
Acquisition_2G.doppler_max=10000
 | 
			
		||||
Acquisition_2G.doppler_step=250
 | 
			
		||||
Acquisition_2G.dump=false;
 | 
			
		||||
@@ -100,7 +101,6 @@ Acquisition_2G.dump_filename=/archive/glo_acquisition.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.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1C.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
@@ -109,7 +109,6 @@ Tracking_1C.dump_filename=/archive/gps_tracking_ch_
 | 
			
		||||
 | 
			
		||||
Tracking_2G.implementation=GLONASS_L2_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2G.item_type=gr_complex
 | 
			
		||||
Tracking_2G.if=0
 | 
			
		||||
Tracking_2G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_2G.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_2G.dll_bw_hz=2.0;
 | 
			
		||||
@@ -127,6 +126,7 @@ Observables.dump_filename=/archive/gnss_observables.dat
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=Single
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
PVT.trop_model=Saastamoinen
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -82,7 +85,6 @@ Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.threshold=0.0
 | 
			
		||||
Acquisition_2S.pfa=0.00001
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.doppler_max=10000
 | 
			
		||||
Acquisition_2S.doppler_step=60
 | 
			
		||||
Acquisition_2S.max_dwells=1
 | 
			
		||||
@@ -91,7 +93,6 @@ Acquisition_2G.implementation=GLONASS_L2_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_2G.item_type=gr_complex
 | 
			
		||||
Acquisition_2G.threshold=0.0
 | 
			
		||||
Acquisition_2G.pfa=0.00001
 | 
			
		||||
Acquisition_2G.if=0
 | 
			
		||||
Acquisition_2G.doppler_max=10000
 | 
			
		||||
Acquisition_2G.doppler_step=250
 | 
			
		||||
Acquisition_2G.dump=false;
 | 
			
		||||
@@ -100,7 +101,6 @@ Acquisition_2G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.early_late_space_chips=0.5
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.250;
 | 
			
		||||
@@ -110,7 +110,6 @@ Tracking_2S.dump_filename=/archive/gps_tracking_ch_
 | 
			
		||||
 | 
			
		||||
Tracking_2G.implementation=GLONASS_L2_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2G.item_type=gr_complex
 | 
			
		||||
Tracking_2G.if=0
 | 
			
		||||
Tracking_2G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_2G.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_2G.dll_bw_hz=3.0;
 | 
			
		||||
@@ -128,6 +127,7 @@ Observables.dump_filename=/archive/gnss_observables.dat
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=Single
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
PVT.trop_model=Saastamoinen
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -30,7 +33,6 @@ Acquisition_2G.implementation=GLONASS_L2_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_2G.item_type=gr_complex
 | 
			
		||||
Acquisition_2G.threshold=0.0
 | 
			
		||||
Acquisition_2G.pfa=0.0001
 | 
			
		||||
Acquisition_2G.if=0
 | 
			
		||||
Acquisition_2G.doppler_max=10000
 | 
			
		||||
Acquisition_2G.doppler_step=250
 | 
			
		||||
Acquisition_2G.dump=true;
 | 
			
		||||
@@ -41,7 +43,6 @@ Acquisition_2G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_2G.implementation=GLONASS_L2_CA_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2G.item_type=gr_complex
 | 
			
		||||
Tracking_2G.if=0
 | 
			
		||||
Tracking_2G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_2G.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_2G.dll_bw_hz=2.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -36,7 +39,6 @@ Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1G.item_type=gr_complex
 | 
			
		||||
Acquisition_1G.threshold=0.0
 | 
			
		||||
Acquisition_1G.pfa=0.0001
 | 
			
		||||
Acquisition_1G.if=0
 | 
			
		||||
Acquisition_1G.doppler_max=10000
 | 
			
		||||
Acquisition_1G.doppler_step=250
 | 
			
		||||
Acquisition_1G.dump=false;
 | 
			
		||||
@@ -47,7 +49,6 @@ Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
Tracking_1G.item_type=gr_complex
 | 
			
		||||
Tracking_1G.if=0
 | 
			
		||||
Tracking_1G.early_late_space_chips=0.5
 | 
			
		||||
Tracking_1G.pll_bw_hz=40.0;
 | 
			
		||||
Tracking_1G.dll_bw_hz=3.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -35,12 +38,11 @@ Channel.enable_FPGA=true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fpga
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
Acquisition_1C.item_type=cshort
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fpga
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.select_queue_Fpga=0;
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
@@ -50,7 +52,6 @@ Acquisition_1C.doppler_step=500
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking_Fpga
 | 
			
		||||
Tracking_1C.item_type=cshort
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
@@ -60,7 +61,6 @@ Tracking_1C.order=3;
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
TelemetryDecoder_1C.decimation_factor=1;
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=GPS_L1_CA_Observables
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -68,8 +71,7 @@ Channel.signal=1C
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.008
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
@@ -79,7 +81,6 @@ 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=45.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -11,107 +13,43 @@ GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Spir_File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/dtalogger/signals/spir/data/20Secs/20Secs_L1.dat    ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=int
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=80000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter.item_type=float
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=float
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=80000000
 | 
			
		||||
InputFilter.IF=10164
 | 
			
		||||
InputFilter.decimation_factor=20
 | 
			
		||||
@@ -119,105 +57,58 @@ InputFilter.decimation_factor=20
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=80000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=10
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" Galileo E1B
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;Galileo FM3 -> PRN 19
 | 
			
		||||
;Galileo FM4 -> PRN 20
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel0.signal=1B
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
 | 
			
		||||
;Channel0.satellite=20
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
;Channel1.signal=1B
 | 
			
		||||
;Channel1.satellite=12
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 2 CONFIG ############
 | 
			
		||||
;Channel2.signal=1B
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
 | 
			
		||||
;Channel2.satellite=11
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 3 CONFIG ############
 | 
			
		||||
;Channel3.signal=1B
 | 
			
		||||
;Channel3.satellite=19
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_min=-10000
 | 
			
		||||
;#doppler_step Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#maximum dwells
 | 
			
		||||
Acquisition_1C.max_dwells=5
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=20.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
@@ -225,9 +116,7 @@ TelemetryDecoder_1C.dump=false
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -237,20 +126,12 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1 ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=500
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# RINEX, KML, and NMEA output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=true;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Configuration file for using USRP X300 as a RF front-end for GPS L1 signals.
 | 
			
		||||
; Set SignalSource.device_address to the IP address of your device
 | 
			
		||||
; and run:
 | 
			
		||||
@@ -26,154 +29,66 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
; # implementation:
 | 
			
		||||
SignalSource.implementation=UHD_Signal_Source
 | 
			
		||||
; # When left empty, the device discovery routines will search all vailable transports on the system (ethernet, usb...)
 | 
			
		||||
SignalSource.device_address=192.168.40.2 ; <- PUT THE IP ADDRESS OF YOUR USRP HERE
 | 
			
		||||
; # item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
;SignalSource.item_type=gr_complex
 | 
			
		||||
SignalSource.item_type=cshort
 | 
			
		||||
; # sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
; # freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource.freq=1575420000
 | 
			
		||||
; # gain: Front-end Gain in [dB]
 | 
			
		||||
SignalSource.gain=40
 | 
			
		||||
; # subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
 | 
			
		||||
SignalSource.subdevice=A:0
 | 
			
		||||
; # samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
; # repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
; # dump: Dump the Signal source data to a file.
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
;SignalConditioner.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter.item_type=cshort
 | 
			
		||||
;DataTypeAdapter.item_type=cbyte
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=cshort
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=11
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.48
 | 
			
		||||
InputFilter.band2_begin=0.52
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resampled data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
;#system: GPS, GLONASS, GALILEO, SBAS or COMPASS
 | 
			
		||||
;#if the option is disabled by default is assigned GPS
 | 
			
		||||
;Channel.system=GPS
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
 | 
			
		||||
;Channel0.signal=1C
 | 
			
		||||
;Channel1.signal=1C
 | 
			
		||||
@@ -188,68 +103,28 @@ Channel.signal=1C
 | 
			
		||||
;Channel10.signal=1C
 | 
			
		||||
;Channel11.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel0.system=GPS
 | 
			
		||||
;Channel0.signal=1C
 | 
			
		||||
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
 | 
			
		||||
;Channel0.satellite=11
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel1.system=GPS
 | 
			
		||||
;Channel1.signal=1C
 | 
			
		||||
;Channel1.satellite=18
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.01
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.00001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=8000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition] (should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=30.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -259,35 +134,23 @@ TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Configuration file for using USRP 1 as a RF front-end for GPS L1 signals.
 | 
			
		||||
; Run:
 | 
			
		||||
; gnss-sdr --config_file=/path/to/gnss-sdr_GPS_L1_USRP_realtime.conf
 | 
			
		||||
@@ -25,145 +28,27 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=UHD_Signal_Source
 | 
			
		||||
;#When left empty, the device discovery routines will search all available transports on the system (ethernet, usb...)
 | 
			
		||||
;SignalSource.device_address=192.168.40.2 ; <- PUT THE IP ADDRESS OF YOUR USRP HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=2000000
 | 
			
		||||
;#freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource.freq=1575420000
 | 
			
		||||
;#gain: Front-end Gain in [dB]
 | 
			
		||||
SignalSource.gain=60
 | 
			
		||||
;#subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
 | 
			
		||||
SignalSource.subdevice=A:0
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file.
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
SignalConditioner.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data. Please disable it in this version.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=2000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=8000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=2000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=6
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -175,86 +60,42 @@ Channels.in_acquisition=1
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel0.system=GPS
 | 
			
		||||
;Channel0.signal=1C
 | 
			
		||||
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
 | 
			
		||||
;Channel0.satellite=11
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel1.system=GPS
 | 
			
		||||
;Channel1.signal=1C
 | 
			
		||||
;Channel1.satellite=18
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.01
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition] (should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=30.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -264,21 +105,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -12,233 +14,87 @@ GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: Use [Ishort_To_Complex] or [Pass_Through]
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
DataTypeAdapter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
;InputFilter.band1_end=0.8
 | 
			
		||||
InputFilter.band1_end=0.85
 | 
			
		||||
InputFilter.band2_begin=0.90
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available satellite channels.
 | 
			
		||||
Channels_1C.count=5
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
Channel0.signal=1C
 | 
			
		||||
Channel0.satellite=1
 | 
			
		||||
Channel0.repeat_satellite=false
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
Channel1.signal=1C
 | 
			
		||||
Channel1.satellite=11
 | 
			
		||||
Channel1.repeat_satellite=false
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 2 CONFIG ############
 | 
			
		||||
Channel2.signal=1C
 | 
			
		||||
Channel2.satellite=17
 | 
			
		||||
Channel2.repeat_satellite=false
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 3 CONFIG ############
 | 
			
		||||
Channel3.signal=1C
 | 
			
		||||
Channel3.satellite=20
 | 
			
		||||
Channel3.repeat_satellite=false
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 4 CONFIG ############
 | 
			
		||||
Channel4.signal=1C
 | 
			
		||||
Channel4.satellite=32
 | 
			
		||||
Channel4.repeat_satellite=false
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############_1C
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_QuickSync_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent-integration_time_ms=4
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=true
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
;Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION CHANNELS CONFIG ######
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_QuickSync_Acquisition
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=0.4
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#repeat_satellite: Use only jointly with the satellte PRN ID option.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=50.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A.
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1 ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
 | 
			
		||||
PVT.flag_nmea_tty_port=true
 | 
			
		||||
@@ -246,7 +102,5 @@ PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -17,8 +20,7 @@ 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.osmosdr_args=bladerf=0  ; This line enables the bladeRF
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=./signal_source.dat
 | 
			
		||||
@@ -63,11 +65,9 @@ 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.coherent_integration_time_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
 | 
			
		||||
@@ -76,7 +76,6 @@ 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;
 | 
			
		||||
@@ -89,7 +88,6 @@ 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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -5,9 +8,6 @@
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [Sps].
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
GNSS-SDR.internal_fs_sps=2000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -73,10 +73,6 @@ InputFilter.sampling_frequency=2000000
 | 
			
		||||
InputFilter.IF=0; IF deviation due to front-end LO inaccuracies [Hz]
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;# DISABLED IN THE RTL-SDR REALTIME
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
@@ -88,12 +84,10 @@ 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.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.015
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_min=-10000
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
Acquisition_1C.max_dwells=15
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
@@ -103,7 +97,6 @@ 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.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
@@ -115,7 +108,6 @@ Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
TelemetryDecoder_1C.decimation_factor=1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,23 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
 | 
			
		||||
GNSS-SDR.internal_fs_sps=2600000
 | 
			
		||||
GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
SignalSource.filename=/home/javier/gnss/gnss-simulator/build/signal_out.bin ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.item_type=byte
 | 
			
		||||
SignalSource.sampling_frequency=2600000
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
SignalSource.freq=1575420000
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
@@ -22,12 +26,8 @@ SignalSource.enable_throttle_control=false
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ibyte_To_Complex
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
DataTypeAdapter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
@@ -47,9 +47,8 @@ Channel.signal=1C
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.05
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.008
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
@@ -60,9 +59,10 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
Tracking_1C.pll_bw_hz=25.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=1.0;
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
Tracking_1C.dump_filename=epl_tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_c
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -33,8 +36,7 @@ Channel.signal=1C
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
@@ -46,7 +48,6 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking_GPU
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -13,7 +16,7 @@ ControlThread.wait_for_flowgraph=false
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
SignalSource.filename=/archive/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ;/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.filename=/archive/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
@@ -26,18 +29,12 @@ SignalSource.enable_throttle_control=false
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Cshort
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
;InputFilter.input_item_type=gr_complex
 | 
			
		||||
;InputFilter.output_item_type=gr_complex
 | 
			
		||||
InputFilter.item_type=cshort
 | 
			
		||||
;Resampler.implementation=Pass_Through
 | 
			
		||||
;Resampler.item_type=gr_complex
 | 
			
		||||
Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
Resampler.sample_freq_out=2000000
 | 
			
		||||
;Resampler.item_type=gr_complex
 | 
			
		||||
Resampler.item_type=cshort
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
@@ -49,39 +46,33 @@ Channel.signal=1C
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=cshort
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.008
 | 
			
		||||
;Acquisition_1C.pfa=0.000001
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
Acquisition_1C.tong_init_val=2
 | 
			
		||||
Acquisition_1C.tong_max_val=10
 | 
			
		||||
Acquisition_1C.tong_max_dwells=20
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
Acquisition_1C.blocking=false;
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
Tracking_1C.item_type=cshort
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
Tracking_1C.dump=false;
 | 
			
		||||
Tracking_1C.dump_filename=./epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
TelemetryDecoder_1C.decimation_factor=1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
Observables.dump=true
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Sample configuration file for IFEN SX-NSR software receiver front-end
 | 
			
		||||
; http://www.ifen.com/products/sx-scientific-gnss-solutions/nsr-software-receiver.html
 | 
			
		||||
; This sample configuration is able to process directly .sream binary files
 | 
			
		||||
@@ -80,18 +83,15 @@ Resampler.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=0
 | 
			
		||||
Channels_2S.count=8
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
#Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.scoherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0075
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
@@ -101,7 +101,6 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.coherent_integration_time_ms=20
 | 
			
		||||
Acquisition_2S.threshold=0.00045
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -115,7 +114,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GPS 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=45.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
@@ -125,7 +123,6 @@ Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=1.5;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.4;
 | 
			
		||||
Tracking_2S.order=2;
 | 
			
		||||
@@ -143,11 +140,8 @@ TelemetryDecoder_2S.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Sample configuration file for IFEN SX-NSR software receiver front-end
 | 
			
		||||
; http://www.ifen.com/products/sx-scientific-gnss-solutions/nsr-software-receiver.html
 | 
			
		||||
; This sample configuration is able to process directly .sream binary files
 | 
			
		||||
@@ -94,7 +97,6 @@ Resampler.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,51 +27,26 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/home/javier/signals/signal_source_int.dat
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=2000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file. Disable this option in this version
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=dump.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
InputFilter.implementation=Pulse_Blanking_Filter
 | 
			
		||||
 | 
			
		||||
InputFilter.Pfa=0.001
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
@@ -81,12 +58,8 @@ Channel.signal=1C
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
 | 
			
		||||
;#notice that this affects the Acquisition threshold range!
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=20
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
@@ -97,27 +70,15 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;# Extended correlation after telemetry bit synchronization
 | 
			
		||||
;# Valid values are: [1,2,4,5,10,20] (integer divisors of the GPS L1 CA bit period (20 ms) )
 | 
			
		||||
;# Longer integration period require more stable front-end LO
 | 
			
		||||
Tracking_1C.extend_correlation_ms=10
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=35;
 | 
			
		||||
Tracking_1C.pll_bw_narrow_hz=30;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.dll_bw_narrow_hz=1.5;
 | 
			
		||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.fll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -29,119 +31,48 @@ GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=RtlTcp_Signal_Source
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
SignalSource.sampling_frequency=1200000
 | 
			
		||||
;#freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource.freq=1575420000
 | 
			
		||||
;#gain: Front-end overall gain Gain in [dB]
 | 
			
		||||
SignalSource.gain=40
 | 
			
		||||
;#rf_gain: Front-end RF stage gain in [dB]
 | 
			
		||||
SignalSource.rf_gain=40
 | 
			
		||||
;#rf_gain: Front-end IF stage gain in [dB]
 | 
			
		||||
SignalSource.if_gain=30
 | 
			
		||||
;#AGC_enabled: Front-end AGC enabled or disabled
 | 
			
		||||
SignalSource.AGC_enabled = false
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file. Disable this option in this version
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
;#Address of the rtl_tcp server (IPv6 allowed)
 | 
			
		||||
SignalSource.address=127.0.0.1
 | 
			
		||||
 | 
			
		||||
;#Port of the rtl_tcp server
 | 
			
		||||
SignalSource.port=1234
 | 
			
		||||
 | 
			
		||||
;# Set to true if I/Q samples come swapped
 | 
			
		||||
SignalSource.swap_iq=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
@@ -149,22 +80,15 @@ InputFilter.grid_density=16
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter.sampling_frequency=1200000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter.IF=80558
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;# DISABLED IN THE RTL-SDR REALTIME
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=4
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
@@ -172,52 +96,30 @@ Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms	=1
 | 
			
		||||
Acquisition_1C.threshold=0.015
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_min=-10000
 | 
			
		||||
;#doppler_step Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#maximum dwells
 | 
			
		||||
Acquisition_1C.max_dwells=15
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
@@ -225,9 +127,7 @@ TelemetryDecoder_1C.dump=false
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -237,21 +137,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -88,10 +91,6 @@ InputFilter.sampling_frequency=1999898
 | 
			
		||||
InputFilter.IF=80558 ; IF deviation due to front-end LO inaccuracies [Hz]
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;# DISABLED IN THE RTL-SDR REALTIME
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
@@ -103,8 +102,7 @@ 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.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.015
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
@@ -118,7 +116,6 @@ 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.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
@@ -139,7 +136,6 @@ Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
 | 
			
		||||
PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -84,8 +87,7 @@ Channel.signal=1C
 | 
			
		||||
;######### GPS ACQUISITION 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.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.007
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
@@ -99,7 +101,6 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GPS 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=1.5;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,11 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Configuration file for using USRP1 as a RF front-end for GPS L2C signals
 | 
			
		||||
; Run:
 | 
			
		||||
; gnss-sdr --config_file=/path/to/gnss-sdr_GPS_L2C_USRP1_realtime.conf
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
@@ -46,81 +50,29 @@ DataTypeAdapter.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=20000000
 | 
			
		||||
 | 
			
		||||
InputFilter.IF=-1600000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter.decimation_factor=1
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
@@ -133,9 +85,7 @@ Resampler.sample_freq_out=2000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_2S.count=1
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
Channel.signal=2S
 | 
			
		||||
@@ -155,14 +105,11 @@ Channel7.signal=2S
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.0013
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=10000
 | 
			
		||||
Acquisition_2S.doppler_min=-10000
 | 
			
		||||
Acquisition_2S.doppler_step=100
 | 
			
		||||
Acquisition_2S.max_dwells=1
 | 
			
		||||
Acquisition_2S.dump=false
 | 
			
		||||
@@ -172,7 +119,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=1.5;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.3;
 | 
			
		||||
Tracking_2S.order=3;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; Configuration file for using USRP X300 as a RF front-end for GPS L2C signals
 | 
			
		||||
; Set SignalSource.device_address to the IP address of your device
 | 
			
		||||
; and run:
 | 
			
		||||
@@ -87,9 +90,7 @@ Resampler.sample_freq_out=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_2S.count=1
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
Channel.signal=2S
 | 
			
		||||
@@ -112,7 +113,6 @@ Channel7.signal=2S
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.0015
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -125,7 +125,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.25;
 | 
			
		||||
Tracking_2S.order=2;
 | 
			
		||||
 
 | 
			
		||||
@@ -38,8 +38,7 @@ Channel.signal=1B
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=1
 | 
			
		||||
Acquisition_1B.pfa=0.000008
 | 
			
		||||
Acquisition_1B.doppler_max=6000
 | 
			
		||||
@@ -52,7 +51,6 @@ Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
Tracking_1B.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -10,259 +13,86 @@ GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
;#Use gr_complex for 32 bits float I/Q or ishort for I/Q interleaved short integer.
 | 
			
		||||
;#If ishort is selected you should have to instantiate the Ishort_To_Complex data_type_adapter.
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: Use [Ishort_To_Complex] or [Pass_Through]
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
DataTypeAdapter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
#used for gps
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
;InputFilter.band1_end=0.8
 | 
			
		||||
InputFilter.band1_end=0.85
 | 
			
		||||
InputFilter.band2_begin=0.90
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
#used for galileo
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
;InputFilter.band1_end=0.8
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available satellite channels.
 | 
			
		||||
Channels_1B.count=4
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
Channel.signal=1B
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_QuickSync_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.threshold=0.05
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms];
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=8
 | 
			
		||||
Acquisition_1B.cboc=false
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=20.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A or [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump, ".kml" and ".geojson" to GIS-friendly formats.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
 | 
			
		||||
;#flag_nmea_tty_port: Enables or disables the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=true;
 | 
			
		||||
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
 | 
			
		||||
;#flag_rtcm_server: Enables or disables a TCP/IP server transmitting RTCM 3.2 messages (accepts multiple clients, port 2101 by default)
 | 
			
		||||
PVT.flag_rtcm_server=false;
 | 
			
		||||
 | 
			
		||||
;#flag_rtcm_tty_port: Enables or disables the RTCM log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_rtcm_tty_port=false;
 | 
			
		||||
 | 
			
		||||
;#rtcm_dump_devname: serial device descriptor for RTCM logging
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -11,190 +14,65 @@ GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
SignalSource.enable_throttle_control=true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation:
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of GNU Radio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resampled data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=8
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
Channel.signal=1B
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.pfa=0.00001
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#cboc: Only for [Galileo_E1_PCPS_Ambiguous_Acquisition]. This option allows you to choose between acquiring with CBOC signal [true] or sinboc(1,1) signal [false].
 | 
			
		||||
;#Use only if GNSS-SDR.internal_fs_sps is greater than or equal to 6138000
 | 
			
		||||
Acquisition_1B.cboc=false
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION CHANNELS CONFIG ######
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION CH 0 CONFIG ############
 | 
			
		||||
;#repeat_satellite: Use only jointly with the satellite PRN ID option. The default value is false
 | 
			
		||||
;Acquisition_1B0.repeat_satellite = true
 | 
			
		||||
;Acquisition_1B1.repeat_satellite = true
 | 
			
		||||
;Acquisition_1B2.repeat_satellite = true
 | 
			
		||||
;Acquisition_1B3.repeat_satellite = true
 | 
			
		||||
Acquisition_1B.blocking=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.fll_bw_hz=10.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.dump=true
 | 
			
		||||
Tracking_1B.dump_filename=./veml_tracking_ch_
 | 
			
		||||
Tracking_1B.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_1B.dll_bw_hz=3.0;
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
Tracking_1B.track_pilot=true
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -205,39 +83,25 @@ TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enables or disables the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=true
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
;#flag_rtcm_server: Enables or disables a TCP/IP server transmitting RTCM 3.2 messages (accepts multiple clients, port 2101 by default)
 | 
			
		||||
PVT.flag_rtcm_server=true;
 | 
			
		||||
PVT.rtcm_tcp_port=2101
 | 
			
		||||
PVT.rtcm_MT1045_rate_ms=5000
 | 
			
		||||
PVT.rtcm_MSM_rate_ms=1000
 | 
			
		||||
;#flag_rtcm_tty_port: Enables or disables the RTCM log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_rtcm_tty_port=false;
 | 
			
		||||
;#rtcm_dump_devname: serial device descriptor for RTCM logging
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump, ".kml" and ".geojson" to GIS-friendly formats.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -21,15 +24,10 @@ SignalSource.samples=0 ; 0 means the entire file
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
@@ -78,8 +76,7 @@ Channel.signal=1B
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
Acquisition_1B.pfa=0.0000008
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
@@ -91,7 +88,6 @@ Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
Tracking_1B.pll_bw_hz=20.0;
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,159 +24,33 @@ GNSS-SDR.internal_fs_sps=32000000
 | 
			
		||||
;GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/ifen/32MS_complex.dat  ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=32000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
SignalConditioner.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation:
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=32000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=8000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available satellite channels.
 | 
			
		||||
Channels_5X.count=1
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
;#system: GPS, GLONASS, Galileo, SBAS or Compass
 | 
			
		||||
;#if the option is disabled by default is assigned GPS
 | 
			
		||||
Channel.signal=5X
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
;Channel0.signal=5X
 | 
			
		||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
 | 
			
		||||
;Channel0.satellite=19
 | 
			
		||||
;Channel0.repeat_satellite=true
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel1.system=Galileo
 | 
			
		||||
;Channel1.signal=5Q
 | 
			
		||||
;Channel1.satellite=12
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 2 CONFIG ############
 | 
			
		||||
 | 
			
		||||
;Channel2.system=Galileo
 | 
			
		||||
;Channel2.signal=5Q
 | 
			
		||||
;Channel2.satellite=11
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 3 CONFIG ############
 | 
			
		||||
@@ -188,97 +61,56 @@ Channel.signal=5X
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_5X.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_5X.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_5X.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_5X.threshold=0.001
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_5X.pfa=0.0003
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_5X.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_5X.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition] (should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_5X.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_5X.max_dwells=1
 | 
			
		||||
;#CAF filter: **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
 | 
			
		||||
Acquisition_5X.CAF_window_hz=0
 | 
			
		||||
;#Zero_padding: **Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions.
 | 
			
		||||
;#If set to 1 it is ON, if set to 0 it is OFF.
 | 
			
		||||
Acquisition_5X.Zero_padding=0
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_5X.dump=true
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_5X.dump=false
 | 
			
		||||
Acquisition_5X.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_5X.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_5X.if=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 during initialization [Hz]
 | 
			
		||||
Tracking_5X.pll_bw_hz=20.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]
 | 
			
		||||
Tracking_5X.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_5X.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_5X.dump=false
 | 
			
		||||
Tracking_5X.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_5X.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=true;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -74,7 +73,7 @@ Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
Channels_5X.count=1
 | 
			
		||||
Channels_5X.count=8
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
Channel.signal=5X
 | 
			
		||||
 | 
			
		||||
@@ -83,7 +82,7 @@ Channel.signal=5X
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 0 CONFIG ############
 | 
			
		||||
Channel0.signal=5X
 | 
			
		||||
Channel0.satellite=19
 | 
			
		||||
;Channel0.satellite=19
 | 
			
		||||
;Channel0.repeat_satellite=true
 | 
			
		||||
 | 
			
		||||
;######### CHANNEL 1 CONFIG ############
 | 
			
		||||
@@ -101,7 +100,6 @@ Channel3.signal=5X
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
 | 
			
		||||
Acquisition_5X.item_type=gr_complex
 | 
			
		||||
Acquisition_5X.if=0
 | 
			
		||||
Acquisition_5X.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_5X.threshold=0.002
 | 
			
		||||
Acquisition_5X.doppler_max=10000
 | 
			
		||||
@@ -117,10 +115,8 @@ Acquisition_5X.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
 | 
			
		||||
Tracking_5X.item_type=gr_complex
 | 
			
		||||
Tracking_5X.if=0
 | 
			
		||||
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;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -12,129 +14,40 @@ GNSS-SDR.internal_fs_sps=20000000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/Fraunhofer/L125_III1b_210s_L1.bin     ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples..
 | 
			
		||||
SignalSource.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=20000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ibyte_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples..
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=20000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler.sample_freq_in=20000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=20000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=8
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -158,123 +71,75 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0060
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000008
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -7,139 +9,48 @@
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=2048000
 | 
			
		||||
GNSS-SDR.internal_fs_sps=2600000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
;#SignalSource.filename=/home/javier/Descargas/rtlsdr_tcxo_l1/rtlsdr_tcxo_l1.bin      ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.filename=/Users/carlesfernandez/git/cttc/build/signal_out.bin      ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file.
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data. Please disable it in this version.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ibyte_To_Complex
 | 
			
		||||
DataTypeAdapter.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=2600000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
Resampler.item_type = gr_complex;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=11
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel1.signal=1C
 | 
			
		||||
Channel2.signal=1C
 | 
			
		||||
Channel3.signal=1C
 | 
			
		||||
@@ -159,109 +70,63 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
 | 
			
		||||
;#notice that this affects the Acquisition threshold range!
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=15
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=6000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=100
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000008
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=20.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=1.5;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -270,14 +135,10 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -10,135 +12,24 @@
 | 
			
		||||
GNSS-SDR.internal_fs_sps=4092000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/sim/GPS_sim1.dat      ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4092000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter.sampling_frequency=4092000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=1
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel0.signal=1C
 | 
			
		||||
Channel1.signal=1B
 | 
			
		||||
@@ -160,134 +51,80 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=30
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=100
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;# Extended correlation after telemetry bit synchronization
 | 
			
		||||
;# Valid values are: [1,2,4,5,10,20] (integer divisors of the GPS L1 CA bit period (20 ms) )
 | 
			
		||||
;# Longer integration period require more stable front-end LO
 | 
			
		||||
Tracking_1C.extend_correlation_ms=10
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40;
 | 
			
		||||
Tracking_1C.pll_bw_narrow_hz=25;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.dll_bw_narrow_hz=2.0;
 | 
			
		||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.fll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.fll_bw_hz=10.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=10;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -28,133 +30,36 @@ GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ishort_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;InputFilter.implementation=Fir_Filter
 | 
			
		||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.sampling_frequency=4000000
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler.item_type=gr_complex
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signalq
 | 
			
		||||
Resampler.sample_freq_in=4000000
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler.sample_freq_out=4000000
 | 
			
		||||
;#dump: Dump the resamplered data to a file.
 | 
			
		||||
Resampler.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=0
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=5
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -174,120 +79,73 @@ Channel7.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0075
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#implementation: Acquisition algorithm selection for this channel:
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000008; 0.0000008
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
Acquisition_1B.cboc=false;
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=50.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=5.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=20.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
@@ -297,7 +155,5 @@ PVT.rtcm_MT1045_rate_ms=5000 ; Period (in ms) of Galileo ephemeris messages. 0 m
 | 
			
		||||
PVT.rtcm_MT1045_rate_ms=5000 ; Period (in ms) of GPS ephemeris messages. 0 mutes this message
 | 
			
		||||
PVT.rtcm_MT1097_rate_ms=1000 ; Period (in ms) of Galileo observables. 0 mutes this message
 | 
			
		||||
PVT.rtcm_MT1077_rate_ms=1000 ; Period (in ms) of GPS observables. 0 mutes this message
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -7,136 +9,60 @@
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=6826700
 | 
			
		||||
GNSS-SDR.internal_fs_sps=2560000
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=4096000
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=5120000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Nsr_File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/media/javier/SISTEMA/signals/ifen/E1L1_FE0_Band0.stream       ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=20480000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file.
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter.item_type=float
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=float
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter.sampling_frequency=20480000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -168,103 +94,59 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0075
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;# Extended correlation after telemetry bit synchronization
 | 
			
		||||
;# Valid values are: [1,2,4,5,10,20] (integer divisors of the GPS L1 CA bit period (20 ms) )
 | 
			
		||||
;# Longer integration period require more stable front-end LO
 | 
			
		||||
Tracking_1C.extend_correlation_ms=1
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40;
 | 
			
		||||
Tracking_1C.pll_bw_narrow_hz=20;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.dll_bw_narrow_hz=1.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
@@ -272,9 +154,7 @@ TelemetryDecoder_1B.dump=false
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -283,14 +163,10 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=10;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -11,62 +13,34 @@ GNSS-SDR.internal_fs_sps=20000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource.filename=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s_L1.bin ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=20000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Ibyte_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
InputFilter.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
 | 
			
		||||
;Resampler.implementation=Direct_Resampler
 | 
			
		||||
Resampler.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=0
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=1
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels_1B.count=8
 | 
			
		||||
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel1.signal=1B
 | 
			
		||||
Channel2.signal=1B
 | 
			
		||||
Channel3.signal=1B
 | 
			
		||||
@@ -86,132 +60,83 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.scoherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=18
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
Acquisition_1B.acquire_pilot=true
 | 
			
		||||
Acquisition_1B.use_CFAR_algorithm=false
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.threshold=21
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
Acquisition_1B.bit_transition_flag=true
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=30.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
Tracking_1B.track_pilot=true
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=4.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=0.5;
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_narrow_hz=2.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_narrow_hz=0.25;
 | 
			
		||||
Tracking_1B.extend_correlation_symbols=4;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_narrow_chips=0.06;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_narrow_chips=0.25;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -6,11 +8,9 @@
 | 
			
		||||
[GNSS-SDR]
 | 
			
		||||
 | 
			
		||||
;######### GLOBAL OPTIONS ##################
 | 
			
		||||
;internal_fs_hz: Internal signal sampling frequency after the signal conditioning stage [Hz].
 | 
			
		||||
GNSS-SDR.internal_fs_sps=5456000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Labsat_Signal_Source
 | 
			
		||||
SignalSource.selected_channel=1
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
@@ -18,121 +18,58 @@ SignalSource.selected_channel=1
 | 
			
		||||
;# the adapter adds "_0000.LS3" to this base path and filename. Next file will be "_0001.LS3" and so on
 | 
			
		||||
;# in this example, the first file complete path will be ../signals/GPS_025_0000.LS3
 | 
			
		||||
SignalSource.filename=../signals/GPS_025    ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource.sampling_frequency=16368000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource.samples=0
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
;#dump: Dump the Signal source data to a file.
 | 
			
		||||
SignalSource.dump=false
 | 
			
		||||
SignalSource.dump_filename=../data/signal_source.dat
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.band1_begin=0.0
 | 
			
		||||
InputFilter.band1_end=0.45
 | 
			
		||||
InputFilter.band2_begin=0.55
 | 
			
		||||
InputFilter.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter.ampl1_begin=1.0
 | 
			
		||||
InputFilter.ampl1_end=1.0
 | 
			
		||||
InputFilter.ampl2_begin=0.0
 | 
			
		||||
InputFilter.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter.band1_error=1.0
 | 
			
		||||
InputFilter.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter.sampling_frequency=16368000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter.decimation_factor=3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=0
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=6
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel0.signal=1B
 | 
			
		||||
Channel1.signal=1B
 | 
			
		||||
Channel2.signal=1B
 | 
			
		||||
@@ -153,130 +90,80 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.threshold=22
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
Acquisition_1B.acquire_pilot=true
 | 
			
		||||
Acquisition_1B.use_CFAR_algorithm=false
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.threshold=22
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
Acquisition_1B.bit_transition_flag=true
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
Tracking_1B.track_pilot=true
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=7.5;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=0.5;
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_narrow_hz=2.5;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_narrow_hz=0.25;
 | 
			
		||||
Tracking_1B.extend_correlation_symbols=4;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_narrow_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_narrow_chips=0.30;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -24,27 +26,20 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
SignalSource.flag_read_file=true
 | 
			
		||||
SignalSource.signal_file=/datalogger/signals/Fraunhofer/L125_III1b_210s.usb  ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -52,88 +47,34 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=0;
 | 
			
		||||
;#-205000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -142,25 +83,15 @@ DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -169,28 +100,17 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;# CHANNEL CONNECTION
 | 
			
		||||
@@ -204,77 +124,46 @@ Channel6.RF_channel_ID=0
 | 
			
		||||
Channel7.RF_channel_ID=0
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.use_CFAR_algorithm=false;
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=15
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
Tracking_1C.extend_correlation_ms=10
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
Tracking_1C.pll_bw_narrow_hz=35;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.dll_bw_narrow_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -283,22 +172,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,31 +27,18 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1a.bit
 | 
			
		||||
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -57,87 +46,34 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=-205000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -146,25 +82,15 @@ DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -173,37 +99,19 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "1G" GLONASS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
 | 
			
		||||
;# CHANNEL CONNECTION
 | 
			
		||||
Channel0.RF_channel_ID=0
 | 
			
		||||
@@ -227,69 +135,39 @@ Channel6.signal=1C
 | 
			
		||||
Channel7.signal=1C
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.012
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=3.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -298,21 +176,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,13 +27,9 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
@@ -39,11 +37,9 @@ SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -51,87 +47,33 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=-205000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -140,25 +82,15 @@ DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -167,36 +99,18 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "1G" GLONASS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
 | 
			
		||||
;# CHANNEL CONNECTION
 | 
			
		||||
Channel0.RF_channel_ID=0
 | 
			
		||||
@@ -222,63 +136,37 @@ Channel7.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.012
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=3.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -287,21 +175,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,25 +27,18 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_II-3b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -51,85 +46,34 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
InputFilter0.sampling_frequency=40000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=-205000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=16
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -138,25 +82,15 @@ DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -165,28 +99,17 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -208,7 +131,6 @@ Channel6.RF_channel_ID=0
 | 
			
		||||
Channel7.RF_channel_ID=0
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel0.signal=1C
 | 
			
		||||
Channel1.signal=1C
 | 
			
		||||
Channel2.signal=1C
 | 
			
		||||
@@ -219,91 +141,54 @@ Channel6.signal=1C
 | 
			
		||||
Channel7.signal=1C
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.012
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=3.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,25 +27,18 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_I-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -51,87 +46,34 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=40000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=-205000
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -140,25 +82,15 @@ DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -167,38 +99,19 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=4
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "1G" GLONASS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
 | 
			
		||||
;# CHANNEL CONNECTION
 | 
			
		||||
Channel0.RF_channel_ID=0
 | 
			
		||||
Channel1.RF_channel_ID=0
 | 
			
		||||
@@ -210,7 +123,6 @@ Channel3.RF_channel_ID=0
 | 
			
		||||
;Channel7.RF_channel_ID=0
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel0.signal=1C
 | 
			
		||||
Channel1.signal=1C
 | 
			
		||||
Channel2.signal=1C
 | 
			
		||||
@@ -219,63 +131,37 @@ Channel3.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.011
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=3.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -284,20 +170,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,21 +27,15 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=2
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -47,7 +43,6 @@ SignalSource.usb_packet_buffer=128
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -55,85 +50,31 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
;# WARNING: Fraunhofer front-end hardwareconfigurations can difer. Signals available on http://www.iis.fraunhofer.de/de/ff/lok/leist/test/flexiband.html are centered on 0 Hz, ALL BANDS.
 | 
			
		||||
InputFilter0.IF=-205000
 | 
			
		||||
;#InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -141,7 +82,6 @@ Resampler0.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -149,90 +89,35 @@ DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter1.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
;# WARNING: Fraunhofer front-end hardwareconfigurations can difer. Signals available on http://www.iis.fraunhofer.de/de/ff/lok/leist/test/flexiband.html are centered on 0 Hz, ALL BANDS.
 | 
			
		||||
InputFilter1.IF=100000
 | 
			
		||||
;#InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -241,30 +126,17 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
Channels_2S.count=8
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
;Channels_Galileo.count=0
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -351,40 +223,23 @@ Channel15.RF_channel_ID=1
 | 
			
		||||
Channel15.signal=2S
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.008
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
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=3.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
@@ -396,7 +251,6 @@ Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.0005
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -408,7 +262,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=1.5;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.3;
 | 
			
		||||
Tracking_2S.order=3;
 | 
			
		||||
@@ -418,22 +271,18 @@ Tracking_2S.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS L1 CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS L2 CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
 | 
			
		||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_2S.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -442,25 +291,14 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#averaging_depth: Number of PVT observations in the moving average algorithm
 | 
			
		||||
PVT.averaging_depth=10
 | 
			
		||||
;#flag_average: Enables the PVT averaging between output intervals (arithmetic mean) [true] or [false]
 | 
			
		||||
PVT.flag_averaging=true
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,30 +27,17 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
 | 
			
		||||
SignalSource.flag_read_file=true
 | 
			
		||||
SignalSource.signal_file=/datalogger/signals/Fraunhofer/L125_III1b_210s.usb    ; <- PUT YOUR FILE HERE
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=2
 | 
			
		||||
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -56,7 +45,6 @@ SignalSource.usb_packet_buffer=128
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -64,85 +52,31 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
;# WARNING: Fraunhofer front-end hardwareconfigurations can difer. Signals available on http://www.iis.fraunhofer.de/de/ff/lok/leist/test/flexiband.html are centered on 0 Hz, ALL BANDS.
 | 
			
		||||
;#InputFilter0.IF=-205000
 | 
			
		||||
InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -150,7 +84,6 @@ Resampler0.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -158,90 +91,35 @@ DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter1.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
;# WARNING: Fraunhofer front-end hardware configurations can differ. Signals available at http://www.iis.fraunhofer.de/de/ff/lok/leist/test/flexiband.html are centered on 0 Hz, ALL BANDS.
 | 
			
		||||
;#InputFilter1.IF=100000
 | 
			
		||||
InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency translating block
 | 
			
		||||
InputFilter1.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -250,30 +128,19 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############.
 | 
			
		||||
Channels_1C.count=2
 | 
			
		||||
Channels_1B.count=4
 | 
			
		||||
Channels_2S.count=4
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -304,33 +171,17 @@ Channel14.RF_channel_ID=1
 | 
			
		||||
Channel15.RF_channel_ID=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples..
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.008
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.0001
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=250
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -371,70 +222,44 @@ Tracking_2S.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
;# GALILEO E1B
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000005
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=./veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS L1 CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS L2 CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
 | 
			
		||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_2S.dump=false
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -443,22 +268,14 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=100
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -27,235 +29,59 @@ GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=UHD_Signal_Source
 | 
			
		||||
;#When left empty, the device discovery routines will search all vailable transports on the system (ethernet, usb...)
 | 
			
		||||
SignalSource.device_address=192.168.40.2 ; <- PUT THE IP ADDRESS OF YOUR USRP HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. 
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device (i.e. USRP with two frontends)
 | 
			
		||||
SignalSource.RF_channels=2
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
 | 
			
		||||
SignalSource.sampling_frequency=4000000
 | 
			
		||||
;#subdevice: UHD subdevice specification (for USRP dual frontend use A:0 or B:0 or A:0 B:0)
 | 
			
		||||
SignalSource.subdevice=A:0 B:0
 | 
			
		||||
 | 
			
		||||
;######### RF Channels specific settings ######
 | 
			
		||||
 | 
			
		||||
;## RF CHANNEL 0 ##
 | 
			
		||||
;#freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource.freq0=1575420000
 | 
			
		||||
 | 
			
		||||
;#gain: Front-end Gain in [dB]
 | 
			
		||||
SignalSource.gain0=50
 | 
			
		||||
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
 | 
			
		||||
SignalSource.samples0=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;## RF CHANNEL 1 ##
 | 
			
		||||
;#freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource.freq1=1575420000
 | 
			
		||||
 | 
			
		||||
;#gain: Front-end Gain in [dB]
 | 
			
		||||
SignalSource.gain1=50
 | 
			
		||||
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
 | 
			
		||||
SignalSource.samples1=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter0.sampling_frequency=20480000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter0.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
SignalConditioner1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter1.sampling_frequency=20480000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter1.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter1.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=4
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -274,75 +100,45 @@ Channel3.RF_channel_ID=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
 | 
			
		||||
Channel0.signal=1C
 | 
			
		||||
Channel1.signal=1C
 | 
			
		||||
Channel2.signal=1C
 | 
			
		||||
Channel3.signal=1C
 | 
			
		||||
 | 
			
		||||
;######### SPECIFIC CHANNELS CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GLOBAL CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
 | 
			
		||||
Acquisition_1C.threshold=0.01
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=8000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#bit_transition_flag: Enable or disable a strategy to deal with bit transitions in GPS signals: process two dwells and take
 | 
			
		||||
;#maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisition]
 | 
			
		||||
;#(should not be used for Galileo_E1_PCPS_Ambiguous_Acquisition])
 | 
			
		||||
Acquisition_1C.bit_transition_flag=false
 | 
			
		||||
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
 | 
			
		||||
Acquisition_1C.max_dwells=1
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GLOBAL CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=40.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
 | 
			
		||||
Tracking_1C.early_late_space_chips=0.5;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -351,21 +147,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=true
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,23 +27,17 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
SignalSource.flag_read_file=true
 | 
			
		||||
SignalSource.signal_file=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s.usb   ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=1
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -49,7 +45,6 @@ SignalSource.usb_packet_buffer=128
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -57,80 +52,31 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -138,7 +84,6 @@ Resampler0.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -146,81 +91,32 @@ DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
InputFilter1.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -229,7 +125,6 @@ Resampler1.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -237,84 +132,41 @@ DataTypeAdapter2.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
InputFilter2.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples..
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter2.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter2.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter2.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter2.band1_begin=0.0
 | 
			
		||||
InputFilter2.band1_end=0.45
 | 
			
		||||
InputFilter2.band2_begin=0.55
 | 
			
		||||
InputFilter2.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter2.ampl1_begin=1.0
 | 
			
		||||
InputFilter2.ampl1_end=1.0
 | 
			
		||||
InputFilter2.ampl2_begin=0.0
 | 
			
		||||
InputFilter2.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter2.band1_error=1.0
 | 
			
		||||
InputFilter2.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter2.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter2.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
InputFilter2.sampling_frequency=40000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter2.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter2.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=0
 | 
			
		||||
Channels_1B.count=10
 | 
			
		||||
Channels_2S.count=0
 | 
			
		||||
Channels_5X.count=0
 | 
			
		||||
 | 
			
		||||
;#GPS.prns=7,8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -369,13 +221,11 @@ Channel37.RF_channel_ID=2
 | 
			
		||||
Channel38.RF_channel_ID=2
 | 
			
		||||
Channel39.RF_channel_ID=2
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GENERIC CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
;######### ACQUISITION CONFIG ######
 | 
			
		||||
 | 
			
		||||
;# GPS L1 CA
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
@@ -387,30 +237,19 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
;# Galileo E1
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.00074
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -424,7 +263,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
;# GALILEO E5a
 | 
			
		||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
 | 
			
		||||
Acquisition_5X.item_type=gr_complex
 | 
			
		||||
Acquisition_5X.if=0
 | 
			
		||||
Acquisition_5X.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_5X.threshold=0.009
 | 
			
		||||
Acquisition_5X.doppler_max=5000
 | 
			
		||||
@@ -441,7 +279,6 @@ Acquisition_5X.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### GPS L1 C/A GENERIC TRACKING 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=3.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
@@ -452,30 +289,19 @@ Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
;######### GALILEO E1 TRK CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.25;
 | 
			
		||||
Tracking_2S.order=2;
 | 
			
		||||
@@ -487,7 +313,6 @@ Tracking_2S.dump_filename=./tracking_ch_
 | 
			
		||||
;######### GALILEO E5 TRK CONFIG ############
 | 
			
		||||
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]
 | 
			
		||||
@@ -515,9 +340,7 @@ TelemetryDecoder_5X.dump=false
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -526,21 +349,13 @@ PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=100
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=100
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,23 +27,17 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
SignalSource.flag_read_file=true
 | 
			
		||||
SignalSource.signal_file=/home/javier/signals/20140923_20-24-17_L125_roof_210s.usb   ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=2
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -49,7 +45,6 @@ SignalSource.usb_packet_buffer=128
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -57,83 +52,30 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -141,7 +83,6 @@ Resampler0.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
@@ -149,88 +90,35 @@ DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter1.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -239,32 +127,21 @@ DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
InputFilter2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=10
 | 
			
		||||
Channels_2S.count=4
 | 
			
		||||
 | 
			
		||||
;#GPS.prns=7,8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
@@ -301,7 +178,6 @@ Channel19.RF_channel_ID=1
 | 
			
		||||
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
@@ -315,7 +191,6 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.00074
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -330,7 +205,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
;######### GPS L1 C/A GENERIC TRACKING 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=3.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
@@ -342,7 +216,6 @@ Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.25;
 | 
			
		||||
Tracking_2S.order=2;
 | 
			
		||||
@@ -362,29 +235,22 @@ TelemetryDecoder_2S.dump=false
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=true
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=100
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -25,23 +27,17 @@ GNSS-SDR.SUPL_LAC=0x59e2
 | 
			
		||||
GNSS-SDR.SUPL_CI=0x31b0
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource.implementation=Flexiband_Signal_Source
 | 
			
		||||
SignalSource.flag_read_file=true
 | 
			
		||||
SignalSource.signal_file=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s.usb   ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource.signal_file=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s.usb ; <- PUT YOUR FILE HERE
 | 
			
		||||
SignalSource.item_type=gr_complex
 | 
			
		||||
;# FPGA firmware file
 | 
			
		||||
SignalSource.firmware_file=flexiband_III-1b.bit
 | 
			
		||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
 | 
			
		||||
SignalSource.RF_channels=3
 | 
			
		||||
;#frontend channels gain. Not usable yet!
 | 
			
		||||
SignalSource.gain1=0
 | 
			
		||||
SignalSource.gain2=0
 | 
			
		||||
SignalSource.gain3=0
 | 
			
		||||
;#frontend channels AGC
 | 
			
		||||
SignalSource.AGC=true
 | 
			
		||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
 | 
			
		||||
SignalSource.usb_packet_buffer=128
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
@@ -49,7 +45,6 @@ SignalSource.usb_packet_buffer=128
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
@@ -57,177 +52,69 @@ DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse reaponse given a set of band edges,
 | 
			
		||||
;#the desired reaponse on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter0.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
;#InputFilter0.IF=-205000
 | 
			
		||||
InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######################################################
 | 
			
		||||
;######### RF CHANNEL 1 SIGNAL CONDITIONER ############
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter1.sampling_frequency=20000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=4
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -236,7 +123,6 @@ Resampler1.implementation=Pass_Through
 | 
			
		||||
;######################################################
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 2 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
SignalConditioner2.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 2 CONFIG ############
 | 
			
		||||
@@ -244,96 +130,43 @@ DataTypeAdapter2.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter2.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 2 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
InputFilter2.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter2.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter2.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter2.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter2.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter2.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter2.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter2.band1_begin=0.0
 | 
			
		||||
InputFilter2.band1_end=0.45
 | 
			
		||||
InputFilter2.band2_begin=0.55
 | 
			
		||||
InputFilter2.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter2.ampl1_begin=1.0
 | 
			
		||||
InputFilter2.ampl1_end=1.0
 | 
			
		||||
InputFilter2.ampl2_begin=0.0
 | 
			
		||||
InputFilter2.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter2.band1_error=1.0
 | 
			
		||||
InputFilter2.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter2.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter2.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
 | 
			
		||||
; i.e. using front-end-cal as reported here:http://www.cttc.es/publication/turning-a-television-into-a-gnss-receiver/
 | 
			
		||||
InputFilter2.sampling_frequency=40000000
 | 
			
		||||
;# IF deviation due to front-end LO inaccuracies [HZ]
 | 
			
		||||
InputFilter2.IF=0
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter2.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
;######### RESAMPLER CONFIG 2 ############
 | 
			
		||||
Resampler2.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=10
 | 
			
		||||
Channels_1B.count=10
 | 
			
		||||
Channels_2S.count=10
 | 
			
		||||
Channels_5X.count=10
 | 
			
		||||
Channels_5X.count=2
 | 
			
		||||
Channels_L5.count=2
 | 
			
		||||
 | 
			
		||||
;#GPS.prns=7,8
 | 
			
		||||
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "1G" GLONASS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
;Channels.in_acquisition=2
 | 
			
		||||
 | 
			
		||||
;# CHANNEL CONNECTION
 | 
			
		||||
 | 
			
		||||
@@ -377,14 +210,16 @@ Channel36.RF_channel_ID=2
 | 
			
		||||
Channel37.RF_channel_ID=2
 | 
			
		||||
Channel38.RF_channel_ID=2
 | 
			
		||||
Channel39.RF_channel_ID=2
 | 
			
		||||
Channel40.RF_channel_ID=2
 | 
			
		||||
Channel41.RF_channel_ID=2
 | 
			
		||||
Channel42.RF_channel_ID=2
 | 
			
		||||
 | 
			
		||||
;Channel20.satellite=7
 | 
			
		||||
 | 
			
		||||
;######### ACQUISITION GENERIC CONFIG ######
 | 
			
		||||
;#The following options are specific to each channel and overwrite the generic options
 | 
			
		||||
 | 
			
		||||
;# GPS L1 CA
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.005
 | 
			
		||||
Acquisition_1C.doppler_max=5000
 | 
			
		||||
@@ -397,30 +232,18 @@ Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
;# Galileo E1
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=5000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;# GPS L2C M
 | 
			
		||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
 | 
			
		||||
Acquisition_2S.item_type=gr_complex
 | 
			
		||||
Acquisition_2S.if=0
 | 
			
		||||
Acquisition_2S.threshold=0.00074
 | 
			
		||||
;Acquisition_2S.pfa=0.001
 | 
			
		||||
Acquisition_2S.doppler_max=5000
 | 
			
		||||
@@ -434,7 +257,6 @@ Acquisition_2S.dump_filename=./acq_dump.dat
 | 
			
		||||
;# GALILEO E5a
 | 
			
		||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
 | 
			
		||||
Acquisition_5X.item_type=gr_complex
 | 
			
		||||
Acquisition_5X.if=0
 | 
			
		||||
Acquisition_5X.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_5X.threshold=0.009
 | 
			
		||||
Acquisition_5X.doppler_max=5000
 | 
			
		||||
@@ -447,11 +269,23 @@ Acquisition_5X.dump=false
 | 
			
		||||
Acquisition_5X.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;# GPS L5
 | 
			
		||||
Acquisition_L5.implementation=GPS_L5i_PCPS_Acquisition
 | 
			
		||||
Acquisition_L5.item_type=gr_complex
 | 
			
		||||
Acquisition_L5.threshold=0.00074
 | 
			
		||||
;Acquisition_L5.pfa=0.001
 | 
			
		||||
Acquisition_L5.doppler_max=5000
 | 
			
		||||
Acquisition_L5.doppler_min=-5000
 | 
			
		||||
Acquisition_L5.doppler_step=125
 | 
			
		||||
Acquisition_L5.max_dwells=1
 | 
			
		||||
Acquisition_L5.dump=false
 | 
			
		||||
Acquisition_L5.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING CONFIG ############
 | 
			
		||||
;######### GPS L1 C/A GENERIC TRACKING 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=35.0;
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
@@ -461,30 +295,19 @@ Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
;######### GALILEO E1 TRK CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
 | 
			
		||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
 | 
			
		||||
Tracking_2S.item_type=gr_complex
 | 
			
		||||
Tracking_2S.if=0
 | 
			
		||||
Tracking_2S.pll_bw_hz=2.0;
 | 
			
		||||
Tracking_2S.dll_bw_hz=0.25;
 | 
			
		||||
Tracking_2S.order=2;
 | 
			
		||||
@@ -492,21 +315,32 @@ Tracking_2S.early_late_space_chips=0.5;
 | 
			
		||||
Tracking_2S.dump=false
 | 
			
		||||
Tracking_2S.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO E5 TRK CONFIG ############
 | 
			
		||||
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.track_pilot=true
 | 
			
		||||
Tracking_5X.pll_bw_hz=15.0;
 | 
			
		||||
Tracking_5X.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_5X.pll_bw_narrow_hz=5.0;
 | 
			
		||||
Tracking_5X.dll_bw_narrow_hz=1.0;
 | 
			
		||||
Tracking_5X.order=2;
 | 
			
		||||
Tracking_5X.early_late_space_chips=0.5;
 | 
			
		||||
Tracking_5X.dump=false
 | 
			
		||||
Tracking_5X.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
;######### GALILEO E5 TRK CONFIG ############
 | 
			
		||||
Tracking_L5.implementation=GPS_L5_DLL_PLL_Tracking
 | 
			
		||||
Tracking_L5.item_type=gr_complex
 | 
			
		||||
Tracking_L5.track_pilot=true
 | 
			
		||||
Tracking_L5.pll_bw_hz=15.0;
 | 
			
		||||
Tracking_L5.dll_bw_hz=2.0;
 | 
			
		||||
Tracking_L5.pll_bw_narrow_hz=4.0;
 | 
			
		||||
Tracking_L5.dll_bw_narrow_hz=1.0;
 | 
			
		||||
Tracking_L5.order=2;
 | 
			
		||||
Tracking_L5.early_late_space_chips=0.5;
 | 
			
		||||
Tracking_L5.dump=false
 | 
			
		||||
Tracking_L5.dump_filename=./tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER CONFIG ############
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
@@ -521,37 +355,28 @@ TelemetryDecoder_2S.dump=false
 | 
			
		||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_5X.dump=false
 | 
			
		||||
 | 
			
		||||
TelemetryDecoder_L5.implementation=GPS_L5_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_L5.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
PVT.positioning_mode=PPP_Static  ; 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
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=10
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=100
 | 
			
		||||
;# KML, GeoJSON, NMEA and RTCM output configuration
 | 
			
		||||
;#nmea_dump_filename: NMEA log path and filename
 | 
			
		||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
;#flag_nmea_tty_port: Enable or disable the NMEA log to a serial TTY port (Can be used with real hardware or virtual one)
 | 
			
		||||
PVT.flag_nmea_tty_port=false;
 | 
			
		||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
; Default configuration file
 | 
			
		||||
; This is a GNSS-SDR configuration file
 | 
			
		||||
; The configuration API is described at http://gnss-sdr.org/docs/sp-blocks/
 | 
			
		||||
 | 
			
		||||
; You can define your own receiver and invoke it by doing
 | 
			
		||||
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
 | 
			
		||||
;
 | 
			
		||||
@@ -11,260 +13,73 @@ GNSS-SDR.internal_fs_sps=4000000
 | 
			
		||||
 | 
			
		||||
Receiver.sources_count=2
 | 
			
		||||
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE 0 CONFIG ############
 | 
			
		||||
SignalSource0.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource0.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource0.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource0.sampling_frequency=4000000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource0.samples=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE 1 CONFIG ############
 | 
			
		||||
SignalSource1.implementation=File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource1.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN/2013_04_04_GNSS_SIGNAL_at_CTTC_SPAIN.dat ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
SignalSource1.item_type=ishort
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
 | 
			
		||||
SignalSource1.sampling_frequency=4000000
 | 
			
		||||
;#freq: RF front-end center frequency in [Hz]
 | 
			
		||||
SignalSource1.freq=1575420000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource1.samples=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter0.implementation=Ishort_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of GNU Radio's function: gr_remez.
 | 
			
		||||
;;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter0.sampling_frequency=4000000
 | 
			
		||||
InputFilter0.IF=0
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER 1 CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
 | 
			
		||||
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the resampled data to a file.
 | 
			
		||||
Resampler1.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler1.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler1.sample_freq_in=4000000
 | 
			
		||||
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler1.sample_freq_out=4000000
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter1.implementation=Ishort_To_Complex
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Fir_Filter] enables a FIR Filter
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of GNU Radio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter1.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter1.sampling_frequency=4000000
 | 
			
		||||
InputFilter1.IF=0
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER 1 CONFIG ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
 | 
			
		||||
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the resampled data to a file.
 | 
			
		||||
Resampler1.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Resampler1.dump_filename=../data/resampler.dat
 | 
			
		||||
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Resampler1.dump_filename=../data/resampler.dat.
 | 
			
		||||
Resampler1.item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#sample_freq_in: the sample frequency of the input signal
 | 
			
		||||
Resampler1.sample_freq_in=4000000
 | 
			
		||||
 | 
			
		||||
;#sample_freq_out: the desired sample frequency of the output signal
 | 
			
		||||
Resampler1.sample_freq_out=4000000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=2
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=2
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -280,120 +95,73 @@ Channel.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.coherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0075
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000008
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=4.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1B.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
;#implementation:
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
;#implementation: Position Velocity and Time (PVT) implementation:
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.positioning_mode=Single  ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
 | 
			
		||||
PVT.output_rate_ms=100;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
 
 | 
			
		||||
@@ -14,250 +14,102 @@ GNSS-SDR.internal_fs_sps=2560000
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=4096000
 | 
			
		||||
;GNSS-SDR.internal_fs_sps=5120000
 | 
			
		||||
 | 
			
		||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
 | 
			
		||||
; it helps to not overload the CPU, but the processing time will be longer.
 | 
			
		||||
SignalSource.enable_throttle_control=false
 | 
			
		||||
;#repeat: Repeat the processing file.
 | 
			
		||||
SignalSource.repeat=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE 0 CONFIG ############
 | 
			
		||||
;#implementation
 | 
			
		||||
SignalSource0.implementation=Nsr_File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource0.filename=/datalogger/signals/ifen/E1L1_FE0_Band0.stream  ; <- PUT YOUR FILE HERE
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource0.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource0.sampling_frequency=20480000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource0.samples=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_SOURCE 1 CONFIG ############
 | 
			
		||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
 | 
			
		||||
SignalSource1.implementation=Nsr_File_Signal_Source
 | 
			
		||||
;#filename: path to file with the captured GNSS signal samples to be processed
 | 
			
		||||
SignalSource1.filename=/datalogger/signals/ifen/E1L1_FE0_Band0.stream
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 | 
			
		||||
SignalSource1.item_type=byte
 | 
			
		||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
 | 
			
		||||
SignalSource1.sampling_frequency=20480000
 | 
			
		||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
 | 
			
		||||
SignalSource1.samples=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner0.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 0 CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter0.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter0.item_type=float
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 0 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter0.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter0.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter0.input_item_type=float
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter0.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter0.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter0.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter0.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.band1_begin=0.0
 | 
			
		||||
InputFilter0.band1_end=0.45
 | 
			
		||||
InputFilter0.band2_begin=0.55
 | 
			
		||||
InputFilter0.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter0.ampl1_begin=1.0
 | 
			
		||||
InputFilter0.ampl1_end=1.0
 | 
			
		||||
InputFilter0.ampl2_begin=0.0
 | 
			
		||||
InputFilter0.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter0.band1_error=1.0
 | 
			
		||||
InputFilter0.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter0.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter0.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter0.sampling_frequency=20480000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter0.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter0.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter0.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 0 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler0.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### SIGNAL_CONDITIONER 1 CONFIG ############
 | 
			
		||||
;## It holds blocks to change data type, filter and resample input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Signal_Conditioner]
 | 
			
		||||
;#[Pass_Through] disables this block and the [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
;#[Signal_Conditioner] enables this block. Then you have to configure [DataTypeAdapter], [InputFilter] and [Resampler] blocks
 | 
			
		||||
SignalConditioner1.implementation=Signal_Conditioner
 | 
			
		||||
 | 
			
		||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
 | 
			
		||||
;## Changes the type of input data.
 | 
			
		||||
;#implementation: [Pass_Through] disables this block
 | 
			
		||||
DataTypeAdapter1.implementation=Pass_Through
 | 
			
		||||
DataTypeAdapter1.item_type=float
 | 
			
		||||
 | 
			
		||||
;######### INPUT_FILTER 1 CONFIG ############
 | 
			
		||||
;## Filter the input data. Can be combined with frequency translation for IF signals
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Fir_Filter] or [Freq_Xlating_Fir_Filter]
 | 
			
		||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
 | 
			
		||||
;# that shifts IF down to zero Hz.
 | 
			
		||||
 | 
			
		||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
 | 
			
		||||
 | 
			
		||||
;#dump: Dump the filtered data to a file.
 | 
			
		||||
InputFilter1.dump=false
 | 
			
		||||
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
InputFilter1.dump_filename=../data/input_filter.dat
 | 
			
		||||
 | 
			
		||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#These options are based on parameters of gnuradio's function: gr_remez.
 | 
			
		||||
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
 | 
			
		||||
;#the desired response on those bands, and the weight given to the error in those bands.
 | 
			
		||||
 | 
			
		||||
;#input_item_type: Type and resolution for input signal samples.
 | 
			
		||||
InputFilter1.input_item_type=float
 | 
			
		||||
 | 
			
		||||
;#outut_item_type: Type and resolution for output filtered signal samples.
 | 
			
		||||
InputFilter1.output_item_type=gr_complex
 | 
			
		||||
 | 
			
		||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
 | 
			
		||||
InputFilter1.taps_item_type=float
 | 
			
		||||
 | 
			
		||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
 | 
			
		||||
InputFilter1.number_of_taps=5
 | 
			
		||||
 | 
			
		||||
;#number_of _bands: Number of frequency bands in the filter.
 | 
			
		||||
InputFilter1.number_of_bands=2
 | 
			
		||||
 | 
			
		||||
;#bands: frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...].
 | 
			
		||||
;#Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
 | 
			
		||||
;#The number of band_begin and band_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.band1_begin=0.0
 | 
			
		||||
InputFilter1.band1_end=0.45
 | 
			
		||||
InputFilter1.band2_begin=0.55
 | 
			
		||||
InputFilter1.band2_end=1.0
 | 
			
		||||
 | 
			
		||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
 | 
			
		||||
;#The number of ampl_begin and ampl_end elements must match the number of bands
 | 
			
		||||
 | 
			
		||||
InputFilter1.ampl1_begin=1.0
 | 
			
		||||
InputFilter1.ampl1_end=1.0
 | 
			
		||||
InputFilter1.ampl2_begin=0.0
 | 
			
		||||
InputFilter1.ampl2_end=0.0
 | 
			
		||||
 | 
			
		||||
;#band_error: weighting applied to each band (usually 1).
 | 
			
		||||
;#The number of band_error elements must match the number of bands
 | 
			
		||||
InputFilter1.band1_error=1.0
 | 
			
		||||
InputFilter1.band2_error=1.0
 | 
			
		||||
 | 
			
		||||
;#filter_type: one of "bandpass", "hilbert" or "differentiator"
 | 
			
		||||
InputFilter1.filter_type=bandpass
 | 
			
		||||
 | 
			
		||||
;#grid_density: determines how accurately the filter will be constructed.
 | 
			
		||||
;The minimum value is 16; higher values are slower to compute the filter.
 | 
			
		||||
InputFilter1.grid_density=16
 | 
			
		||||
 | 
			
		||||
;# Original sampling frequency stored in the signal file
 | 
			
		||||
InputFilter1.sampling_frequency=20480000
 | 
			
		||||
 | 
			
		||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 | 
			
		||||
;#InputFilter1.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 | 
			
		||||
 | 
			
		||||
InputFilter1.IF=5499998.47412109
 | 
			
		||||
 | 
			
		||||
;# Decimation factor after the frequency tranaslating block
 | 
			
		||||
InputFilter1.decimation_factor=8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### RESAMPLER CONFIG 1 ############
 | 
			
		||||
;## Resamples the input data.
 | 
			
		||||
 | 
			
		||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
 | 
			
		||||
;#[Pass_Through] disables this block
 | 
			
		||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
 | 
			
		||||
Resampler1.implementation=Pass_Through
 | 
			
		||||
 | 
			
		||||
;######### CHANNELS GLOBAL CONFIG ############
 | 
			
		||||
;#count: Number of available GPS satellite channels.
 | 
			
		||||
Channels_1C.count=8
 | 
			
		||||
;#count: Number of available Galileo satellite channels.
 | 
			
		||||
Channels_1B.count=8
 | 
			
		||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
 | 
			
		||||
Channels.in_acquisition=1
 | 
			
		||||
 | 
			
		||||
;#signal:
 | 
			
		||||
;# "1C" GPS L1 C/A
 | 
			
		||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
 | 
			
		||||
;# "1G" GLONASS L1 C/A
 | 
			
		||||
;# "2S" GPS L2 L2C (M)
 | 
			
		||||
;# "5X" GALILEO E5a I+Q
 | 
			
		||||
;# "L5" GPS L5
 | 
			
		||||
 | 
			
		||||
;# SOURCE CONNECTION
 | 
			
		||||
Channel0.RF_channel_ID=0
 | 
			
		||||
Channel1.RF_channel_ID=0
 | 
			
		||||
@@ -299,117 +151,77 @@ Channel15.signal=1B
 | 
			
		||||
 | 
			
		||||
;######### GPS ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1C.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1C.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1C.sampled_ms=1
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1C.scoherent_integration_time_ms=1
 | 
			
		||||
Acquisition_1C.threshold=0.0075
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
;Acquisition_1C.pfa=0.01
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1C.doppler_max=10000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1C.doppler_step=500
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1C.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1C.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### GALILEO ACQUISITION CONFIG ############
 | 
			
		||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Acquisition_1B.item_type=gr_complex
 | 
			
		||||
;#if: Signal intermediate frequency in [Hz]
 | 
			
		||||
Acquisition_1B.if=0
 | 
			
		||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 | 
			
		||||
Acquisition_1B.sampled_ms=4
 | 
			
		||||
;#threshold: Acquisition threshold
 | 
			
		||||
Acquisition_1B.coherent_integration_time_ms=4
 | 
			
		||||
;Acquisition_1B.threshold=0
 | 
			
		||||
;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
 | 
			
		||||
Acquisition_1B.pfa=0.0000002
 | 
			
		||||
;#doppler_max: Maximum expected Doppler shift [Hz]
 | 
			
		||||
Acquisition_1B.doppler_max=15000
 | 
			
		||||
;#doppler_max: Doppler step in the grid search [Hz]
 | 
			
		||||
Acquisition_1B.doppler_step=125
 | 
			
		||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 | 
			
		||||
Acquisition_1B.dump=false
 | 
			
		||||
;#filename: Log path and filename
 | 
			
		||||
Acquisition_1B.dump_filename=./acq_dump.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GPS CONFIG ############
 | 
			
		||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1C.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1C.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.pll_bw_hz=45.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1C.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1C.order=3;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1C.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TRACKING GALILEO CONFIG ############
 | 
			
		||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
 | 
			
		||||
;#item_type: Type and resolution for each of the signal samples.
 | 
			
		||||
Tracking_1B.item_type=gr_complex
 | 
			
		||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
 | 
			
		||||
Tracking_1B.if=0
 | 
			
		||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.pll_bw_hz=15.0;
 | 
			
		||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
 | 
			
		||||
Tracking_1B.dll_bw_hz=2.0;
 | 
			
		||||
;#order: PLL/DLL loop filter order [2] or [3]
 | 
			
		||||
Tracking_1B.order=3;
 | 
			
		||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
 | 
			
		||||
Tracking_1B.early_late_space_chips=0.15;
 | 
			
		||||
;#very_early_late_space_chips: only for [Galileo_E1_DLL_PLL_VEML_Tracking], correlator very early-late space [chips]. Use [0.6]
 | 
			
		||||
Tracking_1B.very_early_late_space_chips=0.6;
 | 
			
		||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
 | 
			
		||||
Tracking_1B.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
 | 
			
		||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GPS CONFIG ############
 | 
			
		||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
 | 
			
		||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
 | 
			
		||||
TelemetryDecoder_1C.dump=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
 | 
			
		||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
 | 
			
		||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### OBSERVABLES CONFIG ############
 | 
			
		||||
Observables.implementation=Hybrid_Observables
 | 
			
		||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
 | 
			
		||||
Observables.dump=false
 | 
			
		||||
;#dump_filename: Log path and filename.
 | 
			
		||||
Observables.dump_filename=./observables.dat
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;######### PVT CONFIG ############
 | 
			
		||||
PVT.implementation=RTKLIB_PVT
 | 
			
		||||
;#output_rate_ms: Period between two PVT outputs. Notice that the minimum period is equal to the tracking integration time (for GPS CA L1 is 1ms) [ms]
 | 
			
		||||
PVT.output_rate_ms=10;
 | 
			
		||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
 | 
			
		||||
PVT.display_rate_ms=500;
 | 
			
		||||
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.nmea_dump_filename=./gnss_sdr_pvt.nmea;
 | 
			
		||||
PVT.flag_nmea_tty_port=true;
 | 
			
		||||
PVT.nmea_dump_devname=/dev/pts/4
 | 
			
		||||
PVT.flag_rtcm_server=false
 | 
			
		||||
PVT.flag_rtcm_tty_port=false
 | 
			
		||||
PVT.rtcm_dump_devname=/dev/pts/1
 | 
			
		||||
;#dump_filename: Log path and filename without extension. Notice that PVT will add ".dat" to the binary dump and ".kml" to GoogleEarth dump.
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
 | 
			
		||||
PVT.dump=false
 | 
			
		||||
PVT.dump_filename=./PVT
 | 
			
		||||
 
 | 
			
		||||
@@ -261,6 +261,12 @@ rtklib_pvt_cc::rtklib_pvt_cc(unsigned int nchannels, bool dump, std::string dump
 | 
			
		||||
    d_kml_dump = std::make_shared<Kml_Printer>();
 | 
			
		||||
    d_kml_dump->set_headers(kml_dump_filename);
 | 
			
		||||
 | 
			
		||||
    //initialize gpx_printer
 | 
			
		||||
    std::string gpx_dump_filename;
 | 
			
		||||
    gpx_dump_filename = d_dump_filename;
 | 
			
		||||
    d_gpx_dump = std::make_shared<Gpx_Printer>();
 | 
			
		||||
    d_gpx_dump->set_headers(gpx_dump_filename);
 | 
			
		||||
 | 
			
		||||
    //initialize geojson_printer
 | 
			
		||||
    std::string geojson_dump_filename;
 | 
			
		||||
    geojson_dump_filename = d_dump_filename;
 | 
			
		||||
@@ -678,6 +684,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
			
		||||
                                            first_fix = false;
 | 
			
		||||
                                        }
 | 
			
		||||
                                    d_kml_dump->print_position(d_ls_pvt, false);
 | 
			
		||||
                                    d_gpx_dump->print_position(d_ls_pvt, false);
 | 
			
		||||
                                    d_geojson_printer->print_position(d_ls_pvt, false);
 | 
			
		||||
                                    d_nmea_printer->Print_Nmea_Line(d_ls_pvt, false);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,7 @@
 | 
			
		||||
 | 
			
		||||
#include "nmea_printer.h"
 | 
			
		||||
#include "kml_printer.h"
 | 
			
		||||
#include "gpx_printer.h"
 | 
			
		||||
#include "geojson_printer.h"
 | 
			
		||||
#include "rinex_printer.h"
 | 
			
		||||
#include "rtcm_printer.h"
 | 
			
		||||
@@ -120,6 +121,7 @@ private:
 | 
			
		||||
 | 
			
		||||
    std::shared_ptr<Rinex_Printer> rp;
 | 
			
		||||
    std::shared_ptr<Kml_Printer> d_kml_dump;
 | 
			
		||||
    std::shared_ptr<Gpx_Printer> d_gpx_dump;
 | 
			
		||||
    std::shared_ptr<Nmea_Printer> d_nmea_printer;
 | 
			
		||||
    std::shared_ptr<GeoJSON_Printer> d_geojson_printer;
 | 
			
		||||
    std::shared_ptr<Rtcm_Printer> d_rtcm_printer;
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ set(PVT_LIB_SOURCES
 | 
			
		||||
     ls_pvt.cc
 | 
			
		||||
     hybrid_ls_pvt.cc
 | 
			
		||||
     kml_printer.cc
 | 
			
		||||
     gpx_printer.cc
 | 
			
		||||
     rinex_printer.cc
 | 
			
		||||
     nmea_printer.cc  
 | 
			
		||||
     rtcm_printer.cc
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										187
									
								
								src/algorithms/PVT/libs/gpx_printer.cc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										187
									
								
								src/algorithms/PVT/libs/gpx_printer.cc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,187 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * \file gpx_printer.cc
 | 
			
		||||
 * \brief Interface of a class that prints PVT information to a gpx file
 | 
			
		||||
 * \author Álvaro Cebrián Juan, 2018. acebrianjuan(at)gmail.com
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 * -------------------------------------------------------------------------
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2010-2018  (see AUTHORS file for a list of contributors)
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is a software defined Global Navigation
 | 
			
		||||
 *          Satellite Systems receiver
 | 
			
		||||
 *
 | 
			
		||||
 * This file is part of GNSS-SDR.
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 *
 | 
			
		||||
 * -------------------------------------------------------------------------
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "gpx_printer.h"
 | 
			
		||||
#include <boost/date_time/posix_time/posix_time.hpp>
 | 
			
		||||
#include <glog/logging.h>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
 | 
			
		||||
using google::LogMessage;
 | 
			
		||||
 | 
			
		||||
bool Gpx_Printer::set_headers(std::string filename, bool time_tag_name)
 | 
			
		||||
{
 | 
			
		||||
    boost::posix_time::ptime pt = boost::posix_time::second_clock::local_time();
 | 
			
		||||
    tm timeinfo = boost::posix_time::to_tm(pt);
 | 
			
		||||
 | 
			
		||||
    if (time_tag_name)
 | 
			
		||||
        {
 | 
			
		||||
            std::stringstream strm0;
 | 
			
		||||
            const int year = timeinfo.tm_year - 100;
 | 
			
		||||
            strm0 << year;
 | 
			
		||||
            const int month = timeinfo.tm_mon + 1;
 | 
			
		||||
            if (month < 10)
 | 
			
		||||
                {
 | 
			
		||||
                    strm0 << "0";
 | 
			
		||||
                }
 | 
			
		||||
            strm0 << month;
 | 
			
		||||
            const int day = timeinfo.tm_mday;
 | 
			
		||||
            if (day < 10)
 | 
			
		||||
                {
 | 
			
		||||
                    strm0 << "0";
 | 
			
		||||
                }
 | 
			
		||||
            strm0 << day << "_";
 | 
			
		||||
            const int hour = timeinfo.tm_hour;
 | 
			
		||||
            if (hour < 10)
 | 
			
		||||
                {
 | 
			
		||||
                    strm0 << "0";
 | 
			
		||||
                }
 | 
			
		||||
            strm0 << hour;
 | 
			
		||||
            const int min = timeinfo.tm_min;
 | 
			
		||||
            if (min < 10)
 | 
			
		||||
                {
 | 
			
		||||
                    strm0 << "0";
 | 
			
		||||
                }
 | 
			
		||||
            strm0 << min;
 | 
			
		||||
            const int sec = timeinfo.tm_sec;
 | 
			
		||||
            if (sec < 10)
 | 
			
		||||
                {
 | 
			
		||||
                    strm0 << "0";
 | 
			
		||||
                }
 | 
			
		||||
            strm0 << sec;
 | 
			
		||||
 | 
			
		||||
            gpx_filename = filename + "_" + strm0.str() + ".gpx";
 | 
			
		||||
        }
 | 
			
		||||
    else
 | 
			
		||||
        {
 | 
			
		||||
            gpx_filename = filename + ".gpx";
 | 
			
		||||
        }
 | 
			
		||||
    gpx_file.open(gpx_filename.c_str());
 | 
			
		||||
 | 
			
		||||
    if (gpx_file.is_open())
 | 
			
		||||
        {
 | 
			
		||||
            DLOG(INFO) << "GPX printer writing on " << filename.c_str();
 | 
			
		||||
            // Set iostream numeric format and precision
 | 
			
		||||
            gpx_file.setf(gpx_file.fixed, gpx_file.floatfield);
 | 
			
		||||
            gpx_file << std::setprecision(14);
 | 
			
		||||
            gpx_file << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << std::endl
 | 
			
		||||
                     << "<gpx version=\"1.1\" creator=\"GNSS-SDR\"" << std::endl
 | 
			
		||||
                     << "xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd\"" << std::endl
 | 
			
		||||
                     << "xmlns=\"http://www.topografix.com/GPX/1/1\"" << std::endl
 | 
			
		||||
                     << "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" << std::endl
 | 
			
		||||
                     << "<trk>" << std::endl
 | 
			
		||||
                     << indent << "<name>Position fixes computed by GNSS-SDR v" << GNSS_SDR_VERSION << "</name>" << std::endl
 | 
			
		||||
                     << indent << "<desc>GNSS-SDR position log generated at " << pt << " (local time)</desc>" << std::endl
 | 
			
		||||
                     << indent << "<trkseg>" << std::endl;
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    else
 | 
			
		||||
        {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool Gpx_Printer::print_position(const std::shared_ptr<rtklib_solver>& position, bool print_average_values)
 | 
			
		||||
{
 | 
			
		||||
    double latitude;
 | 
			
		||||
    double longitude;
 | 
			
		||||
    double height;
 | 
			
		||||
 | 
			
		||||
    positions_printed = true;
 | 
			
		||||
    std::shared_ptr<rtklib_solver> position_ = position;
 | 
			
		||||
 | 
			
		||||
    double hdop = position_->get_hdop();
 | 
			
		||||
    double vdop = position_->get_vdop();
 | 
			
		||||
    double pdop = position_->get_pdop();
 | 
			
		||||
    std::string utc_time = to_iso_extended_string(position_->get_position_UTC_time());
 | 
			
		||||
    utc_time.resize(23);   // time up to ms
 | 
			
		||||
    utc_time.append("Z");  // UTC time zone
 | 
			
		||||
 | 
			
		||||
    if (print_average_values == false)
 | 
			
		||||
        {
 | 
			
		||||
            latitude = position_->get_latitude();
 | 
			
		||||
            longitude = position_->get_longitude();
 | 
			
		||||
            height = position_->get_height();
 | 
			
		||||
        }
 | 
			
		||||
    else
 | 
			
		||||
        {
 | 
			
		||||
            latitude = position_->get_avg_latitude();
 | 
			
		||||
            longitude = position_->get_avg_longitude();
 | 
			
		||||
            height = position_->get_avg_height();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    if (gpx_file.is_open())
 | 
			
		||||
        {
 | 
			
		||||
            gpx_file << indent << indent << "<trkpt lon=\"" << longitude << "\" lat=\"" << latitude << "\"><ele>" << height << "</ele>"
 | 
			
		||||
                     << "<time>" << utc_time << "</time>"
 | 
			
		||||
                     << "<hdop>" << hdop << "</hdop><vdop>" << vdop << "</vdop><pdop>" << pdop << "</pdop></trkpt>" << std::endl;
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    else
 | 
			
		||||
        {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool Gpx_Printer::close_file()
 | 
			
		||||
{
 | 
			
		||||
    if (gpx_file.is_open())
 | 
			
		||||
        {
 | 
			
		||||
            gpx_file << indent << "</trkseg>" << std::endl
 | 
			
		||||
                     << "</trk>" << std::endl
 | 
			
		||||
                     << "</gpx>";
 | 
			
		||||
            gpx_file.close();
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    else
 | 
			
		||||
        {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Gpx_Printer::Gpx_Printer()
 | 
			
		||||
{
 | 
			
		||||
    positions_printed = false;
 | 
			
		||||
    indent = "  ";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Gpx_Printer::~Gpx_Printer()
 | 
			
		||||
{
 | 
			
		||||
    close_file();
 | 
			
		||||
    if (!positions_printed)
 | 
			
		||||
        {
 | 
			
		||||
            if (remove(gpx_filename.c_str()) != 0) LOG(INFO) << "Error deleting temporary GPX file";
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										64
									
								
								src/algorithms/PVT/libs/gpx_printer.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								src/algorithms/PVT/libs/gpx_printer.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
/*!
 | 
			
		||||
 * \file gpx_printer.h
 | 
			
		||||
 * \brief Interface of a class that prints PVT information to a gpx file
 | 
			
		||||
 * \author Álvaro Cebrián Juan, 2018. acebrianjuan(at)gmail.com
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 * -------------------------------------------------------------------------
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2010-2018  (see AUTHORS file for a list of contributors)
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is a software defined Global Navigation
 | 
			
		||||
 *          Satellite Systems receiver
 | 
			
		||||
 *
 | 
			
		||||
 * This file is part of GNSS-SDR.
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * GNSS-SDR is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 *
 | 
			
		||||
 * -------------------------------------------------------------------------
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef GNSS_SDR_GPX_PRINTER_H_
 | 
			
		||||
#define GNSS_SDR_GPX_PRINTER_H_
 | 
			
		||||
 | 
			
		||||
#include "pvt_solution.h"
 | 
			
		||||
#include "rtklib_solver.h"
 | 
			
		||||
#include <fstream>
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * \brief Prints PVT information to GPX format file
 | 
			
		||||
 *
 | 
			
		||||
 * See http://www.topografix.com/gpx.asp
 | 
			
		||||
 */
 | 
			
		||||
class Gpx_Printer
 | 
			
		||||
{
 | 
			
		||||
private:
 | 
			
		||||
    std::ofstream gpx_file;
 | 
			
		||||
    bool positions_printed;
 | 
			
		||||
    std::string gpx_filename;
 | 
			
		||||
    std::string indent;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    Gpx_Printer();
 | 
			
		||||
    ~Gpx_Printer();
 | 
			
		||||
    bool set_headers(std::string filename, bool time_tag_name = true);
 | 
			
		||||
    bool print_position(const std::shared_ptr<rtklib_solver>& position, bool print_average_values);
 | 
			
		||||
    bool close_file();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -350,9 +350,6 @@ bool hybrid_ls_pvt::get_PVT(std::map<int, Gnss_Synchro> gnss_observables_map, do
 | 
			
		||||
                               << " [deg], Height= " << this->get_height() << " [m]"
 | 
			
		||||
                               << " RX time offset= " << this->get_time_offset_s() << " [s]";
 | 
			
		||||
 | 
			
		||||
                    // ###### Compute DOPs ########
 | 
			
		||||
                    hybrid_ls_pvt::compute_DOP();
 | 
			
		||||
 | 
			
		||||
                    // ######## LOG FILE #########
 | 
			
		||||
                    if (d_flag_dump_enabled == true)
 | 
			
		||||
                        {
 | 
			
		||||
 
 | 
			
		||||
@@ -281,7 +281,7 @@ arma::vec Ls_Pvt::leastSquarePos(const arma::mat& satpos, const arma::vec& obs,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    //-- compute the Dilution Of Precision values
 | 
			
		||||
    this->set_Q(arma::inv(arma::htrans(A) * A));
 | 
			
		||||
    //this->set_Q(arma::inv(arma::htrans(A) * A));
 | 
			
		||||
 | 
			
		||||
    // check the consistency of the PVT solution
 | 
			
		||||
    if (((fabs(pos(3)) * 1000.0) / GPS_C_m_s) > GPS_STARTOFFSET_ms * 2)
 | 
			
		||||
 
 | 
			
		||||
@@ -125,7 +125,7 @@ void Nmea_Printer::close_serial()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool Nmea_Printer::Print_Nmea_Line(const std::shared_ptr<Pvt_Solution>& pvt_data, bool print_average_values)
 | 
			
		||||
bool Nmea_Printer::Print_Nmea_Line(const std::shared_ptr<rtklib_solver>& pvt_data, bool print_average_values)
 | 
			
		||||
{
 | 
			
		||||
    std::string GPRMC;
 | 
			
		||||
    std::string GPGGA;
 | 
			
		||||
@@ -432,9 +432,9 @@ std::string Nmea_Printer::get_GPGSA()
 | 
			
		||||
    // GSA-GNSS DOP and Active Satellites
 | 
			
		||||
    bool valid_fix = d_PVT_data->is_valid_position();
 | 
			
		||||
    int n_sats_used = d_PVT_data->get_num_valid_observations();
 | 
			
		||||
    double pdop = d_PVT_data->get_PDOP();
 | 
			
		||||
    double hdop = d_PVT_data->get_HDOP();
 | 
			
		||||
    double vdop = d_PVT_data->get_VDOP();
 | 
			
		||||
    double pdop = d_PVT_data->get_pdop();
 | 
			
		||||
    double hdop = d_PVT_data->get_hdop();
 | 
			
		||||
    double vdop = d_PVT_data->get_vdop();
 | 
			
		||||
 | 
			
		||||
    std::stringstream sentence_str;
 | 
			
		||||
    std::string sentence_header;
 | 
			
		||||
@@ -603,7 +603,7 @@ std::string Nmea_Printer::get_GPGGA()
 | 
			
		||||
    //boost::posix_time::ptime d_position_UTC_time=boost::posix_time::microsec_clock::universal_time();
 | 
			
		||||
    bool valid_fix = d_PVT_data->is_valid_position();
 | 
			
		||||
    int n_channels = d_PVT_data->get_num_valid_observations();  //d_nchannels
 | 
			
		||||
    double hdop = d_PVT_data->get_HDOP();
 | 
			
		||||
    double hdop = d_PVT_data->get_hdop();
 | 
			
		||||
    double MSL_altitude;
 | 
			
		||||
 | 
			
		||||
    if (d_PVT_data->is_averaging() == true)
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@
 | 
			
		||||
#ifndef GNSS_SDR_NMEA_PRINTER_H_
 | 
			
		||||
#define GNSS_SDR_NMEA_PRINTER_H_
 | 
			
		||||
 | 
			
		||||
#include "pvt_solution.h"
 | 
			
		||||
#include "rtklib_solver.h"
 | 
			
		||||
#include <fstream>
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
@@ -58,7 +58,7 @@ public:
 | 
			
		||||
    /*!
 | 
			
		||||
     * \brief Print NMEA PVT and satellite info to the initialized device
 | 
			
		||||
     */
 | 
			
		||||
    bool Print_Nmea_Line(const std::shared_ptr<Pvt_Solution>& position, bool print_average_values);
 | 
			
		||||
    bool Print_Nmea_Line(const std::shared_ptr<rtklib_solver>& position, bool print_average_values);
 | 
			
		||||
 | 
			
		||||
    /*!
 | 
			
		||||
     * \brief Default destructor.
 | 
			
		||||
@@ -70,7 +70,7 @@ private:
 | 
			
		||||
    std::ofstream nmea_file_descriptor;  // Output file stream for NMEA log file
 | 
			
		||||
    std::string nmea_devname;
 | 
			
		||||
    int nmea_dev_descriptor;  // NMEA serial device descriptor (i.e. COM port)
 | 
			
		||||
    std::shared_ptr<Pvt_Solution> d_PVT_data;
 | 
			
		||||
    std::shared_ptr<rtklib_solver> d_PVT_data;
 | 
			
		||||
    int init_serial(std::string serial_device);  //serial port control
 | 
			
		||||
    void close_serial();
 | 
			
		||||
    std::string get_GPGGA();  // fix data
 | 
			
		||||
 
 | 
			
		||||
@@ -46,11 +46,6 @@ Pvt_Solution::Pvt_Solution()
 | 
			
		||||
    d_avg_latitude_d = 0.0;
 | 
			
		||||
    d_avg_longitude_d = 0.0;
 | 
			
		||||
    d_avg_height_m = 0.0;
 | 
			
		||||
    d_GDOP = 0.0;
 | 
			
		||||
    d_PDOP = 0.0;
 | 
			
		||||
    d_HDOP = 0.0;
 | 
			
		||||
    d_VDOP = 0.0;
 | 
			
		||||
    d_TDOP = 0.0;
 | 
			
		||||
    d_flag_averaging = false;
 | 
			
		||||
    b_valid_position = false;
 | 
			
		||||
    d_averaging_depth = 0;
 | 
			
		||||
@@ -445,50 +440,6 @@ int Pvt_Solution::topocent(double *Az, double *El, double *D, const arma::vec &x
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int Pvt_Solution::compute_DOP()
 | 
			
		||||
{
 | 
			
		||||
    // ###### Compute DOPs ########
 | 
			
		||||
 | 
			
		||||
    // 1- Rotation matrix from ECEF coordinates to ENU coordinates
 | 
			
		||||
    // ref: http://www.navipedia.net/index.php/Transformations_between_ECEF_and_ENU_coordinates
 | 
			
		||||
    arma::mat F = arma::zeros(3, 3);
 | 
			
		||||
    F(0, 0) = -sin(GPS_TWO_PI * (d_longitude_d / 360.0));
 | 
			
		||||
    F(0, 1) = -sin(GPS_TWO_PI * (d_latitude_d / 360.0)) * cos(GPS_TWO_PI * (d_longitude_d / 360.0));
 | 
			
		||||
    F(0, 2) = cos(GPS_TWO_PI * (d_latitude_d / 360.0)) * cos(GPS_TWO_PI * (d_longitude_d / 360.0));
 | 
			
		||||
 | 
			
		||||
    F(1, 0) = cos((GPS_TWO_PI * d_longitude_d) / 360.0);
 | 
			
		||||
    F(1, 1) = -sin((GPS_TWO_PI * d_latitude_d) / 360.0) * sin((GPS_TWO_PI * d_longitude_d) / 360.0);
 | 
			
		||||
    F(1, 2) = cos((GPS_TWO_PI * d_latitude_d / 360.0)) * sin((GPS_TWO_PI * d_longitude_d) / 360.0);
 | 
			
		||||
 | 
			
		||||
    F(2, 0) = 0;
 | 
			
		||||
    F(2, 1) = cos((GPS_TWO_PI * d_latitude_d) / 360.0);
 | 
			
		||||
    F(2, 2) = sin((GPS_TWO_PI * d_latitude_d / 360.0));
 | 
			
		||||
 | 
			
		||||
    // 2- Apply the rotation to the latest covariance matrix (available in ECEF from LS)
 | 
			
		||||
    arma::mat Q_ECEF = d_Q.submat(0, 0, 2, 2);
 | 
			
		||||
    arma::mat DOP_ENU = arma::zeros(3, 3);
 | 
			
		||||
 | 
			
		||||
    try
 | 
			
		||||
        {
 | 
			
		||||
            DOP_ENU = arma::htrans(F) * Q_ECEF * F;
 | 
			
		||||
            d_GDOP = sqrt(arma::trace(DOP_ENU));                           // Geometric DOP
 | 
			
		||||
            d_PDOP = sqrt(DOP_ENU(0, 0) + DOP_ENU(1, 1) + DOP_ENU(2, 2));  // PDOP
 | 
			
		||||
            d_HDOP = sqrt(DOP_ENU(0, 0) + DOP_ENU(1, 1));                  // HDOP
 | 
			
		||||
            d_VDOP = sqrt(DOP_ENU(2, 2));                                  // VDOP
 | 
			
		||||
            d_TDOP = sqrt(d_Q(3, 3));                                      // TDOP
 | 
			
		||||
        }
 | 
			
		||||
    catch (const std::exception &ex)
 | 
			
		||||
        {
 | 
			
		||||
            d_GDOP = -1;  // Geometric DOP
 | 
			
		||||
            d_PDOP = -1;  // PDOP
 | 
			
		||||
            d_HDOP = -1;  // HDOP
 | 
			
		||||
            d_VDOP = -1;  // VDOP
 | 
			
		||||
            d_TDOP = -1;  // TDOP
 | 
			
		||||
        }
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void Pvt_Solution::set_averaging_depth(int depth)
 | 
			
		||||
{
 | 
			
		||||
    d_averaging_depth = depth;
 | 
			
		||||
@@ -824,39 +775,3 @@ double Pvt_Solution::get_visible_satellites_CN0_dB(size_t index) const
 | 
			
		||||
            return d_visible_satellites_CN0_dB[index];
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void Pvt_Solution::set_Q(const arma::mat &Q)
 | 
			
		||||
{
 | 
			
		||||
    d_Q = Q;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
double Pvt_Solution::get_GDOP() const
 | 
			
		||||
{
 | 
			
		||||
    return d_GDOP;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
double Pvt_Solution::get_PDOP() const
 | 
			
		||||
{
 | 
			
		||||
    return d_PDOP;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
double Pvt_Solution::get_HDOP() const
 | 
			
		||||
{
 | 
			
		||||
    return d_HDOP;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
double Pvt_Solution::get_VDOP() const
 | 
			
		||||
{
 | 
			
		||||
    return d_VDOP;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
double Pvt_Solution::get_TDOP() const
 | 
			
		||||
{
 | 
			
		||||
    return d_TDOP;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -70,13 +70,6 @@ private:
 | 
			
		||||
    boost::posix_time::ptime d_position_UTC_time;
 | 
			
		||||
    int d_valid_observations;
 | 
			
		||||
 | 
			
		||||
    arma::mat d_Q;
 | 
			
		||||
    double d_GDOP;
 | 
			
		||||
    double d_PDOP;
 | 
			
		||||
    double d_HDOP;
 | 
			
		||||
    double d_VDOP;
 | 
			
		||||
    double d_TDOP;
 | 
			
		||||
 | 
			
		||||
    int d_visible_satellites_IDs[PVT_MAX_CHANNELS] = {};          // Array with the IDs of the valid satellites
 | 
			
		||||
    double d_visible_satellites_El[PVT_MAX_CHANNELS] = {};        // Array with the LOS Elevation of the valid satellites
 | 
			
		||||
    double d_visible_satellites_Az[PVT_MAX_CHANNELS] = {};        // Array with the LOS Azimuth of the valid satellites
 | 
			
		||||
@@ -130,16 +123,6 @@ public:
 | 
			
		||||
    bool is_averaging() const;
 | 
			
		||||
    void set_averaging_flag(bool flag);
 | 
			
		||||
 | 
			
		||||
    // DOP estimations
 | 
			
		||||
    void set_Q(const arma::mat &Q);
 | 
			
		||||
    int compute_DOP();  //!< Compute Dilution Of Precision parameters
 | 
			
		||||
 | 
			
		||||
    double get_GDOP() const;
 | 
			
		||||
    double get_PDOP() const;
 | 
			
		||||
    double get_HDOP() const;
 | 
			
		||||
    double get_VDOP() const;
 | 
			
		||||
    double get_TDOP() const;
 | 
			
		||||
 | 
			
		||||
    arma::vec rotateSatellite(double traveltime, const arma::vec &X_sat);
 | 
			
		||||
 | 
			
		||||
    /*!
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user