mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-05-06 17:34:12 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into glonass_dec
This commit is contained in:
commit
36d71d46af
91
.clang-format
Normal file
91
.clang-format
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
---
|
||||||
|
Language: Cpp
|
||||||
|
# BasedOnStyle: Google
|
||||||
|
# More info: http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: DontAlign
|
||||||
|
AlignConsecutiveAssignments: false
|
||||||
|
AlignConsecutiveDeclarations: false
|
||||||
|
AlignEscapedNewlinesLeft: true
|
||||||
|
AlignOperands: true
|
||||||
|
AlignTrailingComments: true
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
|
AllowShortBlocksOnASingleLine: false
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: All
|
||||||
|
AllowShortIfStatementsOnASingleLine: true
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: true
|
||||||
|
AlwaysBreakTemplateDeclarations: false
|
||||||
|
BinPackArguments: true
|
||||||
|
BinPackParameters: true
|
||||||
|
BraceWrapping:
|
||||||
|
AfterClass: false
|
||||||
|
AfterControlStatement: false
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: false
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterObjCDeclaration: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterUnion: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
IndentBraces: false
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeBraces: GNU
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializersBeforeComma: false
|
||||||
|
ColumnLimit: 0
|
||||||
|
CommentPragmas: '^ IWYU pragma:'
|
||||||
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
DerivePointerAlignment: true
|
||||||
|
DisableFormat: false
|
||||||
|
ExperimentalAutoDetectBinPacking: false
|
||||||
|
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||||
|
IncludeCategories:
|
||||||
|
- Regex: '^<.*\.h>'
|
||||||
|
Priority: 1
|
||||||
|
- Regex: '^<.*'
|
||||||
|
Priority: 2
|
||||||
|
- Regex: '.*'
|
||||||
|
Priority: 3
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: false
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||||
|
MacroBlockBegin: ''
|
||||||
|
MacroBlockEnd: ''
|
||||||
|
MaxEmptyLinesToKeep: 2
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCBlockIndentWidth: 2
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: false
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 1
|
||||||
|
PenaltyBreakComment: 300
|
||||||
|
PenaltyBreakFirstLessLess: 120
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 200
|
||||||
|
PointerAlignment: Left
|
||||||
|
ReflowComments: true
|
||||||
|
SortIncludes: false
|
||||||
|
SpaceAfterCStyleCast: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 2
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInContainerLiterals: true
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
Standard: Auto
|
||||||
|
TabWidth: 8
|
||||||
|
UseTab: Never
|
||||||
|
...
|
||||||
|
|
@ -317,6 +317,7 @@ set(GNSSSDR_BOOST_MIN_VERSION "1.45")
|
|||||||
set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
||||||
set(GNSSSDR_MAKO_MIN_VERSION "0.4.2")
|
set(GNSSSDR_MAKO_MIN_VERSION "0.4.2")
|
||||||
set(GNSSSDR_ARMADILLO_MIN_VERSION "4.200.0")
|
set(GNSSSDR_ARMADILLO_MIN_VERSION "4.200.0")
|
||||||
|
set(GNSSSDR_MATIO_MIN_VERSION "1.5.3")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -448,10 +449,10 @@ if(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
|||||||
endif(LIBGTEST_DEV_DIR)
|
endif(LIBGTEST_DEV_DIR)
|
||||||
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
|
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
|
||||||
else(GTEST_DIR)
|
else(GTEST_DIR)
|
||||||
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/gtest /opt/local/src/gtest-1.7.0)
|
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/googletest/googletest /usr/src/gtest /opt/local/src/gtest-1.7.0 )
|
||||||
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
|
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
|
||||||
if(LIBGTEST_DEV_DIR)
|
if(LIBGTEST_DEV_DIR)
|
||||||
message (STATUS "Googletest (libgtest-dev package) has been found.")
|
message (STATUS "Googletest package has been found.")
|
||||||
else(LIBGTEST_DEV_DIR)
|
else(LIBGTEST_DEV_DIR)
|
||||||
message (STATUS " Googletest has not been found.")
|
message (STATUS " Googletest has not been found.")
|
||||||
message (STATUS " Googletest will be downloaded and built automatically ")
|
message (STATUS " Googletest will be downloaded and built automatically ")
|
||||||
@ -479,7 +480,7 @@ set(Boost_ADDITIONAL_VERSIONS
|
|||||||
)
|
)
|
||||||
set(Boost_USE_MULTITHREAD ON)
|
set(Boost_USE_MULTITHREAD ON)
|
||||||
set(Boost_USE_STATIC_LIBS OFF)
|
set(Boost_USE_STATIC_LIBS OFF)
|
||||||
find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono unit_test_framework program_options REQUIRED)
|
find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono REQUIRED)
|
||||||
if(NOT Boost_FOUND)
|
if(NOT Boost_FOUND)
|
||||||
message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.")
|
message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.")
|
||||||
endif(NOT Boost_FOUND)
|
endif(NOT Boost_FOUND)
|
||||||
@ -543,11 +544,11 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Lib4cpp - http://log4cpp.sourceforge.net/
|
# Log4cpp - http://log4cpp.sourceforge.net/
|
||||||
################################################################################
|
################################################################################
|
||||||
find_package(Log4cpp)
|
find_package(Log4cpp)
|
||||||
if(NOT LOG4CPP_FOUND)
|
if(NOT LOG4CPP_FOUND)
|
||||||
message(FATAL_ERROR "*** Lib4cpp is required to build gnss-sdr")
|
message(FATAL_ERROR "*** Log4cpp is required to build gnss-sdr")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -599,10 +600,12 @@ if(NOT VOLK_GNSSSDR_FOUND)
|
|||||||
message(FATAL_ERROR "six - python 2 and 3 compatibility library required to build VOLK_GNSSSDR")
|
message(FATAL_ERROR "six - python 2 and 3 compatibility library required to build VOLK_GNSSSDR")
|
||||||
endif(NOT SIX_FOUND)
|
endif(NOT SIX_FOUND)
|
||||||
|
|
||||||
|
set(READ_ENVIRO "")
|
||||||
if(ENABLE_PACKAGING)
|
if(ENABLE_PACKAGING)
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
|
if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
|
||||||
set(STRIP_VOLK_GNSSSDR_PROFILE "-DENABLE_STRIP=ON -DCMAKE_VERBOSE_MAKEFILE=ON")
|
set(STRIP_VOLK_GNSSSDR_PROFILE "-DENABLE_STRIP=ON -DCMAKE_VERBOSE_MAKEFILE=ON")
|
||||||
endif(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
|
endif(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
|
||||||
|
set(READ_ENVIRO ${CMAKE_COMMAND} -E environment)
|
||||||
endif(ENABLE_PACKAGING)
|
endif(ENABLE_PACKAGING)
|
||||||
|
|
||||||
set(VOLK_GNSSSDR_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}")
|
set(VOLK_GNSSSDR_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}")
|
||||||
@ -638,11 +641,11 @@ if(NOT VOLK_GNSSSDR_FOUND)
|
|||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build
|
||||||
CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
|
CMAKE_ARGS ${READ_ENVIRO} ${VOLK_GNSSSDR_CMAKE_ARGS}
|
||||||
DOWNLOAD_COMMAND ""
|
DOWNLOAD_COMMAND ""
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
PATCH_COMMAND ""
|
PATCH_COMMAND ""
|
||||||
BUILD_COMMAND ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile
|
BUILD_COMMAND ${READ_ENVIRO} ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile
|
||||||
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
|
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
|
||||||
)
|
)
|
||||||
else(CMAKE_VERSION VERSION_LESS 3.2)
|
else(CMAKE_VERSION VERSION_LESS 3.2)
|
||||||
@ -650,11 +653,11 @@ if(NOT VOLK_GNSSSDR_FOUND)
|
|||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build
|
||||||
CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
|
CMAKE_ARGS ${READ_ENVIRO} ${VOLK_GNSSSDR_CMAKE_ARGS}
|
||||||
DOWNLOAD_COMMAND ""
|
DOWNLOAD_COMMAND ""
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
PATCH_COMMAND ""
|
PATCH_COMMAND ""
|
||||||
BUILD_COMMAND ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile
|
BUILD_COMMAND ${READ_ENVIRO} ${VOLK_GNSSSDR_BUILD_COMMAND} volk_gnsssdr_profile
|
||||||
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}volk_gnsssdr${CMAKE_STATIC_LIBRARY_SUFFIX}
|
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}volk_gnsssdr${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/bin/volk_gnsssdr_profile
|
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/bin/volk_gnsssdr_profile
|
||||||
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
|
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install
|
||||||
@ -820,9 +823,9 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c
|
|||||||
# Ensure that aclocal and libtool are present
|
# Ensure that aclocal and libtool are present
|
||||||
if(OS_IS_LINUX)
|
if(OS_IS_LINUX)
|
||||||
if(EXISTS "/usr/bin/libtoolize")
|
if(EXISTS "/usr/bin/libtoolize")
|
||||||
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
# Everything ok, we can move on
|
# Everything ok, we can move on
|
||||||
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
message(" aclocal has not been found.")
|
message(" aclocal has not been found.")
|
||||||
message(" You can try to install it by typing:")
|
message(" You can try to install it by typing:")
|
||||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
@ -833,7 +836,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c
|
|||||||
message(" sudo apt-get install automake")
|
message(" sudo apt-get install automake")
|
||||||
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
message(FATAL_ERROR "aclocal is required to build glog from source")
|
message(FATAL_ERROR "aclocal is required to build glog from source")
|
||||||
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
else(EXISTS "/usr/bin/libtoolize")
|
else(EXISTS "/usr/bin/libtoolize")
|
||||||
message(" libtool has not been found.")
|
message(" libtool has not been found.")
|
||||||
message(" You can try to install it by typing:")
|
message(" You can try to install it by typing:")
|
||||||
@ -1092,10 +1095,43 @@ endif(NOT GNUTLS_OPENSSL_LIBRARY)
|
|||||||
# Matio - https://github.com/tbeu/matio
|
# Matio - https://github.com/tbeu/matio
|
||||||
########################################################################
|
########################################################################
|
||||||
find_package(MATIO)
|
find_package(MATIO)
|
||||||
if(NOT MATIO_FOUND)
|
if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERSION})
|
||||||
|
if(MATIO_FOUND)
|
||||||
|
message(STATUS " Matio installed version (${MATIO_VERSION_STRING}) is too old (>= ${GNSSSDR_MATIO_MIN_VERSION} is required).")
|
||||||
|
endif(MATIO_FOUND)
|
||||||
|
message(STATUS " Matio will be downloaded and built automatically")
|
||||||
|
message(STATUS " when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'. ")
|
||||||
find_package(ZLIB)
|
find_package(ZLIB)
|
||||||
if(ZLIB_FOUND)
|
if(ZLIB_FOUND)
|
||||||
get_filename_component(ZLIB_BASE_DIR ${ZLIB_INCLUDE_DIRS} DIRECTORY)
|
get_filename_component(ZLIB_BASE_DIR ${ZLIB_INCLUDE_DIRS} DIRECTORY)
|
||||||
|
if(OS_IS_LINUX)
|
||||||
|
if(NOT EXISTS "/usr/bin/libtoolize")
|
||||||
|
message(" libtool has not been found.")
|
||||||
|
message(" You can try to install it by typing:")
|
||||||
|
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(" sudo yum groupinstall 'Development Tools'")
|
||||||
|
elseif(${LINUX_DISTRIBUTION} MATCHES "openSUSE")
|
||||||
|
message(" sudo zypper install libtoool")
|
||||||
|
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(" sudo apt-get install libtool")
|
||||||
|
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(FATAL_ERROR "libtool is required to build matio from source")
|
||||||
|
endif(NOT EXISTS "/usr/bin/libtoolize")
|
||||||
|
if(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
|
message(STATUS "Automake found.")
|
||||||
|
else(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
|
message(" aclocal has not been found.")
|
||||||
|
message(" You can try to install it by typing:")
|
||||||
|
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(" sudo yum groupinstall 'Development Tools'")
|
||||||
|
elseif(${LINUX_DISTRIBUTION} MATCHES "openSUSE")
|
||||||
|
message(" sudo zypper install automake")
|
||||||
|
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(" sudo apt-get install automake")
|
||||||
|
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
|
message(FATAL_ERROR "aclocal is required to build matio from source")
|
||||||
|
endif(EXISTS "/usr/bin/aclocal-1.15" OR EXISTS "/usr/bin/aclocal-1.14" OR EXISTS "/usr/bin/aclocal-1.13" OR EXISTS "/usr/bin/aclocal-1.11" OR EXISTS "/usr/bin/aclocal-1.10")
|
||||||
|
endif(OS_IS_LINUX)
|
||||||
find_package(HDF5)
|
find_package(HDF5)
|
||||||
if(HDF5_FOUND)
|
if(HDF5_FOUND)
|
||||||
list(GET HDF5_LIBRARIES 0 HDF5_FIRST_DIR)
|
list(GET HDF5_LIBRARIES 0 HDF5_FIRST_DIR)
|
||||||
@ -1112,7 +1148,7 @@ if(NOT MATIO_FOUND)
|
|||||||
if(CMAKE_VERSION VERSION_LESS 3.2)
|
if(CMAKE_VERSION VERSION_LESS 3.2)
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
matio-${GNSSSDR_MATIO_LOCAL_VERSION}
|
matio-${GNSSSDR_MATIO_LOCAL_VERSION}
|
||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/mati
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/matio
|
||||||
GIT_REPOSITORY https://github.com/tbeu/matio
|
GIT_REPOSITORY https://github.com/tbeu/matio
|
||||||
GIT_TAG v${GNSSSDR_MATIO_LOCAL_VERSION}
|
GIT_TAG v${GNSSSDR_MATIO_LOCAL_VERSION}
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}
|
||||||
@ -1152,7 +1188,7 @@ if(NOT MATIO_FOUND)
|
|||||||
else(ZLIB_FOUND)
|
else(ZLIB_FOUND)
|
||||||
message(FATAL_ERROR "*** The zlib library is required to build gnss-sdr")
|
message(FATAL_ERROR "*** The zlib library is required to build gnss-sdr")
|
||||||
endif(ZLIB_FOUND)
|
endif(ZLIB_FOUND)
|
||||||
endif(NOT MATIO_FOUND)
|
endif(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERSION})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1225,9 +1261,9 @@ else(DOXYGEN_FOUND)
|
|||||||
message(STATUS " Get it from http://www.stack.nl/~dimitri/doxygen/index.html")
|
message(STATUS " Get it from http://www.stack.nl/~dimitri/doxygen/index.html")
|
||||||
if(OS_IS_LINUX)
|
if(OS_IS_LINUX)
|
||||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
message(" or simply by doing 'sudo yum install doxygen-latex'.")
|
message(STATUS " or simply by doing 'sudo yum install doxygen-latex'.")
|
||||||
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
else(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
message(" or simply by doing 'sudo apt-get install doxygen-latex'.")
|
message(STATUS " or simply by doing 'sudo apt-get install doxygen-latex'.")
|
||||||
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
endif(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||||
endif(OS_IS_LINUX)
|
endif(OS_IS_LINUX)
|
||||||
if(OS_IS_MACOSX)
|
if(OS_IS_MACOSX)
|
||||||
|
@ -128,6 +128,8 @@ $ git pull --rebase upstream next
|
|||||||
|
|
||||||
### How to submit a pull request
|
### How to submit a pull request
|
||||||
|
|
||||||
|
Before submitting you code, please be sure to [apply clang-format](http://gnss-sdr.org/coding-style/#use-tools-for-automated-code-formatting).
|
||||||
|
|
||||||
When the contribution is ready, you can [submit a pull
|
When the contribution is ready, you can [submit a pull
|
||||||
request](https://github.com/gnss-sdr/gnss-sdr/compare/). Head to your
|
request](https://github.com/gnss-sdr/gnss-sdr/compare/). Head to your
|
||||||
GitHub repository, switch to your `my_feature` branch, and click the
|
GitHub repository, switch to your `my_feature` branch, and click the
|
||||||
|
86
README.md
86
README.md
@ -31,8 +31,7 @@ This section describes how to set up the compilation environment in GNU/Linux or
|
|||||||
GNU/Linux
|
GNU/Linux
|
||||||
----------
|
----------
|
||||||
|
|
||||||
* Tested distributions: Ubuntu 14.04 LTS and [above](http://packages.ubuntu.com/search?keywords=gnss-sdr), Debian 8.0 "jessie" and [above](https://packages.debian.org/search?searchon=names&keywords=gnss-sdr), Linaro 15.03
|
* Tested distributions: Ubuntu 14.04 LTS and above; Debian 8.0 "jessie" and above; Fedora 26 and above; CentOS 7; Arch Linux.
|
||||||
* Known to work but not continually tested: Arch Linux, Fedora, and openSUSE
|
|
||||||
* Supported microprocessor architectures:
|
* Supported microprocessor architectures:
|
||||||
* i386: Intel x86 instruction set (32-bit microprocessors).
|
* i386: Intel x86 instruction set (32-bit microprocessors).
|
||||||
* amd64: also known as x86-64, the 64-bit version of the x86 instruction set, originally created by AMD and implemented by AMD, Intel, VIA and others.
|
* amd64: also known as x86-64, the 64-bit version of the x86 instruction set, originally created by AMD and implemented by AMD, Intel, VIA and others.
|
||||||
@ -53,34 +52,71 @@ Before building GNSS-SDR, you need to install all the required dependencies. The
|
|||||||
|
|
||||||
### Alternative 1: Install dependencies using software packages
|
### Alternative 1: Install dependencies using software packages
|
||||||
|
|
||||||
If you want to start building and running GNSS-SDR as quick and easy as possible, the best option is to install all the required dependencies as binary packages. If you are using Debian 8, Ubuntu 14.10 or above, this can be done by copying and pasting the following line in a terminal:
|
If you want to start building and running GNSS-SDR as quick and easy as possible, the best option is to install all the required dependencies as binary packages.
|
||||||
|
|
||||||
|
#### Debian / Ubuntu
|
||||||
|
|
||||||
|
If you are using Debian 8, Ubuntu 14.10 or above, this can be done by copying and pasting the following line in a terminal:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ sudo apt-get install build-essential cmake git libboost-dev libboost-date-time-dev \
|
$ sudo apt-get install build-essential cmake git libboost-dev libboost-date-time-dev \
|
||||||
libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev \
|
libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev \
|
||||||
libboost-serialization-dev libboost-program-options-dev libboost-test-dev \
|
libboost-serialization-dev liblog4cpp5-dev libuhd-dev gnuradio-dev gr-osmosdr \
|
||||||
liblog4cpp5-dev libuhd-dev gnuradio-dev gr-osmosdr libblas-dev liblapack-dev \
|
libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev \
|
||||||
libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev libgtest-dev \
|
libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
|
||||||
python-mako python-six libmatio-dev
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Alternatively, and starting from Ubuntu 16.04 LTS, you can install all the required dependencies by adding the line
|
Please note that `googletest` was named `libgtest-dev` in distributions older than Debian 9 "stretch" and Ubuntu 17.04 "zesty".
|
||||||
|
|
||||||
|
**Note for Ubuntu 14.04 LTS "trusty" users:** you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires `gnuradio-dev` >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT `libuhd-dev`, `gnuradio-dev` and `gr-osmosdr` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS. The same applies to `libmatio-dev`: Ubuntu 14.04 came with 1.5.2 and the minimum required version is 1.5.3. Please do not install the `libmatio-dev` package and install `libtool`, `automake` and `libhdf5-dev` instead. A recent version of the library will be downloaded and built automatically if CMake does not find it installed.
|
||||||
|
|
||||||
|
**Note for Debian 8 "jessie" users:** please see the note about `libmatio-dev` above. Install `libtool`, `automake` and `libhdf5-dev` instead.
|
||||||
|
|
||||||
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
|
||||||
|
#### Fedora
|
||||||
|
|
||||||
|
If you are using Fedora 26 or above, the required software dependencies can be installed by doing:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
|
$ sudo yum install make automake gcc gcc-c++ kernel-devel cmake git boost-devel \
|
||||||
|
boost-date-time boost-system boost-filesystem boost-thread boost-chrono \
|
||||||
|
boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel \
|
||||||
|
blas-devel lapack-devel matio-devel armadillo-devel gflags-devel \
|
||||||
|
glog-devel openssl-devel python-mako python-six
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
to your ```/etc/apt/sources.list``` file and doing:
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
|
#### CentOS
|
||||||
|
|
||||||
|
If you are using CentOS 7, you can install the dependencies via Extra Packages for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ sudo apt-get update
|
$ sudo yum install wget
|
||||||
$ sudo apt-get build-dep gnss-sdr
|
$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||||
|
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm
|
||||||
|
$ sudo yum install make automake gcc gcc-c++ kernel-devel libtool \
|
||||||
|
hdf5-devel cmake git boost-devel boost-date-time boost-system \
|
||||||
|
boost-filesystem boost-thread boost-chrono boost-serialization \
|
||||||
|
log4cpp-devel gnuradio-devel gr-osmosdr-devel blas-devel lapack-devel \
|
||||||
|
armadillo-devel openssl-devel python-mako python-six
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Once you have installed these packages, you can jump directly to [how to download the source code and build GNSS-SDR](#download-and-build-linux).
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
Note for Ubuntu 14.04 LTS "trusty" users: you will need to build from source and install GNU Radio manually, as explained below, since GNSS-SDR requires gnuradio-dev >= 3.7.3, and Ubuntu 14.04 came with 3.7.2. Install all the packages above BUT EXCEPT ```libuhd-dev```, ```gnuradio-dev``` and ```gr-osmosdr``` (and remove them if they are already installed in your machine), and install those dependencies using PyBOMBS.
|
#### Arch Linux
|
||||||
|
|
||||||
|
If you are using Arch Linux (with base-devel group installed):
|
||||||
|
|
||||||
|
~~~~~~
|
||||||
|
$ pacman -S cmake git boost boost-libs log4cpp libvolk gnuradio gnuradio-osmosdr \
|
||||||
|
blas lapack gflags google-glog gnutls openssl python2-mako python2-six \
|
||||||
|
libmatio gtest
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
Once you have installed these packages, you can jump directly to [download the source code and build GNSS-SDR](#download-and-build-linux).
|
||||||
|
|
||||||
### Alternative 2: Install dependencies using PyBOMBS
|
### Alternative 2: Install dependencies using PyBOMBS
|
||||||
|
|
||||||
@ -208,11 +244,11 @@ changing `/home/username/googletest-release-1.8.0/googletest` by the actual dire
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Install the [GnuTLS library](http://www.gnutls.org/ "GnuTLS's Homepage"):
|
#### Install the [GnuTLS](http://www.gnutls.org/ "GnuTLS's Homepage") or [OpenSSL](https://www.openssl.org/ "OpenSSL's Homepage") libraries:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ sudo apt-get install libgnutls-openssl-dev # For Debian/Ubuntu/LinuxMint
|
$ sudo apt-get install libgnutls-openssl-dev # For Debian/Ubuntu/LinuxMint
|
||||||
$ sudo yum install libgnutls-openssl-devel # For Fedora/CentOS/RHEL
|
$ sudo yum install openssl-devel # For Fedora/CentOS/RHEL
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
In case the GnuTLS library with openssl extensions package is not available in your GNU/Linux distribution, GNSS-SDR can also work well with OpenSSL.
|
In case the GnuTLS library with openssl extensions package is not available in your GNU/Linux distribution, GNSS-SDR can also work well with OpenSSL.
|
||||||
@ -877,7 +913,7 @@ SignalSource.dump1=false
|
|||||||
|
|
||||||
***Example: OsmoSDR-compatible Signal Source***
|
***Example: OsmoSDR-compatible Signal Source***
|
||||||
|
|
||||||
[OsmoSDR](http://sdr.osmocom.org/trac) is a small form-factor, inexpensive software defined radio project. It provides a driver for several front-ends, such as [RTL-based dongles](http://sdr.osmocom.org/trac/wiki/rtl-sdr), HackRF, bladeRF, etc. Note that not all the OsmoSDR-compatible devices can work as radio frequency front-ends for proper GNSS signal reception, please check the specifications. For suitable RF front-ends, you can use:
|
[OsmoSDR](http://sdr.osmocom.org/trac) is a small form-factor, inexpensive software defined radio project. It provides a driver for several front-ends, such as [RTL-based dongles](https://www.rtl-sdr.com/tag/v3/), [HackRF](https://greatscottgadgets.com/hackrf/), [bladeRF](https://www.nuand.com/), [LimeSDR](https://myriadrf.org/projects/limesdr/), [etc](https://github.com/osmocom/gr-osmosdr/blob/master/README). Note that not all the OsmoSDR-compatible devices can work as radio frequency front-ends for proper GNSS signal reception, please check the specifications. For suitable RF front-ends, you can use:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
@ -891,6 +927,20 @@ SignalSource.enable_throttle_control=false
|
|||||||
SignalSource.osmosdr_args=hackrf,bias=1
|
SignalSource.osmosdr_args=hackrf,bias=1
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
|
For [RTL-SDR Blog V3](https://www.rtl-sdr.com/tag/v3/) dongles, the arguments are:
|
||||||
|
|
||||||
|
~~~~~~
|
||||||
|
SignalSource.osmosdr_args=rtl,bias=1
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
and for [LimeSDR](https://myriadrf.org/projects/limesdr/):
|
||||||
|
|
||||||
|
~~~~~~
|
||||||
|
SignalSource.osmosdr_args=driver=lime,soapy=0
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
|
||||||
In case of using a Zarlink's RTL2832 based DVB-T receiver, you can even use the ```rtl_tcp``` I/Q server in order to use the USB dongle remotely. In a terminal, type:
|
In case of using a Zarlink's RTL2832 based DVB-T receiver, you can even use the ```rtl_tcp``` I/Q server in order to use the USB dongle remotely. In a terminal, type:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
@ -1350,7 +1400,7 @@ Ok, now what?
|
|||||||
|
|
||||||
In order to start using GNSS-SDR, you may want to populate ```gnss-sdr/data``` folder (or anywhere else on your system) with raw data files. By "raw data" we mean the output of a Radio Frequency front-end's Analog-to-Digital converter. GNSS-SDR needs signal samples already in baseband or in passband, at a suitable intemediate frequency (on the order of MHz). Prepare your configuration file, and then you are ready for running ```gnss-sdr --config_file=your_configuration.conf```, and seeing how the file is processed.
|
In order to start using GNSS-SDR, you may want to populate ```gnss-sdr/data``` folder (or anywhere else on your system) with raw data files. By "raw data" we mean the output of a Radio Frequency front-end's Analog-to-Digital converter. GNSS-SDR needs signal samples already in baseband or in passband, at a suitable intemediate frequency (on the order of MHz). Prepare your configuration file, and then you are ready for running ```gnss-sdr --config_file=your_configuration.conf```, and seeing how the file is processed.
|
||||||
|
|
||||||
Another interesting option is working in real-time with a RF front-end. We provide drivers for UHD-compatible hardware such as the [USRP family](http://www.ettus.com/product), for OsmoSDR and other front-ends (HackRF, bladeRF), for the GN3S v2 USB dongle and for some DVB-T USB dongles. Start with a low number of channels and then increase it in order to test how many channels your processor can handle in real-time.
|
Another interesting option is working in real-time with a RF front-end. We provide drivers for UHD-compatible hardware such as the [USRP family](http://www.ettus.com/product), for OsmoSDR and other front-ends (HackRF, bladeRF, LimeSDR), for the GN3S v2 USB dongle and for some DVB-T USB dongles. Start with a low number of channels and then increase it in order to test how many channels your processor can handle in real-time.
|
||||||
|
|
||||||
You can find more information at the [GNSS-SDR Documentation page](http://gnss-sdr.org/docs/) or directly asking to the [GNSS-SDR Developers mailing list](http://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers).
|
You can find more information at the [GNSS-SDR Documentation page](http://gnss-sdr.org/docs/) or directly asking to the [GNSS-SDR Developers mailing list](http://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers).
|
||||||
|
|
||||||
|
@ -74,7 +74,11 @@ IF(GFlags_ROOT_DIR)
|
|||||||
SET(GFlags_LIBRARY_DIRS ${GFlags_ROOT_DIR})
|
SET(GFlags_LIBRARY_DIRS ${GFlags_ROOT_DIR})
|
||||||
|
|
||||||
FIND_LIBRARY(GFlags_lib gflags ${GFlags_LIBRARY_DIRS})
|
FIND_LIBRARY(GFlags_lib gflags ${GFlags_LIBRARY_DIRS})
|
||||||
|
if(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||||
|
set(GFLAGS_GREATER_20 TRUE)
|
||||||
|
else(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||||
|
set(GFLAGS_GREATER_20 FALSE)
|
||||||
|
endif(EXISTS ${GFlags_INCLUDE_DIRS}/gflags/gflags_gflags.h)
|
||||||
# set up include and link directory
|
# set up include and link directory
|
||||||
include_directories(${GFlags_INCLUDE_DIRS})
|
include_directories(${GFlags_INCLUDE_DIRS})
|
||||||
link_directories(${GFlags_LIBRARY_DIRS})
|
link_directories(${GFlags_LIBRARY_DIRS})
|
||||||
|
@ -164,4 +164,17 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION)
|
|||||||
if(GNURADIO_VERSION_GREATER_THAN_373)
|
if(GNURADIO_VERSION_GREATER_THAN_373)
|
||||||
set(PC_GNURADIO_RUNTIME_VERSION "3.7.4+")
|
set(PC_GNURADIO_RUNTIME_VERSION "3.7.4+")
|
||||||
endif(GNURADIO_VERSION_GREATER_THAN_373)
|
endif(GNURADIO_VERSION_GREATER_THAN_373)
|
||||||
|
|
||||||
|
find_file(GNURADIO_VERSION_GREATER_THAN_38
|
||||||
|
NAMES gnuradio/filter/mmse_resampler_cc.h
|
||||||
|
HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
|
||||||
|
${CMAKE_INSTALL_PREFIX}/include
|
||||||
|
${GNURADIO_INSTALL_PREFIX}/include
|
||||||
|
PATHS /usr/local/include
|
||||||
|
/usr/include
|
||||||
|
${GNURADIO_INSTALL_PREFIX}/include
|
||||||
|
)
|
||||||
|
if(GNURADIO_VERSION_GREATER_THAN_38)
|
||||||
|
set(PC_GNURADIO_RUNTIME_VERSION "3.8.0+")
|
||||||
|
endif(GNURADIO_VERSION_GREATER_THAN_38)
|
||||||
endif(NOT PC_GNURADIO_RUNTIME_VERSION)
|
endif(NOT PC_GNURADIO_RUNTIME_VERSION)
|
@ -42,16 +42,12 @@ GNSS-SDR.SUPL_CI=40184
|
|||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
SignalSource.implementation=Osmosdr_Signal_Source
|
SignalSource.implementation=Osmosdr_Signal_Source
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
;#freq: RF front-end center frequency in [Hz]
|
||||||
SignalSource.freq=1575420000
|
SignalSource.freq=1575420000
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=2000000
|
SignalSource.sampling_frequency=2000000
|
||||||
|
|
||||||
;#gain: Front-end Gain in [dB]
|
;#gain: Front-end Gain in [dB]
|
||||||
SignalSource.gain=40
|
SignalSource.gain=40
|
||||||
SignalSource.rf_gain=40
|
SignalSource.rf_gain=40
|
||||||
@ -91,7 +87,7 @@ SignalSource.dump_filename=../data/signal_source.dat
|
|||||||
SignalConditioner.implementation=Pass_Through
|
SignalConditioner.implementation=Pass_Through
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: Use [Ishort_To_Complex] or [Pass_Through]
|
;#implementation: Use [Ishort_To_Complex] or [Pass_Through]
|
||||||
DataTypeAdapter.implementation=Pass_Through
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
;#dump: Dump the filtered data to a file.
|
;#dump: Dump the filtered data to a file.
|
||||||
@ -109,20 +105,15 @@ DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
|||||||
|
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -172,6 +163,12 @@ InputFilter.IF=0
|
|||||||
|
|
||||||
InputFilter.decimation_factor=1
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
@ -179,11 +176,7 @@ InputFilter.decimation_factor=1
|
|||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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]
|
|
||||||
Acquisition.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
Acquisition.item_type=gr_complex
|
Acquisition.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
@ -200,4 +193,8 @@ Acquisition.doppler_min=-100000
|
|||||||
Acquisition.doppler_step=500
|
Acquisition.doppler_step=500
|
||||||
;#maximum dwells
|
;#maximum dwells
|
||||||
Acquisition.max_dwells=15
|
Acquisition.max_dwells=15
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition.dump=false
|
||||||
|
;#filename: Log path and filename
|
||||||
|
Acquisition.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
@ -25,32 +25,18 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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.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.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
SignalSource.item_type=ishort
|
SignalSource.item_type=ishort
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
|
||||||
;#repeat: Repeat the processing file.
|
;#repeat: Repeat the processing file.
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -82,15 +68,10 @@ DataTypeAdapter.implementation=Ishort_To_Complex
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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.
|
;#These options are based on parameters of GNU Radio's function: gr_remez.
|
||||||
;#These 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.
|
;#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.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
@ -142,31 +123,31 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resampled data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
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=2000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS L1 C/A satellite channels.
|
;#count: Number of available GPS L1 C/A satellite channels.
|
||||||
@ -194,19 +175,13 @@ Channel.signal=1C
|
|||||||
;Channel1.satellite=18
|
;Channel1.satellite=18
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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]
|
|
||||||
Acquisition_1C.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.005
|
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]
|
;#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]
|
||||||
@ -219,46 +194,41 @@ Acquisition_1C.doppler_min=-10000
|
|||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
;#maximum dwells
|
;#maximum dwells
|
||||||
Acquisition_1C.max_dwells=5
|
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 GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm:
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -266,42 +236,30 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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
|
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]
|
;#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
|
PVT.output_rate_ms=10
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms <= display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms <= display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static
|
PVT.positioning_mode=PPP_Static
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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.
|
;#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
|
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=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
|
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
[GNSS-SDR]
|
[GNSS-SDR]
|
||||||
|
|
||||||
;######### GLOBAL OPTIONS ##################
|
;######### GLOBAL OPTIONS ##################
|
||||||
GNSS-SDR.internal_fs_hz=6625000
|
GNSS-SDR.internal_fs_sps=6625000
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
SignalSource.filename=/archive/NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/archive/NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=ibyte
|
SignalSource.item_type=ibyte
|
||||||
SignalSource.sampling_frequency=6625000
|
|
||||||
;SignalSource.freq=0
|
|
||||||
;SignalSource.samples=66250000
|
;SignalSource.samples=66250000
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.dump=false;
|
SignalSource.dump=false;
|
||||||
|
@ -10,7 +10,7 @@ GNSS-SDR.internal_fs_sps=2727933.33 ; 8183800/3
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation:
|
||||||
;#Notes for GN3S source:
|
;#Notes for GN3S source:
|
||||||
; - The front-end sampling frequency is fixed to 8.1838 MSPS (8183800 Hz).
|
; - The front-end sampling frequency is fixed to 8.1838 MSPS (8183800 Hz).
|
||||||
; - The baseband signal is shifted to an IF of 38400 Hz. It should be corrected with the signal conditioner block
|
; - The baseband signal is shifted to an IF of 38400 Hz. It should be corrected with the signal conditioner block
|
||||||
@ -66,25 +66,25 @@ Channels.in_acquisition=1
|
|||||||
Channel.signal=1C
|
Channel.signal=1C
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.008
|
Acquisition_1C.threshold=0.008
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=false
|
|
||||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=45.0;
|
Tracking_1C.pll_bw_hz=45.0;
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
|
108
conf/gnss-sdr_GPS_L1_LimeSDR.conf
Normal file
108
conf/gnss-sdr_GPS_L1_LimeSDR.conf
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
[GNSS-SDR]
|
||||||
|
|
||||||
|
;######### GLOBAL OPTIONS ##################
|
||||||
|
GNSS-SDR.internal_fs_sps=2000000
|
||||||
|
|
||||||
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
|
SignalSource.implementation=Osmosdr_Signal_Source
|
||||||
|
SignalSource.item_type=gr_complex
|
||||||
|
SignalSource.sampling_frequency=2000000
|
||||||
|
;# LimeSDR RX1 antennas: NONE,LNAH,LNAL,LNAW
|
||||||
|
SignalSource.antenna=LNAW
|
||||||
|
SignalSource.freq=1575420000
|
||||||
|
SignalSource.gain=40
|
||||||
|
SignalSource.rf_gain=40
|
||||||
|
SignalSource.if_gain=30
|
||||||
|
SignalSource.AGC_enabled=false
|
||||||
|
SignalSource.samples=0
|
||||||
|
SignalSource.repeat=false
|
||||||
|
;# Next line enables the LimeSDR
|
||||||
|
SignalSource.osmosdr_args=driver=lime,soapy=0
|
||||||
|
SignalSource.enable_throttle_control=false
|
||||||
|
SignalSource.dump=false
|
||||||
|
SignalSource.dump_filename=./signal_source.dat
|
||||||
|
|
||||||
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
InputFilter.decimation_factor=1
|
||||||
|
InputFilter.input_item_type=gr_complex
|
||||||
|
InputFilter.output_item_type=gr_complex
|
||||||
|
InputFilter.taps_item_type=float
|
||||||
|
InputFilter.number_of_taps=5
|
||||||
|
InputFilter.number_of_bands=2
|
||||||
|
InputFilter.band1_begin=0.0
|
||||||
|
InputFilter.band1_end=0.85
|
||||||
|
InputFilter.band2_begin=0.9
|
||||||
|
InputFilter.band2_end=1.0
|
||||||
|
InputFilter.ampl1_begin=1.0
|
||||||
|
InputFilter.ampl1_end=1.0
|
||||||
|
InputFilter.ampl2_begin=0.0
|
||||||
|
InputFilter.ampl2_end=0.0
|
||||||
|
InputFilter.band1_error=1.0
|
||||||
|
InputFilter.band2_error=1.0
|
||||||
|
InputFilter.filter_type=bandpass
|
||||||
|
InputFilter.grid_density=16
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### RESAMPLER CONFIG ############
|
||||||
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
|
Channels_1C.count=8
|
||||||
|
Channels.in_acquisition=1
|
||||||
|
Channel.signal=1C
|
||||||
|
|
||||||
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
|
Acquisition_1C.item_type=gr_complex
|
||||||
|
Acquisition_1C.if=0
|
||||||
|
Acquisition_1C.sampled_ms=1
|
||||||
|
Acquisition_1C.threshold=0.015
|
||||||
|
Acquisition_1C.doppler_max=10000
|
||||||
|
Acquisition_1C.doppler_min=-10000
|
||||||
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.max_dwells=15
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
|
Tracking_1C.item_type=gr_complex
|
||||||
|
Tracking_1C.if=0
|
||||||
|
Tracking_1C.pll_bw_hz=40.0;
|
||||||
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=GPS_L1_CA_Observables
|
||||||
|
Observables.dump=false
|
||||||
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
;######### PVT CONFIG ############
|
||||||
|
;PVT.implementation=RTKLIB_PVT
|
||||||
|
PVT.positioning_mode=Single
|
||||||
|
PVT.output_rate_ms=100
|
||||||
|
PVT.display_rate_ms=500
|
||||||
|
PVT.iono_model=Broadcast
|
||||||
|
PVT.trop_model=Saastamoinen
|
||||||
|
PVT.flag_rtcm_server=true
|
||||||
|
PVT.flag_rtcm_tty_port=false
|
||||||
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
PVT.rtcm_tcp_port=2101
|
||||||
|
PVT.rtcm_MT1019_rate_ms=5000
|
||||||
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
|
PVT.rinex_version=2
|
@ -11,30 +11,18 @@ GNSS-SDR.internal_fs_sps=4000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Spir_File_Signal_Source
|
SignalSource.implementation=Spir_File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=int
|
SignalSource.item_type=int
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=80000000
|
SignalSource.sampling_frequency=80000000
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -49,7 +37,7 @@ SignalSource.enable_throttle_control=false
|
|||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Pass_Through
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
DataTypeAdapter.item_type=float
|
DataTypeAdapter.item_type=float
|
||||||
@ -74,12 +62,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=float
|
InputFilter.input_item_type=float
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -131,27 +120,22 @@ InputFilter.decimation_factor=20
|
|||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
@ -189,19 +173,13 @@ Channel.signal=1C
|
|||||||
;Channel3.satellite=19
|
;Channel3.satellite=19
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
_1C
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
;#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
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.005
|
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]
|
;#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]
|
||||||
@ -214,95 +192,65 @@ Acquisition_1C.doppler_min=-10000
|
|||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
;#maximum dwells
|
;#maximum dwells
|
||||||
Acquisition_1C.max_dwells=5
|
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
|
||||||
|
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
|
||||||
|
|
||||||
;######### ACQUISITION CH 0 CONFIG ############
|
|
||||||
|
|
||||||
;#repeat_satellite: Use only jointly with the satellite PRN ID option. The default value is false
|
|
||||||
;Acquisition0.repeat_satellite = true
|
|
||||||
;Acquisition1.repeat_satellite = true
|
|
||||||
;Acquisition2.repeat_satellite = true
|
|
||||||
;Acquisition3.repeat_satellite = true
|
|
||||||
|
|
||||||
;#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
|
|
||||||
Acquisition0.cboc=false
|
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION CH 1 CONFIG ############
|
|
||||||
Acquisition1.cboc=false
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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=2.0;
|
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
|
||||||
Tracking_1C.order=3;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
|
;#implementation: Position Velocity and Time (PVT) implementation algorithm
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=500
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# RINEX, KML, and NMEA output configuration
|
;# 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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
|
||||||
;#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
|
|
||||||
|
@ -26,39 +26,28 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
; # implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
; # implementation:
|
||||||
SignalSource.implementation=UHD_Signal_Source
|
SignalSource.implementation=UHD_Signal_Source
|
||||||
|
|
||||||
; # When left empty, the device discovery routines will search all vailable transports on the system (ethernet, usb...)
|
; # 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
|
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.
|
||||||
; # item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
;SignalSource.item_type=gr_complex
|
;SignalSource.item_type=gr_complex
|
||||||
SignalSource.item_type=cshort
|
SignalSource.item_type=cshort
|
||||||
|
; # sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
; # sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
; # freq: RF front-end center frequency in [Hz]
|
; # freq: RF front-end center frequency in [Hz]
|
||||||
SignalSource.freq=1575420000
|
SignalSource.freq=1575420000
|
||||||
|
|
||||||
; # gain: Front-end Gain in [dB]
|
; # gain: Front-end Gain in [dB]
|
||||||
SignalSource.gain=40
|
SignalSource.gain=40
|
||||||
|
|
||||||
; # subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
; # subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
||||||
SignalSource.subdevice=A:0
|
SignalSource.subdevice=A:0
|
||||||
|
|
||||||
; # samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
; # samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
; # repeat: Repeat the processing file.
|
||||||
; # repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
; # dump: Dump the Signal source data to a file.
|
||||||
; # dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -74,7 +63,7 @@ SignalConditioner.implementation=Signal_Conditioner
|
|||||||
;SignalConditioner.implementation=Pass_Through
|
;SignalConditioner.implementation=Pass_Through
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Pass_Through
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
DataTypeAdapter.item_type=cshort
|
DataTypeAdapter.item_type=cshort
|
||||||
@ -92,20 +81,15 @@ InputFilter.implementation=Fir_Filter
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
;InputFilter.implementation=Pass_Through
|
;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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=cshort
|
InputFilter.input_item_type=cshort
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -152,31 +136,31 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resampled data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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=4000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=4000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
@ -223,19 +207,13 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.01
|
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]
|
;#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]
|
||||||
@ -249,54 +227,42 @@ maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisiti
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### 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.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -304,34 +270,24 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -25,39 +25,27 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=UHD_Signal_Source
|
SignalSource.implementation=UHD_Signal_Source
|
||||||
|
|
||||||
;#When left empty, the device discovery routines will search all available transports on the system (ethernet, usb...)
|
;#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
|
;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.
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=2000000
|
SignalSource.sampling_frequency=2000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
;#freq: RF front-end center frequency in [Hz]
|
||||||
SignalSource.freq=1575420000
|
SignalSource.freq=1575420000
|
||||||
|
|
||||||
;#gain: Front-end Gain in [dB]
|
;#gain: Front-end Gain in [dB]
|
||||||
SignalSource.gain=60
|
SignalSource.gain=60
|
||||||
|
|
||||||
;#subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
;#subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
||||||
SignalSource.subdevice=A:0
|
SignalSource.subdevice=A:0
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
;#dump: Dump the Signal source data to a file.
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -89,20 +77,15 @@ DataTypeAdapter.implementation=Pass_Through
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -149,31 +132,31 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=2000000
|
InputFilter.sampling_frequency=2000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
@ -186,9 +169,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
||||||
Channel.signal=1C
|
Channel.signal=1C
|
||||||
@ -212,18 +197,13 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
;#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
|
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.01
|
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]
|
;#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]
|
||||||
@ -237,54 +217,43 @@ maximum test statistics. Only use with implementation: [GPS_L1_CA_PCPS_Acquisiti
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -292,35 +261,24 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -11,36 +11,16 @@ GNSS-SDR.internal_fs_sps=4000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] or [Rtlsdr_Signal_Source]
|
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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.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 short for I/Q interleaved short integer.
|
|
||||||
;#If short is selected you should have to instantiate the Ishort_To_Complex data_type_adapter.
|
|
||||||
|
|
||||||
SignalSource.item_type=ishort
|
SignalSource.item_type=ishort
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -75,20 +55,15 @@ DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -136,6 +111,11 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -146,21 +126,17 @@ InputFilter.IF=0
|
|||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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=4000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=4000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available satellite channels.
|
;#count: Number of available satellite channels.
|
||||||
@ -195,22 +171,20 @@ Channel4.satellite=32
|
|||||||
Channel4.repeat_satellite=false
|
Channel4.repeat_satellite=false
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############_1C
|
;######### ACQUISITION GLOBAL CONFIG ############_1C
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_QuickSync_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.dump=true
|
|
||||||
;#filename: Log path and filename
|
|
||||||
;Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent-integration_time_ms=4
|
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_1C.implementation=GPS_L1_CA_PCPS_QuickSync_Acquisition
|
|
||||||
|
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;######### ACQUISITION CHANNELS CONFIG ######
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_QuickSync_Acquisition
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_QuickSync_Acquisition
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.4
|
Acquisition_1C.threshold=0.4
|
||||||
@ -222,45 +196,36 @@ Acquisition_1C.doppler_step=250
|
|||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A.
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A.
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -268,26 +233,20 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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
|
|
||||||
|
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
|
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
|
||||||
PVT.flag_nmea_tty_port=true
|
PVT.flag_nmea_tty_port=true
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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
|
||||||
|
110
conf/gnss-sdr_GPS_L1_bladeRF.conf
Normal file
110
conf/gnss-sdr_GPS_L1_bladeRF.conf
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
[GNSS-SDR]
|
||||||
|
|
||||||
|
;######### GLOBAL OPTIONS ##################
|
||||||
|
GNSS-SDR.internal_fs_sps=2000000
|
||||||
|
|
||||||
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
|
SignalSource.implementation=Osmosdr_Signal_Source
|
||||||
|
SignalSource.item_type=gr_complex
|
||||||
|
SignalSource.sampling_frequency=2000000
|
||||||
|
SignalSource.freq=1575420000
|
||||||
|
;# RF Gain: LNA Gain {0, 3, 6}
|
||||||
|
SignalSource.gain=6
|
||||||
|
;# IF Gain: N/A
|
||||||
|
SignalSource.rf_gain=40
|
||||||
|
;# BB Gain: RX VGA1 + VGA2 [5, 60]
|
||||||
|
SignalSource.if_gain=48
|
||||||
|
SignalSource.AGC_enabled=false
|
||||||
|
SignalSource.samples=0
|
||||||
|
SignalSource.repeat=false
|
||||||
|
;# Next line enables the bladeRF
|
||||||
|
SignalSource.osmosdr_args=bladerf=0
|
||||||
|
SignalSource.enable_throttle_control=false
|
||||||
|
SignalSource.dump=false
|
||||||
|
SignalSource.dump_filename=./signal_source.dat
|
||||||
|
|
||||||
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
InputFilter.decimation_factor=1
|
||||||
|
InputFilter.input_item_type=gr_complex
|
||||||
|
InputFilter.output_item_type=gr_complex
|
||||||
|
InputFilter.taps_item_type=float
|
||||||
|
InputFilter.number_of_taps=5
|
||||||
|
InputFilter.number_of_bands=2
|
||||||
|
InputFilter.band1_begin=0.0
|
||||||
|
InputFilter.band1_end=0.85
|
||||||
|
InputFilter.band2_begin=0.9
|
||||||
|
InputFilter.band2_end=1.0
|
||||||
|
InputFilter.ampl1_begin=1.0
|
||||||
|
InputFilter.ampl1_end=1.0
|
||||||
|
InputFilter.ampl2_begin=0.0
|
||||||
|
InputFilter.ampl2_end=0.0
|
||||||
|
InputFilter.band1_error=1.0
|
||||||
|
InputFilter.band2_error=1.0
|
||||||
|
InputFilter.filter_type=bandpass
|
||||||
|
InputFilter.grid_density=16
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### RESAMPLER CONFIG ############
|
||||||
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
|
Channels_1C.count=8
|
||||||
|
Channels.in_acquisition=1
|
||||||
|
Channel.signal=1C
|
||||||
|
|
||||||
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
|
Acquisition_1C.item_type=gr_complex
|
||||||
|
Acquisition_1C.if=0
|
||||||
|
Acquisition_1C.sampled_ms=1
|
||||||
|
Acquisition_1C.threshold=0.015
|
||||||
|
Acquisition_1C.doppler_max=10000
|
||||||
|
Acquisition_1C.doppler_min=-10000
|
||||||
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.max_dwells=15
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
|
Tracking_1C.item_type=gr_complex
|
||||||
|
Tracking_1C.if=0
|
||||||
|
Tracking_1C.pll_bw_hz=40.0;
|
||||||
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
#Observables.implementation=GPS_L1_CA_Observables
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
|
Observables.dump=false
|
||||||
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
;######### PVT CONFIG ############
|
||||||
|
;PVT.implementation=RTKLIB_PVT
|
||||||
|
PVT.positioning_mode=Single
|
||||||
|
PVT.output_rate_ms=100
|
||||||
|
PVT.display_rate_ms=500
|
||||||
|
PVT.iono_model=Broadcast
|
||||||
|
PVT.trop_model=Saastamoinen
|
||||||
|
PVT.flag_rtcm_server=false
|
||||||
|
PVT.flag_rtcm_tty_port=false
|
||||||
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
PVT.rtcm_tcp_port=2101
|
||||||
|
PVT.rtcm_MT1019_rate_ms=5000
|
||||||
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
|
PVT.rinex_version=2
|
@ -86,18 +86,18 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
Acquisition_1C.threshold=0.015
|
Acquisition_1C.threshold=0.015
|
||||||
;Acquisition_1C.pfa=0.0001
|
;Acquisition_1C.pfa=0.0001
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_min=-10000
|
Acquisition_1C.doppler_min=-10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
Acquisition_1C.max_dwells=15
|
Acquisition_1C.max_dwells=15
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
@ -111,11 +111,13 @@ Tracking_1C.dll_bw_hz=2.0;
|
|||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
TelemetryDecoder_1C.decimation_factor=1;
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
@ -14,11 +14,8 @@ SignalSource.implementation=File_Signal_Source
|
|||||||
SignalSource.filename=/home/javier/gnss/gnss-simulator/build/signal_out.bin ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/home/javier/gnss/gnss-simulator/build/signal_out.bin ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
SignalSource.sampling_frequency=2600000
|
SignalSource.sampling_frequency=2600000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
|
|
||||||
|
|
||||||
@ -26,13 +23,21 @@ SignalSource.enable_throttle_control=false
|
|||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Ibyte_To_Complex
|
DataTypeAdapter.implementation=Ibyte_To_Complex
|
||||||
DataTypeAdapter.dump=false
|
DataTypeAdapter.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
|
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
|
||||||
|
|
||||||
|
InputFilter.implementation=Pass_Through
|
||||||
|
InputFilter.input_item_type=gr_complex
|
||||||
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
|
Resampler.implementation=Pass_Through
|
||||||
|
Resampler.item_type=gr_complex
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
Channels_1C.count=5
|
Channels_1C.count=5
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
@ -40,32 +45,34 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.05
|
Acquisition_1C.threshold=0.05
|
||||||
;Acquisition_1C.pfa=0.01
|
;Acquisition_1C.pfa=0.01
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_step=250
|
Acquisition_1C.doppler_step=250
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=false
|
|
||||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=25.0;
|
Tracking_1C.pll_bw_hz=25.0;
|
||||||
Tracking_1C.dll_bw_hz=1.0;
|
Tracking_1C.dll_bw_hz=1.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_c
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
@ -13,8 +13,6 @@ GNSS-SDR.internal_fs_sps=4000000
|
|||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
SignalSource.filename=/datalogger/signals/Agilent/New York/4msps.dat ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/datalogger/signals/Agilent/New York/4msps.dat ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
SignalSource.sampling_frequency=4000000
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=250000000
|
SignalSource.samples=250000000
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -33,16 +31,17 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.005
|
Acquisition_1C.threshold=0.005
|
||||||
;Acquisition_1C.pfa=0.01
|
;Acquisition_1C.pfa=0.01
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking_GPU
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking_GPU
|
||||||
@ -54,10 +53,12 @@ Tracking_1C.pll_bw_hz=45.0;
|
|||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
@ -16,7 +16,6 @@ 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 ;/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.item_type=ishort
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -45,16 +44,13 @@ Resampler.item_type=cshort
|
|||||||
Channels_1C.count=8
|
Channels_1C.count=8
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
Channel.signal=1C
|
Channel.signal=1C
|
||||||
;Channel.item_type=cshort
|
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=cshort
|
Acquisition_1C.item_type=cshort
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.008
|
Acquisition_1C.threshold=0.008
|
||||||
;Acquisition_1C.pfa=0.000001
|
;Acquisition_1C.pfa=0.000001
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
@ -62,6 +58,9 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.tong_init_val=2
|
Acquisition_1C.tong_init_val=2
|
||||||
Acquisition_1C.tong_max_val=10
|
Acquisition_1C.tong_max_val=10
|
||||||
Acquisition_1C.tong_max_dwells=20
|
Acquisition_1C.tong_max_dwells=20
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
@ -73,11 +72,13 @@ Tracking_1C.pll_bw_hz=40.0;
|
|||||||
Tracking_1C.dll_bw_hz=4.0;
|
Tracking_1C.dll_bw_hz=4.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
TelemetryDecoder_1C.decimation_factor=1;
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
@ -31,7 +31,6 @@ SignalSource.implementation=Nsr_File_Signal_Source
|
|||||||
SignalSource.filename=/home/javier/Descargas/RoofTop_FE0_Band1.stream ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/home/javier/Descargas/RoofTop_FE0_Band1.stream ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
SignalSource.sampling_frequency=20480000
|
SignalSource.sampling_frequency=20480000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -89,71 +88,69 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.0075
|
Acquisition_1C.threshold=0.0075
|
||||||
;Acquisition_1C.pfa=0.01
|
;Acquisition_1C.pfa=0.01
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.coherent_integration_time_ms=20
|
Acquisition_2S.coherent_integration_time_ms=20
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.00045
|
Acquisition_2S.threshold=0.00045
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_step=100
|
Acquisition_2S.doppler_step=100
|
||||||
Acquisition_2S.bit_transition_flag=false
|
Acquisition_2S.bit_transition_flag=false
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GPS CONFIG ############
|
;######### TRACKING GPS CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=false
|
|
||||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=45.0;
|
Tracking_1C.pll_bw_hz=45.0;
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=true
|
|
||||||
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=1.5;
|
Tracking_2S.pll_bw_hz=1.5;
|
||||||
Tracking_2S.dll_bw_hz=0.4;
|
Tracking_2S.dll_bw_hz=0.4;
|
||||||
Tracking_2S.order=2;
|
Tracking_2S.order=2;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=true
|
||||||
|
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=false
|
TelemetryDecoder_2S.dump=false
|
||||||
TelemetryDecoder_2S.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
|
@ -46,7 +46,6 @@ SignalSource.big_endian_bytes=false
|
|||||||
; This setting specifies which of the three cases holds for this data file
|
; This setting specifies which of the three cases holds for this data file
|
||||||
SignalSource.sample_type=real
|
SignalSource.sample_type=real
|
||||||
SignalSource.sampling_frequency=20480000
|
SignalSource.sampling_frequency=20480000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -102,37 +101,40 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.0075
|
Acquisition_1C.threshold=0.0075
|
||||||
;Acquisition_1C.pfa=0.01
|
;Acquisition_1C.pfa=0.01
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GPS CONFIG ############
|
;######### TRACKING GPS CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=false
|
|
||||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=45.0;
|
Tracking_1C.pll_bw_hz=45.0;
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
|
@ -25,42 +25,21 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#When left empty, the device discovery routines will search all vailable transports on the system (ethernet, usb...)
|
|
||||||
SignalSource.device_address=192.168.50.2
|
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
SignalSource.filename=/home/javier/signals/signal_source_int.dat
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=2000000
|
SignalSource.sampling_frequency=2000000
|
||||||
|
|
||||||
;#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.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
;#repeat: Repeat the processing file. Disable this option in this version
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=dump.dat
|
SignalSource.dump_filename=dump.dat
|
||||||
|
|
||||||
|
|
||||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -100,12 +79,10 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
|
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
|
||||||
;#notice that this affects the Acquisition threshold range!
|
;#notice that this affects the Acquisition threshold range!
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
@ -114,50 +91,41 @@ Acquisition_1C.threshold=20
|
|||||||
;Acquisition_1C.pfa=0.01
|
;Acquisition_1C.pfa=0.01
|
||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
Acquisition_1C.doppler_step=250
|
Acquisition_1C.doppler_step=250
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GPS CONFIG ############
|
;######### TRACKING GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
|
|
||||||
;#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_
|
|
||||||
|
|
||||||
;# Extended correlation after telemetry bit synchronization
|
;# 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) )
|
;# 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
|
;# Longer integration period require more stable front-end LO
|
||||||
|
|
||||||
Tracking_1C.extend_correlation_ms=10
|
Tracking_1C.extend_correlation_ms=10
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.pll_bw_hz=35;
|
Tracking_1C.pll_bw_hz=35;
|
||||||
Tracking_1C.pll_bw_narrow_hz=30;
|
Tracking_1C.pll_bw_narrow_hz=30;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
|
|
||||||
Tracking_1C.dll_bw_narrow_hz=1.5;
|
Tracking_1C.dll_bw_narrow_hz=1.5;
|
||||||
|
|
||||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.fll_bw_hz=2.0;
|
Tracking_1C.fll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1C.order=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_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=true
|
Observables.dump=true
|
||||||
|
@ -27,44 +27,31 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] [Osmosdr_Signal_Source]
|
;#implementation
|
||||||
SignalSource.implementation=RtlTcp_Signal_Source
|
SignalSource.implementation=RtlTcp_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
;FOR USE GNSS-SDR WITH RTLSDR DONGLES USER MUST SET THE CALIBRATED SAMPLE RATE HERE
|
;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/
|
; 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
|
SignalSource.sampling_frequency=1200000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
;#freq: RF front-end center frequency in [Hz]
|
||||||
SignalSource.freq=1575420000
|
SignalSource.freq=1575420000
|
||||||
|
|
||||||
;#gain: Front-end overall gain Gain in [dB]
|
;#gain: Front-end overall gain Gain in [dB]
|
||||||
SignalSource.gain=40
|
SignalSource.gain=40
|
||||||
|
|
||||||
;#rf_gain: Front-end RF stage gain in [dB]
|
;#rf_gain: Front-end RF stage gain in [dB]
|
||||||
SignalSource.rf_gain=40
|
SignalSource.rf_gain=40
|
||||||
|
|
||||||
;#rf_gain: Front-end IF stage gain in [dB]
|
;#rf_gain: Front-end IF stage gain in [dB]
|
||||||
SignalSource.if_gain=30
|
SignalSource.if_gain=30
|
||||||
|
|
||||||
;#AGC_enabled: Front-end AGC enabled or disabled
|
;#AGC_enabled: Front-end AGC enabled or disabled
|
||||||
SignalSource.AGC_enabled = false
|
SignalSource.AGC_enabled = false
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
;#repeat: Repeat the processing file. Disable this option in this version
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -78,6 +65,7 @@ SignalSource.port=1234
|
|||||||
;# Set to true if I/Q samples come swapped
|
;# Set to true if I/Q samples come swapped
|
||||||
SignalSource.swap_iq=false
|
SignalSource.swap_iq=false
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
|
|
||||||
@ -87,7 +75,7 @@ SignalSource.swap_iq=false
|
|||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Pass_Through
|
DataTypeAdapter.implementation=Pass_Through
|
||||||
|
|
||||||
@ -109,12 +97,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -163,6 +152,7 @@ InputFilter.sampling_frequency=1200000
|
|||||||
;# IF deviation due to front-end LO inaccuracies [HZ]
|
;# IF deviation due to front-end LO inaccuracies [HZ]
|
||||||
InputFilter.IF=80558
|
InputFilter.IF=80558
|
||||||
|
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
;# DISABLED IN THE RTL-SDR REALTIME
|
;# DISABLED IN THE RTL-SDR REALTIME
|
||||||
@ -170,6 +160,7 @@ InputFilter.IF=80558
|
|||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
Channels_1C.count=4
|
Channels_1C.count=4
|
||||||
@ -180,19 +171,14 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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]
|
;#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
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.015
|
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]
|
;#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]
|
||||||
@ -205,50 +191,42 @@ Acquisition_1C.doppler_min=-10000
|
|||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
;#maximum dwells
|
;#maximum dwells
|
||||||
Acquisition_1C.max_dwells=15
|
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 GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] [GPS_L1_CA_DLL_PLL_Optim_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -259,31 +237,21 @@ PVT.implementation=RTKLIB_PVT
|
|||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=true
|
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
|
||||||
|
@ -101,18 +101,18 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
Acquisition_1C.threshold=0.015
|
Acquisition_1C.threshold=0.015
|
||||||
;Acquisition_1C.pfa=0.0001
|
;Acquisition_1C.pfa=0.0001
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_min=-10000
|
Acquisition_1C.doppler_min=-10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
Acquisition_1C.max_dwells=15
|
Acquisition_1C.max_dwells=15
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
@ -126,10 +126,11 @@ Tracking_1C.dll_bw_hz=2.0;
|
|||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
@ -28,7 +28,6 @@ SignalSource.implementation=Two_Bit_Cpx_File_Signal_Source
|
|||||||
SignalSource.filename=/datalogger/captures/ajith/test1_two_cpx_live.dat ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/datalogger/captures/ajith/test1_two_cpx_live.dat ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
SignalSource.sampling_frequency=19200000
|
SignalSource.sampling_frequency=19200000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -45,8 +44,6 @@ DataTypeAdapter.item_type=gr_complex
|
|||||||
|
|
||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.dump=false
|
|
||||||
InputFilter.dump_filename=../data/input_filter.dat
|
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
InputFilter.taps_item_type=float
|
InputFilter.taps_item_type=float
|
||||||
@ -67,6 +64,9 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=19200000
|
InputFilter.sampling_frequency=19200000
|
||||||
InputFilter.IF=4024000
|
InputFilter.IF=4024000
|
||||||
InputFilter.decimation_factor=6
|
InputFilter.decimation_factor=6
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
@ -82,35 +82,35 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION CONFIG ############
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
|
|
||||||
Acquisition_1C.threshold=0.007
|
Acquisition_1C.threshold=0.007
|
||||||
;Acquisition_1C.pfa=0.0001
|
;Acquisition_1C.pfa=0.0001
|
||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
Acquisition_1C.doppler_min=-10000
|
Acquisition_1C.doppler_min=-10000
|
||||||
Acquisition_1C.doppler_step=500
|
Acquisition_1C.doppler_step=500
|
||||||
Acquisition_1C.max_dwells=15
|
Acquisition_1C.max_dwells=15
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GPS CONFIG ############
|
;######### TRACKING GPS CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0_
|
||||||
Tracking_1C.dump=true
|
|
||||||
Tracking_1C.dump_filename=./tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=40.0;
|
Tracking_1C.pll_bw_hz=40.0;
|
||||||
Tracking_1C.dll_bw_hz=1.5;
|
Tracking_1C.dll_bw_hz=1.5;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
Tracking_1C.dump=true
|
||||||
|
Tracking_1C.dump_filename=./tracking_ch
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
@ -55,21 +55,18 @@ DataTypeAdapter.item_type=gr_complex
|
|||||||
|
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
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
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
|
||||||
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -120,6 +117,12 @@ InputFilter.IF=-1600000
|
|||||||
;# Decimation factor after the frequency tranaslating block
|
;# Decimation factor after the frequency tranaslating block
|
||||||
InputFilter.decimation_factor=1
|
InputFilter.decimation_factor=1
|
||||||
|
|
||||||
|
;#dump: Dump the filtered data to a file.
|
||||||
|
InputFilter.dump=false
|
||||||
|
|
||||||
|
;#dump_filename: Log path and filename.
|
||||||
|
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
@ -151,41 +154,44 @@ Channel7.signal=2S
|
|||||||
;Channel11.signal=2S
|
;Channel11.signal=2S
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
|
||||||
;# GPS L2C M
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.0013
|
Acquisition_2S.threshold=0.0013
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=10000
|
Acquisition_2S.doppler_max=10000
|
||||||
Acquisition_2S.doppler_min=-10000
|
Acquisition_2S.doppler_min=-10000
|
||||||
Acquisition_2S.doppler_step=100
|
Acquisition_2S.doppler_step=100
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=true
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=1.5;
|
Tracking_2S.pll_bw_hz=1.5;
|
||||||
Tracking_2S.dll_bw_hz=0.3;
|
Tracking_2S.dll_bw_hz=0.3;
|
||||||
Tracking_2S.order=3;
|
Tracking_2S.order=3;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=true
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=false
|
TelemetryDecoder_2S.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############.
|
;######### OBSERVABLES CONFIG ############.
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
|
@ -50,8 +50,6 @@ DataTypeAdapter.item_type=cshort
|
|||||||
|
|
||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
InputFilter.implementation=Fir_Filter
|
InputFilter.implementation=Fir_Filter
|
||||||
InputFilter.dump=false
|
|
||||||
InputFilter.dump_filename=../data/input_filter.dat
|
|
||||||
InputFilter.input_item_type=cshort
|
InputFilter.input_item_type=cshort
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
InputFilter.taps_item_type=float
|
InputFilter.taps_item_type=float
|
||||||
@ -76,6 +74,9 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
InputFilter.IF=0
|
||||||
|
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
@ -106,42 +107,44 @@ Channel7.signal=2S
|
|||||||
;Channel10.signal=2S
|
;Channel10.signal=2S
|
||||||
;Channel11.signal=2S
|
;Channel11.signal=2S
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
|
||||||
;# GPS L2C M
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.0015
|
Acquisition_2S.threshold=0.0015
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=60
|
Acquisition_2S.doppler_step=60
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=true
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=2.0;
|
Tracking_2S.pll_bw_hz=2.0;
|
||||||
Tracking_2S.dll_bw_hz=0.25;
|
Tracking_2S.dll_bw_hz=0.25;
|
||||||
Tracking_2S.order=2;
|
Tracking_2S.order=2;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=true
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=true
|
TelemetryDecoder_2S.dump=true
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############.
|
;######### OBSERVABLES CONFIG ############.
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
@ -149,7 +152,6 @@ PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate
|
|||||||
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||||
PVT.output_rate_ms=100
|
PVT.output_rate_ms=100
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
||||||
PVT.flag_nmea_tty_port=false;
|
PVT.flag_nmea_tty_port=false;
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
@ -157,3 +159,4 @@ PVT.flag_rtcm_server=false
|
|||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
PVT.dump=false
|
PVT.dump=false
|
||||||
|
PVT.dump_filename=./PVT
|
||||||
|
@ -24,48 +24,55 @@ SignalSource.dump=false
|
|||||||
SignalSource.dump_filename=../data/signal_source.dat
|
SignalSource.dump_filename=../data/signal_source.dat
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
SignalConditioner.implementation=Pass_Through
|
SignalConditioner.implementation=Pass_Through
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ######
|
;######### CHANNELS GLOBAL CONFIG ######
|
||||||
Channels_1B.count=4
|
Channels_1B.count=4
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
Channel.signal=1B
|
Channel.signal=1B
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1B.dump=false
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;Acquisition_1B.threshold=1
|
;Acquisition_1B.threshold=1
|
||||||
Acquisition_1B.pfa=0.000008
|
Acquisition_1B.pfa=0.000008
|
||||||
Acquisition_1B.doppler_max=6000
|
Acquisition_1B.doppler_max=6000
|
||||||
Acquisition_1B.doppler_step=250
|
Acquisition_1B.doppler_step=250
|
||||||
Acquisition_1B.cboc=false
|
Acquisition_1B.cboc=false
|
||||||
|
Acquisition_1B.dump=false
|
||||||
|
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
Tracking_1B.dump=false
|
|
||||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
|
||||||
Tracking_1B.pll_bw_hz=20.0;
|
Tracking_1B.pll_bw_hz=20.0;
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
Tracking_1B.early_late_space_chips=0.15;
|
Tracking_1B.early_late_space_chips=0.15;
|
||||||
Tracking_1B.very_early_late_space_chips=0.6;
|
Tracking_1B.very_early_late_space_chips=0.6;
|
||||||
|
Tracking_1B.dump=false
|
||||||
|
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
@ -73,11 +80,11 @@ PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate
|
|||||||
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||||
PVT.output_rate_ms=100;
|
PVT.output_rate_ms=100;
|
||||||
PVT.display_rate_ms=500;
|
PVT.display_rate_ms=500;
|
||||||
PVT.dump=false
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
|
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
|
||||||
PVT.flag_nmea_tty_port=true
|
PVT.flag_nmea_tty_port=true
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
PVT.dump=false
|
||||||
|
PVT.dump_filename=./PVT
|
||||||
|
@ -10,7 +10,7 @@ GNSS-SDR.internal_fs_sps=4000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] or [Rtlsdr_Signal_Source]
|
;#implementation:
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
@ -21,22 +21,15 @@ SignalSource.filename=/datalogger/signals/CTTC/2013_04_04_GNSS_SIGNAL_at_CTTC_SP
|
|||||||
;#If ishort is selected you should have to instantiate the Ishort_To_Complex data_type_adapter.
|
;#If ishort is selected you should have to instantiate the Ishort_To_Complex data_type_adapter.
|
||||||
SignalSource.item_type=ishort
|
SignalSource.item_type=ishort
|
||||||
|
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
;#repeat: Repeat the processing file.
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -71,20 +64,15 @@ DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -116,7 +104,6 @@ InputFilter.band2_end=1.0
|
|||||||
|
|
||||||
;#ampl: desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...].
|
;#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
|
;#The number of ampl_begin and ampl_end elements must match the number of bands
|
||||||
|
|
||||||
InputFilter.ampl1_begin=1.0
|
InputFilter.ampl1_begin=1.0
|
||||||
InputFilter.ampl1_end=1.0
|
InputFilter.ampl1_end=1.0
|
||||||
InputFilter.ampl2_begin=0.0
|
InputFilter.ampl2_begin=0.0
|
||||||
@ -136,10 +123,14 @@ InputFilter.grid_density=16
|
|||||||
|
|
||||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
|
;#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 is the intermediate frequency (in Hz) shifted down to zero Hz
|
||||||
|
|
||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -156,7 +147,7 @@ Resampler.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Resampler.item_type=gr_complex
|
Resampler.item_type=gr_complex
|
||||||
|
|
||||||
;#sample_freq_in: the sample frequency of the input signal
|
;#sample_freq_in: the sample frequency of the input signal
|
||||||
@ -175,19 +166,13 @@ Channel.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
Acquisition_1B.implementation=Galileo_E1_PCPS_QuickSync_Ambiguous_Acquisition
|
||||||
Acquisition_1B.dump=false
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.coherent_integration_time_ms=4
|
Acquisition_1B.coherent_integration_time_ms=4
|
||||||
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_QuickSync_Ambiguous_Acquisition
|
|
||||||
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1B.threshold=0.05
|
Acquisition_1B.threshold=0.05
|
||||||
;#doppler_max: Maximum expected Doppler shift [Hz]
|
;#doppler_max: Maximum expected Doppler shift [Hz]
|
||||||
@ -196,39 +181,33 @@ Acquisition_1B.doppler_max=15000
|
|||||||
Acquisition_1B.doppler_step=125
|
Acquisition_1B.doppler_step=125
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms];
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms];
|
||||||
Acquisition_1B.coherent_integration_time_ms=8
|
Acquisition_1B.coherent_integration_time_ms=8
|
||||||
|
|
||||||
Acquisition_1B.cboc=false
|
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 ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
;#implementation:
|
||||||
;#implementation: Selected tracking algorithm [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
|
|
||||||
;#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_filename=../data/veml_tracking_ch_
|
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=20.0;
|
Tracking_1B.pll_bw_hz=20.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A or [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A or [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
|
@ -10,32 +10,17 @@ GNSS-SDR.internal_fs_sps=4000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
SignalSource.filename=/Users/carlesfernandez/Documents/workspace/code2/trunk/data/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=/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.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
SignalSource.item_type=ishort
|
SignalSource.item_type=ishort
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -57,24 +42,18 @@ DataTypeAdapter.implementation=Ishort_To_Complex
|
|||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
;## Filter the input data. Can be combined with frequency translation for IF signals
|
;## 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]
|
;#implementation:
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Fir_Filter] enables a FIR Filter
|
;#[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.
|
;#[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=Fir_Filter
|
||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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.
|
;#These options are based on parameters of GNU Radio's function: gr_remez.
|
||||||
;#These 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.
|
;#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.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
@ -125,7 +104,10 @@ InputFilter.grid_density=16
|
|||||||
|
|
||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -136,21 +118,17 @@ InputFilter.IF=0
|
|||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resampled data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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=4000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=4000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available Galileo satellite channels.
|
;#count: Number of available Galileo satellite channels.
|
||||||
@ -159,20 +137,15 @@ Channels_1B.count=8
|
|||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
Channel.signal=1B
|
Channel.signal=1B
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
|
||||||
|
|
||||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1B.dump=false
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
;#filename: Log path and filename
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -181,70 +154,59 @@ Acquisition_1B.pfa=0.000002
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 CHANNELS CONFIG ######
|
||||||
|
|
||||||
;######### ACQUISITION CH 0 CONFIG ############
|
;######### ACQUISITION CH 0 CONFIG ############
|
||||||
|
|
||||||
;#repeat_satellite: Use only jointly with the satellite PRN ID option. The default value is false
|
;#repeat_satellite: Use only jointly with the satellite PRN ID option. The default value is false
|
||||||
;Acquisition_1B0.repeat_satellite = true
|
;Acquisition_1B0.repeat_satellite = true
|
||||||
;Acquisition_1B1.repeat_satellite = true
|
;Acquisition_1B1.repeat_satellite = true
|
||||||
;Acquisition_1B2.repeat_satellite = true
|
;Acquisition_1B2.repeat_satellite = true
|
||||||
;Acquisition_1B3.repeat_satellite = true
|
;Acquisition_1B3.repeat_satellite = true
|
||||||
|
|
||||||
;#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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_FLL_PLL_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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;
|
||||||
|
Tracking_1B.track_pilot=true
|
||||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1B.dump=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.
|
;#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_
|
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;
|
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### 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.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -255,38 +217,27 @@ PVT.implementation=RTKLIB_PVT
|
|||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
PVT.display_rate_ms=500;
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
|
||||||
PVT.dump=false
|
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=true
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
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)
|
;#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.flag_rtcm_server=true;
|
||||||
PVT.rtcm_tcp_port=2101
|
PVT.rtcm_tcp_port=2101
|
||||||
PVT.rtcm_MT1045_rate_ms=5000
|
PVT.rtcm_MT1045_rate_ms=5000
|
||||||
PVT.rtcm_MSM_rate_ms=1000
|
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)
|
;#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;
|
PVT.flag_rtcm_tty_port=false;
|
||||||
|
|
||||||
;#rtcm_dump_devname: serial device descriptor for RTCM logging
|
;#rtcm_dump_devname: serial device descriptor for RTCM logging
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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
|
@ -17,7 +17,6 @@ SignalSource.implementation=Nsr_File_Signal_Source
|
|||||||
SignalSource.filename=/datalogger/signals/ifen/E1L1_FE0_Band0.stream ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/datalogger/signals/ifen/E1L1_FE0_Band0.stream ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
SignalSource.sampling_frequency=20480000
|
SignalSource.sampling_frequency=20480000
|
||||||
SignalSource.freq=1575420000
|
|
||||||
SignalSource.samples=0 ; 0 means the entire file
|
SignalSource.samples=0 ; 0 means the entire file
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -31,7 +30,6 @@ SignalSource.enable_throttle_control=false
|
|||||||
|
|
||||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
|
|
||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
@ -40,8 +38,6 @@ DataTypeAdapter.item_type=float
|
|||||||
|
|
||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.dump=false
|
|
||||||
InputFilter.dump_filename=../data/input_filter.dat
|
|
||||||
InputFilter.input_item_type=float
|
InputFilter.input_item_type=float
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
InputFilter.taps_item_type=float
|
InputFilter.taps_item_type=float
|
||||||
@ -65,6 +61,8 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=20480000
|
InputFilter.sampling_frequency=20480000
|
||||||
InputFilter.IF=5499998.47412109
|
InputFilter.IF=5499998.47412109
|
||||||
InputFilter.decimation_factor=8
|
InputFilter.decimation_factor=8
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -78,33 +76,36 @@ Channel.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_1B.dump=false
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
Acquisition_1B.pfa=0.0000008
|
Acquisition_1B.pfa=0.0000008
|
||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
Acquisition_1B.doppler_step=125
|
Acquisition_1B.doppler_step=125
|
||||||
Acquisition_1B.cboc=false ; 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 ; 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.dump=false
|
||||||
|
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
Tracking_1B.dump=false
|
|
||||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
|
||||||
Tracking_1B.pll_bw_hz=20.0;
|
Tracking_1B.pll_bw_hz=20.0;
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
Tracking_1B.early_late_space_chips=0.15;
|
Tracking_1B.early_late_space_chips=0.15;
|
||||||
Tracking_1B.very_early_late_space_chips=0.6;
|
Tracking_1B.very_early_late_space_chips=0.6;
|
||||||
|
Tracking_1B.dump=false
|
||||||
|
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=true
|
Observables.dump=true
|
||||||
|
@ -25,32 +25,18 @@ GNSS-SDR.internal_fs_sps=32000000
|
|||||||
;GNSS-SDR.SUPL_CI=0x31b0
|
;GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
SignalSource.filename=/datalogger/signals/ifen/32MS_complex.dat ; <- PUT YOUR FILE HERE
|
||||||
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=32000000
|
SignalSource.sampling_frequency=32000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1176450000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -73,7 +59,7 @@ DataTypeAdapter.implementation=Pass_Through
|
|||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
;## Filter the input data. Can be combined with frequency translation for IF signals
|
;## 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]
|
;#implementation:
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Fir_Filter] enables a FIR Filter
|
;#[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.
|
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
|
||||||
@ -82,20 +68,15 @@ DataTypeAdapter.implementation=Pass_Through
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -142,6 +123,11 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=32000000
|
InputFilter.sampling_frequency=32000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -152,21 +138,17 @@ InputFilter.IF=0
|
|||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
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=8000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=4000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available satellite channels.
|
;#count: Number of available satellite channels.
|
||||||
@ -181,11 +163,9 @@ Channel.signal=5X
|
|||||||
;#The following options are specific to each channel and overwrite the generic options
|
;#The following options are specific to each channel and overwrite the generic options
|
||||||
|
|
||||||
;######### CHANNEL 0 CONFIG ############
|
;######### CHANNEL 0 CONFIG ############
|
||||||
|
;Channel0.signal=5X
|
||||||
Channel0.signal=5X
|
|
||||||
|
|
||||||
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
|
;#satellite: Satellite PRN ID for this channel. Disable this option to random search
|
||||||
Channel0.satellite=19
|
;Channel0.satellite=19
|
||||||
;Channel0.repeat_satellite=true
|
;Channel0.repeat_satellite=true
|
||||||
|
|
||||||
;######### CHANNEL 1 CONFIG ############
|
;######### CHANNEL 1 CONFIG ############
|
||||||
@ -207,19 +187,13 @@ Channel0.satellite=19
|
|||||||
;Channel3.satellite=20
|
;Channel3.satellite=20
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
||||||
;#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_5X.dump=true
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_5X.item_type=gr_complex
|
Acquisition_5X.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_5X.if=0
|
Acquisition_5X.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_5X.coherent_integration_time_ms=1
|
Acquisition_5X.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_5X.threshold=0.001
|
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]
|
;#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]
|
||||||
@ -233,64 +207,53 @@ Acquisition_5X.doppler_step=250
|
|||||||
Acquisition_5X.bit_transition_flag=false
|
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
|
;#max_dwells: Maximum number of consecutive dwells to be processed. It will be ignored if bit_transition_flag=true
|
||||||
Acquisition_5X.max_dwells=1
|
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
|
;#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
|
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.
|
;#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.
|
;#If set to 1 it is ON, if set to 0 it is OFF.
|
||||||
Acquisition_5X.Zero_padding=0
|
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_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm:
|
|
||||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_5X.item_type=gr_complex
|
Tracking_5X.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_5X.if=0
|
Tracking_5X.if=0
|
||||||
|
|
||||||
;#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_filename=./tracking_ch_
|
|
||||||
|
|
||||||
;#pll_bw_hz_init: **Only for E5a** PLL loop filter bandwidth during initialization [Hz]
|
|
||||||
Tracking_5X.pll_bw_hz_init=20.0;
|
|
||||||
;#dll_bw_hz_init: **Only for E5a** DLL loop filter bandwidth during initialization [Hz]
|
|
||||||
Tracking_5X.dll_bw_hz_init=20.0;
|
|
||||||
;#dll_ti_ms: **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
;#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=3;
|
||||||
Tracking_5X.ti_ms=1;
|
Tracking_5X.ti_ms=1;
|
||||||
|
;#pll_bw_hz: PLL loop filter bandwidth during initialization [Hz]
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
|
||||||
;Tracking.pll_bw_hz=5.0;
|
|
||||||
Tracking_5X.pll_bw_hz=20.0;
|
Tracking_5X.pll_bw_hz=20.0;
|
||||||
|
;#dll_bw_hz: DLL loop filter bandwidth during initialization [Hz]
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
|
||||||
;Tracking.dll_bw_hz=2.0;
|
|
||||||
Tracking_5X.dll_bw_hz=20.0;
|
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]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_5X.order=2;
|
Tracking_5X.order=2;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
|
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
|
||||||
Tracking_5X.early_late_space_chips=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_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
||||||
TelemetryDecoder_5X.dump=false
|
TelemetryDecoder_5X.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -298,34 +261,24 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm:
|
;#implementation: Position Velocity and Time (PVT) implementation algorithm:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=Single ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=true;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -28,7 +28,6 @@ SignalSource.implementation=File_Signal_Source
|
|||||||
SignalSource.filename=/datalogger/signals/ifen/Galileo_E5ab_IFEN_CTTC_run1.dat ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/datalogger/signals/ifen/Galileo_E5ab_IFEN_CTTC_run1.dat ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
SignalSource.sampling_frequency=50000000
|
SignalSource.sampling_frequency=50000000
|
||||||
SignalSource.freq=1176450000
|
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
@ -44,8 +43,6 @@ DataTypeAdapter.implementation=Pass_Through
|
|||||||
|
|
||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.dump=false
|
|
||||||
InputFilter.dump_filename=../data/input_filter.dat
|
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
InputFilter.taps_item_type=float
|
InputFilter.taps_item_type=float
|
||||||
@ -66,6 +63,8 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=50000000
|
InputFilter.sampling_frequency=50000000
|
||||||
InputFilter.IF=-15345000
|
InputFilter.IF=-15345000
|
||||||
InputFilter.decimation_factor=1
|
InputFilter.decimation_factor=1
|
||||||
|
InputFilter.dump=false
|
||||||
|
InputFilter.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
@ -89,23 +88,21 @@ Channel0.satellite=19
|
|||||||
|
|
||||||
;######### CHANNEL 1 CONFIG ############
|
;######### CHANNEL 1 CONFIG ############
|
||||||
Channel1.signal=5X
|
Channel1.signal=5X
|
||||||
Channel1.satellite=12
|
;Channel1.satellite=12
|
||||||
|
|
||||||
;######### CHANNEL 2 CONFIG ############
|
;######### CHANNEL 2 CONFIG ############
|
||||||
Channel2.signal=5X
|
Channel2.signal=5X
|
||||||
Channel2.satellite=11
|
;Channel2.satellite=11
|
||||||
|
|
||||||
;######### CHANNEL 3 CONFIG ############
|
;######### CHANNEL 3 CONFIG ############
|
||||||
Channel3.signal=5X
|
Channel3.signal=5X
|
||||||
Channel3.satellite=20
|
;Channel3.satellite=20
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
Acquisition_5X.dump=false
|
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
||||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_5X.item_type=gr_complex
|
Acquisition_5X.item_type=gr_complex
|
||||||
Acquisition_5X.if=0
|
Acquisition_5X.if=0
|
||||||
Acquisition_5X.coherent_integration_time_ms=1
|
Acquisition_5X.coherent_integration_time_ms=1
|
||||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
|
||||||
Acquisition_5X.threshold=0.002
|
Acquisition_5X.threshold=0.002
|
||||||
Acquisition_5X.doppler_max=10000
|
Acquisition_5X.doppler_max=10000
|
||||||
Acquisition_5X.doppler_step=250
|
Acquisition_5X.doppler_step=250
|
||||||
@ -113,26 +110,30 @@ Acquisition_5X.bit_transition_flag=false
|
|||||||
Acquisition_5X.max_dwells=1
|
Acquisition_5X.max_dwells=1
|
||||||
Acquisition_5X.CAF_window_hz=0 ; **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 ; **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.Zero_padding=0 ; **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 ; **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.dump=false
|
||||||
|
Acquisition_5X.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||||
Tracking_5X.item_type=gr_complex
|
Tracking_5X.item_type=gr_complex
|
||||||
Tracking_5X.if=0
|
Tracking_5X.if=0
|
||||||
Tracking_5X.dump=false
|
|
||||||
Tracking_5X.dump_filename=./tracking_ch_
|
|
||||||
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.pll_bw_hz=20.0;
|
||||||
Tracking_5X.dll_bw_hz=20.0;
|
Tracking_5X.dll_bw_hz=20.0;
|
||||||
|
Tracking_5X.ti_ms=1; **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||||
|
Tracking_5X.pll_bw_narrow_hz=20.0;
|
||||||
|
Tracking_5X.dll_bw_narrow_hz=20.0;
|
||||||
Tracking_5X.order=2;
|
Tracking_5X.order=2;
|
||||||
Tracking_5X.early_late_space_chips=0.5;
|
Tracking_5X.early_late_space_chips=0.5;
|
||||||
|
Tracking_5X.dump=false
|
||||||
|
Tracking_5X.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
||||||
TelemetryDecoder_5X.dump=false
|
TelemetryDecoder_5X.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
@ -11,32 +11,17 @@ GNSS-SDR.internal_fs_sps=20000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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..
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=20000000
|
SignalSource.sampling_frequency=20000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -51,14 +36,12 @@ SignalSource.enable_throttle_control=false
|
|||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Ibyte_To_Complex
|
DataTypeAdapter.implementation=Ibyte_To_Complex
|
||||||
|
|
||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
;## Filter the input data. Can be combined with frequency translation for IF signals
|
;## 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
|
;#[Pass_Through] disables this block
|
||||||
;#[Fir_Filter] enables a FIR Filter
|
;#[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.
|
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
|
||||||
@ -67,20 +50,15 @@ DataTypeAdapter.implementation=Ibyte_To_Complex
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples..
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -126,32 +104,30 @@ InputFilter.grid_density=16
|
|||||||
|
|
||||||
InputFilter.sampling_frequency=20000000
|
InputFilter.sampling_frequency=20000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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=20000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=20000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
@ -181,19 +157,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.0060
|
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]
|
;#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]
|
||||||
@ -202,22 +172,20 @@ Acquisition_1C.threshold=0.0060
|
|||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=500
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -226,83 +194,69 @@ Acquisition_1B.pfa=0.0000008
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -310,23 +264,17 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
PVT.display_rate_ms=500;
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=false
|
PVT.dump=false
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -12,33 +12,22 @@ GNSS-SDR.internal_fs_sps=2600000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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=/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
|
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.
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
;#dump: Dump the Signal source data to a file.
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -80,12 +69,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -136,10 +126,10 @@ InputFilter.IF=0
|
|||||||
|
|
||||||
;######### RESAMPLER CONFIG ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
Resampler.item_type = gr_complex;
|
Resampler.item_type = gr_complex;
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
Channels_1C.count=11
|
Channels_1C.count=11
|
||||||
@ -148,10 +138,6 @@ Channels_1B.count=0
|
|||||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
|
|
||||||
|
|
||||||
;#IMPORTANT: When cshort is used as input type for Acq and Trk, please set the Channel type to cshort here
|
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
|
||||||
Channel.item_type=gr_complex
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
||||||
Channel1.signal=1C
|
Channel1.signal=1C
|
||||||
@ -172,19 +158,14 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
|
;#use_CFAR_algorithm: If enabled, acquisition estimates the input signal power to implement CFAR detection algorithms
|
||||||
;#notice that this affects the Acquisition threshold range!
|
;#notice that this affects the Acquisition threshold range!
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
@ -196,22 +177,20 @@ Acquisition_1C.threshold=15
|
|||||||
Acquisition_1C.doppler_max=6000
|
Acquisition_1C.doppler_max=6000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=100
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -220,108 +199,85 @@ Acquisition_1B.pfa=0.0000008
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
|
|
||||||
;#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_
|
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.pll_bw_hz=20.0;
|
Tracking_1C.pll_bw_hz=20.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.dll_bw_hz=1.5;
|
Tracking_1C.dll_bw_hz=1.5;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
|
|
||||||
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1B.dump=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.
|
;#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_
|
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
|
||||||
TelemetryDecoder_1B.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -10,32 +10,18 @@
|
|||||||
GNSS-SDR.internal_fs_sps=4092000
|
GNSS-SDR.internal_fs_sps=4092000
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
SignalSource.filename=/datalogger/signals/sim/GPS_sim1.dat ; <- PUT YOUR FILE HERE
|
||||||
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4092000
|
SignalSource.sampling_frequency=4092000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -64,22 +50,15 @@ DataTypeAdapter.item_type=gr_complex
|
|||||||
|
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -131,15 +110,21 @@ InputFilter.IF=5499998.47412109
|
|||||||
;# Decimation factor after the frequency tranaslating block
|
;# Decimation factor after the frequency tranaslating block
|
||||||
InputFilter.decimation_factor=8
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
Channels_1C.count=1
|
Channels_1C.count=1
|
||||||
@ -174,19 +159,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=30
|
Acquisition_1C.threshold=30
|
||||||
@ -196,22 +175,20 @@ Acquisition_1C.threshold=30
|
|||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=100
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -220,98 +197,79 @@ Acquisition_1B.pfa=0.0000002
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
|
|
||||||
;#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_
|
|
||||||
|
|
||||||
;# Extended correlation after telemetry bit synchronization
|
;# 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) )
|
;# 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
|
;# Longer integration period require more stable front-end LO
|
||||||
|
|
||||||
Tracking_1C.extend_correlation_ms=10
|
Tracking_1C.extend_correlation_ms=10
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.pll_bw_hz=40;
|
Tracking_1C.pll_bw_hz=40;
|
||||||
Tracking_1C.pll_bw_narrow_hz=25;
|
Tracking_1C.pll_bw_narrow_hz=25;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
|
|
||||||
Tracking_1C.dll_bw_narrow_hz=2.0;
|
Tracking_1C.dll_bw_narrow_hz=2.0;
|
||||||
|
|
||||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.fll_bw_hz=2.0;
|
Tracking_1C.fll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1C.order=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 GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_FLL_PLL_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
;#fll_bw_hz: FLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.fll_bw_hz=10.0;
|
Tracking_1B.fll_bw_hz=10.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -319,23 +277,17 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=10;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
PVT.display_rate_ms=500;
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=false
|
PVT.dump=false
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -26,32 +26,18 @@ GNSS-SDR.SUPL_CI=0x31b0
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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.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.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
SignalSource.item_type=ishort
|
SignalSource.item_type=ishort
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -82,20 +68,15 @@ DataTypeAdapter.implementation=Ishort_To_Complex
|
|||||||
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
;InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
InputFilter.implementation=Pass_Through
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -142,31 +123,31 @@ InputFilter.grid_density=16
|
|||||||
InputFilter.sampling_frequency=4000000
|
InputFilter.sampling_frequency=4000000
|
||||||
InputFilter.IF=0
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
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.
|
;#dump: Dump the resamplered data to a file.
|
||||||
Resampler.dump=false
|
Resampler.dump=false
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler.dump_filename=../data/resampler.dat
|
Resampler.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#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 signalq
|
|
||||||
Resampler.sample_freq_in=4000000
|
|
||||||
|
|
||||||
;#sample_freq_out: the desired sample frequency of the output signal
|
|
||||||
Resampler.sample_freq_out=4000000
|
|
||||||
|
|
||||||
|
|
||||||
;######### CHANNELS GLOBAL CONFIG ############
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
;#count: Number of available GPS satellite channels.
|
;#count: Number of available GPS satellite channels.
|
||||||
@ -191,21 +172,14 @@ Channel6.signal=1B
|
|||||||
Channel7.signal=1B
|
Channel7.signal=1B
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel:
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.0075
|
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]
|
;#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]
|
||||||
@ -214,22 +188,21 @@ Acquisition_1C.threshold=0.0075
|
|||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=500
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel:
|
;#implementation: Acquisition algorithm selection for this channel:
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -239,84 +212,69 @@ Acquisition_1B.doppler_max=15000
|
|||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
Acquisition_1B.doppler_step=125
|
||||||
Acquisition_1B.cboc=false;
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm:
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=20.0;
|
Tracking_1B.pll_bw_hz=20.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
TelemetryDecoder_1B.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -324,20 +282,13 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
@ -346,6 +297,7 @@ 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_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_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
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -13,33 +13,21 @@ GNSS-SDR.internal_fs_sps=2560000
|
|||||||
;GNSS-SDR.internal_fs_sps=5120000
|
;GNSS-SDR.internal_fs_sps=5120000
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Nsr_File_Signal_Source
|
SignalSource.implementation=Nsr_File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=20480000
|
SignalSource.sampling_frequency=20480000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
;#dump: Dump the Signal source data to a file.
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -68,22 +56,15 @@ DataTypeAdapter.item_type=float
|
|||||||
|
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=float
|
InputFilter.input_item_type=float
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -135,6 +116,12 @@ InputFilter.IF=5499998.47412109
|
|||||||
;# Decimation factor after the frequency tranaslating block
|
;# Decimation factor after the frequency tranaslating block
|
||||||
InputFilter.decimation_factor=8
|
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 ############
|
;######### RESAMPLER CONFIG ############
|
||||||
;## Resamples the input data.
|
;## Resamples the input data.
|
||||||
@ -154,9 +141,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
;#if the option is disabled by default is assigned "1C" GPS L1 C/A
|
||||||
Channel0.signal=1C
|
Channel0.signal=1C
|
||||||
@ -178,19 +167,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.0075
|
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]
|
;#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]
|
||||||
@ -199,22 +182,21 @@ Acquisition_1C.threshold=0.0075
|
|||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=250
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -223,118 +205,92 @@ Acquisition_1B.pfa=0.0000002
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
|
|
||||||
;#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_
|
|
||||||
|
|
||||||
;# Extended correlation after telemetry bit synchronization
|
;# 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) )
|
;# 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
|
;# Longer integration period require more stable front-end LO
|
||||||
|
|
||||||
Tracking_1C.extend_correlation_ms=1
|
Tracking_1C.extend_correlation_ms=1
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
|
|
||||||
Tracking_1C.pll_bw_hz=40;
|
Tracking_1C.pll_bw_hz=40;
|
||||||
Tracking_1C.pll_bw_narrow_hz=20;
|
Tracking_1C.pll_bw_narrow_hz=20;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.dll_bw_narrow_hz=1.0;
|
Tracking_1C.dll_bw_narrow_hz=1.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1C.order=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 GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
TelemetryDecoder_1B_factor=4;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm.
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=10;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -11,34 +11,18 @@ GNSS-SDR.internal_fs_sps=20000000
|
|||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
;SignalSource.filename=/home/javier/signals/L125_III1b_210s_L1_2msps.bin ; <- PUT YOUR FILE HERE
|
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.filename=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s_L1.bin
|
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=byte
|
SignalSource.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=20000000
|
SignalSource.sampling_frequency=20000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
@ -53,7 +37,7 @@ SignalSource.enable_throttle_control=false
|
|||||||
SignalConditioner.implementation=Signal_Conditioner
|
SignalConditioner.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter.implementation=Ibyte_To_Complex
|
DataTypeAdapter.implementation=Ibyte_To_Complex
|
||||||
|
|
||||||
@ -68,7 +52,7 @@ InputFilter.implementation=Pass_Through
|
|||||||
|
|
||||||
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
;#implementation: Use [Pass_Through] or [Direct_Resampler]
|
||||||
;#[Pass_Through] disables this block
|
;#[Pass_Through] disables this block
|
||||||
;#[Direct_Resampler] enables a resampler that implements a nearest neigbourhood interpolation
|
;#[Direct_Resampler] enables a resampler that implements a nearest neighborhood interpolation
|
||||||
;Resampler.implementation=Direct_Resampler
|
;Resampler.implementation=Direct_Resampler
|
||||||
Resampler.implementation=Pass_Through
|
Resampler.implementation=Pass_Through
|
||||||
|
|
||||||
@ -101,19 +85,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=18
|
Acquisition_1C.threshold=18
|
||||||
@ -121,22 +99,20 @@ Acquisition_1C.threshold=18
|
|||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=500
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
Acquisition_1B.acquire_pilot=true
|
Acquisition_1B.acquire_pilot=true
|
||||||
Acquisition_1B.use_CFAR_algorithm=false
|
Acquisition_1B.use_CFAR_algorithm=false
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
@ -146,100 +122,78 @@ Acquisition_1B.doppler_max=5000
|
|||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
Acquisition_1B.doppler_step=125
|
||||||
Acquisition_1B.bit_transition_flag=true
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
|
|
||||||
;#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_filename=../data/veml_tracking_ch_
|
|
||||||
|
|
||||||
Tracking_1B.track_pilot=true
|
Tracking_1B.track_pilot=true
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=4.0;
|
Tracking_1B.pll_bw_hz=4.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=0.5;
|
Tracking_1B.dll_bw_hz=0.5;
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_narrow_hz=2.0;
|
Tracking_1B.pll_bw_narrow_hz=2.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_narrow_hz=0.25;
|
Tracking_1B.dll_bw_narrow_hz=0.25;
|
||||||
|
|
||||||
Tracking_1B.extend_correlation_symbols=4;
|
Tracking_1B.extend_correlation_symbols=4;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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
|
;#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;
|
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]
|
;#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;
|
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_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -247,23 +201,17 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -7,46 +7,33 @@
|
|||||||
|
|
||||||
;######### GLOBAL OPTIONS ##################
|
;######### GLOBAL OPTIONS ##################
|
||||||
;internal_fs_hz: Internal signal sampling frequency after the signal conditioning stage [Hz].
|
;internal_fs_hz: Internal signal sampling frequency after the signal conditioning stage [Hz].
|
||||||
GNSS-SDR.internal_fs_hz=5456000
|
GNSS-SDR.internal_fs_sps=5456000
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Labsat_Signal_Source
|
SignalSource.implementation=Labsat_Signal_Source
|
||||||
|
|
||||||
SignalSource.selected_channel=1
|
SignalSource.selected_channel=1
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
;# Labsat sile source automatically increments the file name when the signal is splitted in several files
|
;# Labsat sile source automatically increments the file name when the signal is split in several files
|
||||||
;# the adapter adds "_0000.LS3" to this base path and filename. Next file will be "_0001.LS3" and so on
|
;# 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
|
;# in this example, the first file complete path will be ../signals/GPS_025_0000.LS3
|
||||||
|
|
||||||
SignalSource.filename=../signals/GPS_025 ; <- PUT YOUR FILE HERE
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource.sampling_frequency=16368000
|
SignalSource.sampling_frequency=16368000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
;#dump: Dump the Signal source data to a file.
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump=false
|
SignalSource.dump=false
|
||||||
|
|
||||||
SignalSource.dump_filename=../data/signal_source.dat
|
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.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
|
|
||||||
@ -64,10 +51,9 @@ DataTypeAdapter.item_type=gr_complex
|
|||||||
;######### INPUT_FILTER CONFIG ############
|
;######### INPUT_FILTER CONFIG ############
|
||||||
;## Filter the input data. Can be combined with frequency translation for IF signals
|
;## 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]
|
;#implementation
|
||||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
|
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation
|
||||||
;# that shifts IF down to zero Hz.
|
;# that shifts IF down to zero Hz.
|
||||||
|
|
||||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
|
||||||
;#dump: Dump the filtered data to a file.
|
;#dump: Dump the filtered data to a file.
|
||||||
@ -78,14 +64,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter.input_item_type=gr_complex
|
InputFilter.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter.output_item_type=gr_complex
|
InputFilter.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -167,19 +152,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=22
|
Acquisition_1C.threshold=22
|
||||||
@ -187,22 +166,19 @@ Acquisition_1C.threshold=22
|
|||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=250
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
Acquisition_1B.acquire_pilot=true
|
Acquisition_1B.acquire_pilot=true
|
||||||
Acquisition_1B.use_CFAR_algorithm=false
|
Acquisition_1B.use_CFAR_algorithm=false
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
@ -212,79 +188,59 @@ Acquisition_1B.doppler_max=5000
|
|||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
Acquisition_1B.doppler_step=125
|
||||||
Acquisition_1B.bit_transition_flag=true
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=true
|
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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
Tracking_1B.if=0
|
||||||
|
|
||||||
;#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_filename=../data/veml_tracking_ch_
|
|
||||||
|
|
||||||
Tracking_1B.track_pilot=true
|
Tracking_1B.track_pilot=true
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=7.5;
|
Tracking_1B.pll_bw_hz=7.5;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=0.5;
|
Tracking_1B.dll_bw_hz=0.5;
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_narrow_hz=2.5;
|
Tracking_1B.pll_bw_narrow_hz=2.5;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_narrow_hz=0.25;
|
Tracking_1B.dll_bw_narrow_hz=0.25;
|
||||||
|
|
||||||
Tracking_1B.extend_correlation_symbols=4;
|
Tracking_1B.extend_correlation_symbols=4;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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
|
;#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;
|
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]
|
;#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;
|
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_filename=../data/veml_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
@ -297,13 +253,12 @@ TelemetryDecoder_1C.dump=false
|
|||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -311,23 +266,17 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=Single ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
@ -24,29 +24,22 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
SignalSource.flag_read_file=true
|
SignalSource.flag_read_file=true
|
||||||
SignalSource.signal_file=/datalogger/signals/Fraunhofer/L125_III1b_210s.usb ; <- PUT YOUR FILE HERE
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=1
|
SignalSource.RF_channels=1
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -76,13 +69,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -156,10 +149,10 @@ InputFilter1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter1.dump_filename=../data/input_filter.dat
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 1 ############
|
;######### RESAMPLER CONFIG 1 ############
|
||||||
@ -183,10 +176,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -219,19 +212,13 @@ Channel.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.use_CFAR_algorithm=false;
|
Acquisition_1C.use_CFAR_algorithm=false;
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=15
|
Acquisition_1C.threshold=15
|
||||||
@ -247,91 +234,71 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
|
|
||||||
;#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_1C.extend_correlation_ms=10
|
Tracking_1C.extend_correlation_ms=10
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.pll_bw_hz=40.0;
|
Tracking_1C.pll_bw_hz=40.0;
|
||||||
Tracking_1C.pll_bw_narrow_hz=35;
|
Tracking_1C.pll_bw_narrow_hz=35;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.dll_bw_narrow_hz=2.0;
|
Tracking_1C.dll_bw_narrow_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
|
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5]
|
||||||
Tracking_1C.early_late_space_chips=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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
@ -74,13 +74,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -153,10 +153,10 @@ InputFilter1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter1.dump_filename=../data/input_filter.dat
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 1 ############
|
;######### RESAMPLER CONFIG 1 ############
|
||||||
@ -180,10 +180,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -197,12 +197,13 @@ Channels_1C.count=8
|
|||||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
|
|
||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -231,19 +232,13 @@ Channel7.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.012
|
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]
|
;#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]
|
||||||
@ -258,89 +253,66 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
@ -25,26 +25,20 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=1
|
SignalSource.RF_channels=1
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -74,13 +68,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -153,10 +147,10 @@ InputFilter1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter1.dump_filename=../data/input_filter.dat
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 1 ############
|
;######### RESAMPLER CONFIG 1 ############
|
||||||
@ -180,10 +174,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -196,12 +190,13 @@ Channels_1C.count=8
|
|||||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
|
|
||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -224,24 +219,15 @@ Channel5.signal=1C
|
|||||||
Channel6.signal=1C
|
Channel6.signal=1C
|
||||||
Channel7.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 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.012
|
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]
|
;#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]
|
||||||
@ -256,87 +242,66 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
@ -25,26 +25,20 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_II-3b.bit
|
SignalSource.firmware_file=flexiband_II-3b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=1
|
SignalSource.RF_channels=1
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -74,16 +68,16 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter.
|
||||||
InputFilter0.taps_item_type=float
|
InputFilter0.taps_item_type=float
|
||||||
|
|
||||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
|
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
|
||||||
@ -123,8 +117,6 @@ InputFilter0.grid_density=16
|
|||||||
|
|
||||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
|
;#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 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
|
InputFilter0.sampling_frequency=40000000
|
||||||
;# IF deviation due to front-end LO inaccuracies [HZ]
|
;# IF deviation due to front-end LO inaccuracies [HZ]
|
||||||
InputFilter0.IF=-205000
|
InputFilter0.IF=-205000
|
||||||
@ -153,10 +145,10 @@ InputFilter1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter1.dump_filename=../data/input_filter.dat
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 1 ############
|
;######### RESAMPLER CONFIG 1 ############
|
||||||
@ -180,10 +172,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -199,9 +191,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -225,24 +219,15 @@ Channel6.signal=1C
|
|||||||
Channel7.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 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.012
|
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]
|
;#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]
|
||||||
@ -257,54 +242,43 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -312,34 +286,24 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
@ -25,26 +25,20 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_I-1b.bit
|
SignalSource.firmware_file=flexiband_I-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=1
|
SignalSource.RF_channels=1
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -74,13 +68,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -153,10 +147,10 @@ InputFilter1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter1.dump_filename=../data/input_filter.dat
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 1 ############
|
;######### RESAMPLER CONFIG 1 ############
|
||||||
@ -180,10 +174,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -199,9 +193,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -220,24 +216,15 @@ Channel1.signal=1C
|
|||||||
Channel2.signal=1C
|
Channel2.signal=1C
|
||||||
Channel3.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 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.011
|
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]
|
;#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]
|
||||||
@ -252,89 +239,65 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=false
|
PVT.dump=false
|
||||||
|
PVT.dump_filename=./PVT
|
||||||
|
@ -25,26 +25,20 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=2
|
SignalSource.RF_channels=2
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -78,13 +72,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -172,13 +166,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -254,10 +248,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -273,12 +267,13 @@ Channels_2S.count=8
|
|||||||
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
|
||||||
Channels.in_acquisition=1
|
Channels.in_acquisition=1
|
||||||
|
|
||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
@ -359,19 +354,13 @@ Channel15.signal=2S
|
|||||||
;######### SPECIFIC CHANNELS CONFIG ######
|
;######### SPECIFIC CHANNELS CONFIG ######
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
;#The following options are specific to each channel and overwrite the generic options
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.008
|
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]
|
;#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]
|
||||||
@ -386,112 +375,92 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=true
|
|
||||||
Tracking_1C.dump_filename=./tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=40.0;
|
Tracking_1C.pll_bw_hz=40.0;
|
||||||
Tracking_1C.dll_bw_hz=3.0;
|
Tracking_1C.dll_bw_hz=3.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=true
|
||||||
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;# GPS L2C M
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.0005
|
Acquisition_2S.threshold=0.0005
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=30
|
Acquisition_2S.doppler_step=30
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=true
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=1.5;
|
Tracking_2S.pll_bw_hz=1.5;
|
||||||
Tracking_2S.dll_bw_hz=0.3;
|
Tracking_2S.dll_bw_hz=0.3;
|
||||||
Tracking_2S.order=3;
|
Tracking_2S.order=3;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=true
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS L1 CONFIG ############
|
;######### TELEMETRY DECODER GPS L1 CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=20;
|
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS L2 CONFIG ############
|
;######### TELEMETRY DECODER GPS L2 CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=false
|
TelemetryDecoder_2S.dump=false
|
||||||
TelemetryDecoder_2S.decimation_factor=1;
|
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||||
|
|
||||||
;#averaging_depth: Number of PVT observations in the moving average algorithm
|
;#averaging_depth: Number of PVT observations in the moving average algorithm
|
||||||
PVT.averaging_depth=10
|
PVT.averaging_depth=10
|
||||||
|
|
||||||
;#flag_average: Enables the PVT averaging between output intervals (arithmetic mean) [true] or [false]
|
;#flag_average: Enables the PVT averaging between output intervals (arithmetic mean) [true] or [false]
|
||||||
PVT.flag_averaging=true
|
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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -25,7 +25,7 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
SignalSource.flag_read_file=true
|
SignalSource.flag_read_file=true
|
||||||
@ -81,13 +81,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -175,13 +175,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -257,10 +257,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -278,9 +278,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
@ -305,19 +307,13 @@ Channel15.RF_channel_ID=1
|
|||||||
;######### SPECIFIC CHANNELS CONFIG ######
|
;######### SPECIFIC CHANNELS CONFIG ######
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
;#The following options are specific to each channel and overwrite the generic options
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.008
|
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]
|
;#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]
|
||||||
@ -332,16 +328,13 @@ Acquisition_1C.doppler_step=250
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
|
Acquisition_1C.dump=false
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
;#filename: Log path and filename
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
@ -353,44 +346,37 @@ Tracking_1C.order=3;
|
|||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
|
||||||
;# GPS L2C M
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.0005
|
Acquisition_2S.threshold=0.0005
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=30
|
Acquisition_2S.doppler_step=30
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=true
|
|
||||||
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=1.5;
|
Tracking_2S.pll_bw_hz=1.5;
|
||||||
Tracking_2S.dll_bw_hz=0.3;
|
Tracking_2S.dll_bw_hz=0.3;
|
||||||
Tracking_2S.order=3;
|
Tracking_2S.order=3;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=true
|
||||||
|
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;# GALILEO E1B
|
;# GALILEO E1B
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#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
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -399,100 +385,80 @@ Acquisition_1B.pfa=0.0000005
|
|||||||
Acquisition_1B.doppler_max=5000
|
Acquisition_1B.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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
|
||||||
|
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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=./veml_tracking_ch_
|
|
||||||
|
|
||||||
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS L1 CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=20;
|
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS L2 CONFIG ############
|
;######### TELEMETRY DECODER GPS L2 CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=false
|
TelemetryDecoder_2S.dump=false
|
||||||
TelemetryDecoder_2S.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
|
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
TelemetryDecoder_1B.dump=false
|
||||||
TelemetryDecoder_1B.decimation_factor=5;
|
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=100
|
PVT.display_rate_ms=100
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
|
||||||
|
@ -25,21 +25,16 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=UHD_Signal_Source
|
SignalSource.implementation=UHD_Signal_Source
|
||||||
|
|
||||||
;#When left empty, the device discovery routines will search all vailable transports on the system (ethernet, usb...)
|
;#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
|
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.
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device (i.e. USRP with two frontends)
|
;#RF_channels: Number of RF channels present in the frontend device (i.e. USRP with two frontends)
|
||||||
SignalSource.RF_channels=2
|
SignalSource.RF_channels=2
|
||||||
|
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
||||||
SignalSource.sampling_frequency=4000000
|
SignalSource.sampling_frequency=4000000
|
||||||
|
|
||||||
;#subdevice: UHD subdevice specification (for USRP dual frontend use A:0 or B:0 or A:0 B:0)
|
;#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
|
SignalSource.subdevice=A:0 B:0
|
||||||
|
|
||||||
@ -55,10 +50,6 @@ SignalSource.gain0=50
|
|||||||
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
|
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
|
||||||
SignalSource.samples0=0
|
SignalSource.samples0=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source RF channel data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump0=false
|
|
||||||
|
|
||||||
SignalSource.dump_filename0=../data/signal_source0.dat
|
|
||||||
|
|
||||||
;## RF CHANNEL 1 ##
|
;## RF CHANNEL 1 ##
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
;#freq: RF front-end center frequency in [Hz]
|
||||||
@ -70,11 +61,6 @@ SignalSource.gain1=50
|
|||||||
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
|
;#samples: Number of samples to be processed. Notice that 0 indicates no limit
|
||||||
SignalSource.samples1=0
|
SignalSource.samples1=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source RF channel data to a file. Disable this option in this version
|
|
||||||
SignalSource.dump1=false
|
|
||||||
|
|
||||||
SignalSource.dump_filename1=../data/signal_source1.dat
|
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
@ -107,14 +93,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -199,14 +184,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -276,9 +260,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -299,19 +285,14 @@ Channel3.signal=1C
|
|||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GLOBAL CONFIG ############
|
;######### ACQUISITION GLOBAL CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
||||||
Acquisition_1C.dump=false
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
;#threshold: Acquisition threshold. It will be ignored if pfa is defined.
|
||||||
Acquisition_1C.threshold=0.01
|
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]
|
;#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]
|
||||||
@ -326,87 +307,65 @@ Acquisition_1C.doppler_step=500
|
|||||||
Acquisition_1C.bit_transition_flag=false
|
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
|
;#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.max_dwells=1
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
;#filename: Log path and filename
|
||||||
;######### ACQUISITION CHANNELS CONFIG ######
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING GLOBAL CONFIG ############
|
;######### TRACKING GLOBAL CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_
|
Tracking_1C.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500
|
PVT.display_rate_ms=500
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=true
|
PVT.flag_rtcm_server=true
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -25,29 +25,22 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
SignalSource.flag_read_file=true
|
SignalSource.flag_read_file=true
|
||||||
SignalSource.signal_file=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s.usb ; <- PUT YOUR FILE HERE
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=1
|
SignalSource.RF_channels=1
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -81,13 +74,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -130,11 +123,7 @@ InputFilter0.grid_density=16
|
|||||||
|
|
||||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
|
;#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 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
|
InputFilter0.sampling_frequency=20000000
|
||||||
;# IF deviation due to front-end LO inaccuracies [HZ]
|
|
||||||
;#InputFilter0.IF=-205000
|
|
||||||
InputFilter0.IF=0
|
InputFilter0.IF=0
|
||||||
|
|
||||||
;# Decimation factor after the frequency tranaslating block
|
;# Decimation factor after the frequency tranaslating block
|
||||||
@ -174,13 +163,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -222,9 +211,6 @@ InputFilter1.filter_type=bandpass
|
|||||||
InputFilter1.grid_density=16
|
InputFilter1.grid_density=16
|
||||||
|
|
||||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
|
;#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
|
InputFilter1.sampling_frequency=20000000
|
||||||
;# IF deviation due to front-end LO inaccuracies [HZ]
|
;# IF deviation due to front-end LO inaccuracies [HZ]
|
||||||
InputFilter1.IF=0
|
InputFilter1.IF=0
|
||||||
@ -261,10 +247,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples..
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -306,9 +292,6 @@ InputFilter2.filter_type=bandpass
|
|||||||
InputFilter2.grid_density=16
|
InputFilter2.grid_density=16
|
||||||
|
|
||||||
;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
|
;#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
|
InputFilter2.sampling_frequency=40000000
|
||||||
;# IF deviation due to front-end LO inaccuracies [HZ]
|
;# IF deviation due to front-end LO inaccuracies [HZ]
|
||||||
InputFilter2.IF=0
|
InputFilter2.IF=0
|
||||||
@ -336,9 +319,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
;# CHANNEL NUMBERING ORDER: GPS L1 C/A, GPS L2 L2C (M), GALILEO E1 B, GALILEO E5a
|
;# CHANNEL NUMBERING ORDER: GPS L1 C/A, GPS L2 L2C (M), GALILEO E1 B, GALILEO E5a
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
@ -388,31 +373,26 @@ Channel39.RF_channel_ID=2
|
|||||||
;#The following options are specific to each channel and overwrite the generic options
|
;#The following options are specific to each channel and overwrite the generic options
|
||||||
|
|
||||||
;# GPS L1 CA
|
;# GPS L1 CA
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.005
|
Acquisition_1C.threshold=0.005
|
||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
Acquisition_1C.doppler_step=250
|
Acquisition_1C.doppler_step=250
|
||||||
Acquisition_1C.bit_transition_flag=false
|
Acquisition_1C.bit_transition_flag=false
|
||||||
Acquisition_1C.max_dwells=1
|
Acquisition_1C.max_dwells=1
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
;# Galileo E1
|
;# Galileo E1
|
||||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
Acquisition_1B.dump=false
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -421,29 +401,31 @@ Acquisition_1B.pfa=0.0000002
|
|||||||
Acquisition_1B.doppler_max=5000
|
Acquisition_1B.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.00074
|
Acquisition_2S.threshold=0.00074
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=60
|
Acquisition_2S.doppler_step=60
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;# GALILEO E5a
|
;# GALILEO E5a
|
||||||
Acquisition_5X.dump=false
|
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
||||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_5X.item_type=gr_complex
|
Acquisition_5X.item_type=gr_complex
|
||||||
Acquisition_5X.if=0
|
Acquisition_5X.if=0
|
||||||
Acquisition_5X.coherent_integration_time_ms=1
|
Acquisition_5X.coherent_integration_time_ms=1
|
||||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
|
||||||
Acquisition_5X.threshold=0.009
|
Acquisition_5X.threshold=0.009
|
||||||
Acquisition_5X.doppler_max=5000
|
Acquisition_5X.doppler_max=5000
|
||||||
Acquisition_5X.doppler_step=125
|
Acquisition_5X.doppler_step=125
|
||||||
@ -451,32 +433,29 @@ Acquisition_5X.bit_transition_flag=false
|
|||||||
Acquisition_5X.max_dwells=1
|
Acquisition_5X.max_dwells=1
|
||||||
Acquisition_5X.CAF_window_hz=0 ; **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 ; **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.Zero_padding=0 ; **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 ; **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.dump=false
|
||||||
|
Acquisition_5X.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING CONFIG ############
|
;######### TRACKING CONFIG ############
|
||||||
|
|
||||||
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
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.pll_bw_hz=40.0;
|
||||||
Tracking_1C.dll_bw_hz=3.0;
|
Tracking_1C.dll_bw_hz=3.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### GALILEO E1 TRK CONFIG ############
|
;######### GALILEO E1 TRK CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
@ -487,24 +466,28 @@ Tracking_1B.order=3;
|
|||||||
Tracking_1B.early_late_space_chips=0.15;
|
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]
|
;#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.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 ############
|
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=false
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=2.0;
|
Tracking_2S.pll_bw_hz=2.0;
|
||||||
Tracking_2S.dll_bw_hz=0.25;
|
Tracking_2S.dll_bw_hz=0.25;
|
||||||
Tracking_2S.order=2;
|
Tracking_2S.order=2;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=false
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### GALILEO E5 TRK CONFIG ############
|
;######### GALILEO E5 TRK CONFIG ############
|
||||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||||
Tracking_5X.item_type=gr_complex
|
Tracking_5X.item_type=gr_complex
|
||||||
Tracking_5X.if=0
|
Tracking_5X.if=0
|
||||||
Tracking_5X.dump=false
|
|
||||||
Tracking_5X.dump_filename=./tracking_ch_
|
|
||||||
Tracking_5X.pll_bw_hz_init=20.0; **Only for E5a** PLL loop filter bandwidth during initialization [Hz]
|
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.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.ti_ms=1; **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||||
@ -512,6 +495,9 @@ Tracking_5X.pll_bw_hz=20.0;
|
|||||||
Tracking_5X.dll_bw_hz=20.0;
|
Tracking_5X.dll_bw_hz=20.0;
|
||||||
Tracking_5X.order=2;
|
Tracking_5X.order=2;
|
||||||
Tracking_5X.early_late_space_chips=0.5;
|
Tracking_5X.early_late_space_chips=0.5;
|
||||||
|
Tracking_5X.dump=false
|
||||||
|
Tracking_5X.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
@ -526,8 +512,8 @@ TelemetryDecoder_2S.dump=false
|
|||||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
||||||
TelemetryDecoder_5X.dump=false
|
TelemetryDecoder_5X.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
@ -536,36 +522,25 @@ Observables.dump_filename=./observables.dat
|
|||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=100
|
PVT.display_rate_ms=100
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -25,29 +25,22 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
SignalSource.flag_read_file=true
|
SignalSource.flag_read_file=true
|
||||||
SignalSource.signal_file=/home/javier/signals/20140923_20-24-17_L125_roof_210s.usb ; <- PUT YOUR FILE HERE
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=2
|
SignalSource.RF_channels=2
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -81,13 +74,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -173,13 +166,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -253,10 +246,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter.dat
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;######### RESAMPLER CONFIG 2 ############
|
;######### RESAMPLER CONFIG 2 ############
|
||||||
@ -276,9 +269,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
;# CHANNEL NUMBERING ORDER: GPS L1 C/A, GPS L2 L2C (M), GALILEO E1 B, GALILEO E5a
|
;# CHANNEL NUMBERING ORDER: GPS L1 C/A, GPS L2 L2C (M), GALILEO E1 B, GALILEO E5a
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
@ -304,108 +299,92 @@ Channel18.RF_channel_ID=1
|
|||||||
Channel19.RF_channel_ID=1
|
Channel19.RF_channel_ID=1
|
||||||
|
|
||||||
|
|
||||||
;######### ACQUISITION GENERIC CONFIG ######
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
;#The following options are specific to each channel and overwrite the generic options
|
|
||||||
|
|
||||||
Acquisition_1C.dump=false
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.005
|
Acquisition_1C.threshold=0.005
|
||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
Acquisition_1C.doppler_step=250
|
Acquisition_1C.doppler_step=250
|
||||||
Acquisition_1C.bit_transition_flag=false
|
Acquisition_1C.bit_transition_flag=false
|
||||||
Acquisition_1C.max_dwells=1
|
Acquisition_1C.max_dwells=1
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;# GPS L2C M
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.00074
|
Acquisition_2S.threshold=0.00074
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=60
|
Acquisition_2S.doppler_step=60
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING CONFIG ############
|
;######### TRACKING CONFIG ############
|
||||||
|
|
||||||
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
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.pll_bw_hz=40.0;
|
||||||
Tracking_1C.dll_bw_hz=3.0;
|
Tracking_1C.dll_bw_hz=3.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=false
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=2.0;
|
Tracking_2S.pll_bw_hz=2.0;
|
||||||
Tracking_2S.dll_bw_hz=0.25;
|
Tracking_2S.dll_bw_hz=0.25;
|
||||||
Tracking_2S.order=2;
|
Tracking_2S.order=2;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=false
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
TelemetryDecoder_1C.decimation_factor=20;
|
|
||||||
|
|
||||||
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
|
||||||
TelemetryDecoder_2S.dump=false
|
TelemetryDecoder_2S.dump=false
|
||||||
TelemetryDecoder_2S.decimation_factor=1;
|
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=true
|
Observables.dump=true
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
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]
|
;#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
|
PVT.output_rate_ms=100
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=100
|
PVT.display_rate_ms=100
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
@ -25,29 +25,22 @@ GNSS-SDR.SUPL_LAC=0x59e2
|
|||||||
GNSS-SDR.SUPL_CI=0x31b0
|
GNSS-SDR.SUPL_CI=0x31b0
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource.implementation=Flexiband_Signal_Source
|
SignalSource.implementation=Flexiband_Signal_Source
|
||||||
|
|
||||||
SignalSource.flag_read_file=true
|
SignalSource.flag_read_file=true
|
||||||
SignalSource.signal_file=/media/javier/SISTEMA/signals/fraunhofer/L125_III1b_210s.usb ; <- PUT YOUR FILE HERE
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource.item_type=gr_complex
|
SignalSource.item_type=gr_complex
|
||||||
|
|
||||||
;# FPGA firmware file
|
;# FPGA firmware file
|
||||||
SignalSource.firmware_file=flexiband_III-1b.bit
|
SignalSource.firmware_file=flexiband_III-1b.bit
|
||||||
|
|
||||||
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
;#RF_channels: Number of RF channels present in the frontend device, must agree the FPGA firmware file
|
||||||
SignalSource.RF_channels=3
|
SignalSource.RF_channels=3
|
||||||
|
|
||||||
;#frontend channels gain. Not usable yet!
|
;#frontend channels gain. Not usable yet!
|
||||||
SignalSource.gain1=0
|
SignalSource.gain1=0
|
||||||
SignalSource.gain2=0
|
SignalSource.gain2=0
|
||||||
SignalSource.gain3=0
|
SignalSource.gain3=0
|
||||||
|
|
||||||
;#frontend channels AGC
|
;#frontend channels AGC
|
||||||
SignalSource.AGC=true
|
SignalSource.AGC=true
|
||||||
|
|
||||||
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
;# USB 3.0 packet buffer size (number of SuperSpeed packets)
|
||||||
SignalSource.usb_packet_buffer=128
|
SignalSource.usb_packet_buffer=128
|
||||||
|
|
||||||
@ -81,13 +74,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse reaponse given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -174,16 +167,16 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges,
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#the desired reponse on those bands, and the weight given to the error in those bands.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter.
|
||||||
InputFilter1.taps_item_type=float
|
InputFilter1.taps_item_type=float
|
||||||
|
|
||||||
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
|
;#number_of_taps: Number of taps in the filter. Increasing this parameter increases the processing time
|
||||||
@ -261,10 +254,10 @@ InputFilter2.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter2.input_item_type=gr_complex
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter2.output_item_type=gr_complex
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -336,10 +329,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
;# CHANNEL NUMBERING ORDER: GPS L1 C/A, GPS L2 L2C (M), GALILEO E1 B, GALILEO E5a
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# CHANNEL CONNECTION
|
;# CHANNEL CONNECTION
|
||||||
|
|
||||||
@ -388,31 +382,27 @@ Channel39.RF_channel_ID=2
|
|||||||
;#The following options are specific to each channel and overwrite the generic options
|
;#The following options are specific to each channel and overwrite the generic options
|
||||||
|
|
||||||
;# GPS L1 CA
|
;# GPS L1 CA
|
||||||
Acquisition_1C.dump=false
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
Acquisition_1C.coherent_integration_time_ms=1
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
Acquisition_1C.threshold=0.005
|
Acquisition_1C.threshold=0.005
|
||||||
Acquisition_1C.doppler_max=5000
|
Acquisition_1C.doppler_max=5000
|
||||||
Acquisition_1C.doppler_step=250
|
Acquisition_1C.doppler_step=250
|
||||||
Acquisition_1C.bit_transition_flag=false
|
Acquisition_1C.bit_transition_flag=false
|
||||||
Acquisition_1C.max_dwells=1
|
Acquisition_1C.max_dwells=1
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;# Galileo E1
|
;# Galileo E1
|
||||||
;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
Acquisition_1B.dump=false
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -421,29 +411,31 @@ Acquisition_1B.pfa=0.0000002
|
|||||||
Acquisition_1B.doppler_max=5000
|
Acquisition_1B.doppler_max=5000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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
|
;# GPS L2C M
|
||||||
Acquisition_2S.dump=false
|
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
||||||
Acquisition_2S.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_2S.item_type=gr_complex
|
Acquisition_2S.item_type=gr_complex
|
||||||
Acquisition_2S.if=0
|
Acquisition_2S.if=0
|
||||||
Acquisition_2S.implementation=GPS_L2_M_PCPS_Acquisition
|
|
||||||
Acquisition_2S.threshold=0.00074
|
Acquisition_2S.threshold=0.00074
|
||||||
;Acquisition_2S.pfa=0.001
|
;Acquisition_2S.pfa=0.001
|
||||||
Acquisition_2S.doppler_max=5000
|
Acquisition_2S.doppler_max=5000
|
||||||
Acquisition_2S.doppler_min=-5000
|
Acquisition_2S.doppler_min=-5000
|
||||||
Acquisition_2S.doppler_step=60
|
Acquisition_2S.doppler_step=60
|
||||||
Acquisition_2S.max_dwells=1
|
Acquisition_2S.max_dwells=1
|
||||||
|
Acquisition_2S.dump=false
|
||||||
|
Acquisition_2S.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;# GALILEO E5a
|
;# GALILEO E5a
|
||||||
Acquisition_5X.dump=false
|
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
||||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
|
||||||
Acquisition_5X.item_type=gr_complex
|
Acquisition_5X.item_type=gr_complex
|
||||||
Acquisition_5X.if=0
|
Acquisition_5X.if=0
|
||||||
Acquisition_5X.coherent_integration_time_ms=1
|
Acquisition_5X.coherent_integration_time_ms=1
|
||||||
Acquisition_5X.implementation=Galileo_E5a_Noncoherent_IQ_Acquisition_CAF
|
|
||||||
Acquisition_5X.threshold=0.009
|
Acquisition_5X.threshold=0.009
|
||||||
Acquisition_5X.doppler_max=5000
|
Acquisition_5X.doppler_max=5000
|
||||||
Acquisition_5X.doppler_step=125
|
Acquisition_5X.doppler_step=125
|
||||||
@ -451,32 +443,28 @@ Acquisition_5X.bit_transition_flag=false
|
|||||||
Acquisition_5X.max_dwells=1
|
Acquisition_5X.max_dwells=1
|
||||||
Acquisition_5X.CAF_window_hz=0 ; **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 ; **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.Zero_padding=0 ; **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 ; **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.dump=false
|
||||||
|
Acquisition_5X.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
;######### TRACKING CONFIG ############
|
;######### TRACKING CONFIG ############
|
||||||
|
|
||||||
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
;######### GPS L1 C/A GENERIC TRACKING CONFIG ############
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
Tracking_1C.if=0
|
Tracking_1C.if=0
|
||||||
Tracking_1C.dump=false
|
|
||||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
|
||||||
Tracking_1C.pll_bw_hz=35.0;
|
Tracking_1C.pll_bw_hz=35.0;
|
||||||
Tracking_1C.dll_bw_hz=2.0;
|
Tracking_1C.dll_bw_hz=2.0;
|
||||||
Tracking_1C.order=3;
|
Tracking_1C.order=3;
|
||||||
Tracking_1C.early_late_space_chips=0.5;
|
Tracking_1C.early_late_space_chips=0.5;
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;######### GALILEO E1 TRK CONFIG ############
|
;######### GALILEO E1 TRK CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
@ -487,24 +475,28 @@ Tracking_1B.order=3;
|
|||||||
Tracking_1B.early_late_space_chips=0.15;
|
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]
|
;#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.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 ############
|
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
||||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||||
Tracking_2S.item_type=gr_complex
|
Tracking_2S.item_type=gr_complex
|
||||||
Tracking_2S.if=0
|
Tracking_2S.if=0
|
||||||
Tracking_2S.dump=false
|
|
||||||
Tracking_2S.dump_filename=./tracking_ch_
|
|
||||||
Tracking_2S.pll_bw_hz=2.0;
|
Tracking_2S.pll_bw_hz=2.0;
|
||||||
Tracking_2S.dll_bw_hz=0.25;
|
Tracking_2S.dll_bw_hz=0.25;
|
||||||
Tracking_2S.order=2;
|
Tracking_2S.order=2;
|
||||||
Tracking_2S.early_late_space_chips=0.5;
|
Tracking_2S.early_late_space_chips=0.5;
|
||||||
|
Tracking_2S.dump=false
|
||||||
|
Tracking_2S.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### GALILEO E5 TRK CONFIG ############
|
;######### GALILEO E5 TRK CONFIG ############
|
||||||
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
Tracking_5X.implementation=Galileo_E5a_DLL_PLL_Tracking
|
||||||
Tracking_5X.item_type=gr_complex
|
Tracking_5X.item_type=gr_complex
|
||||||
Tracking_5X.if=0
|
Tracking_5X.if=0
|
||||||
Tracking_5X.dump=false
|
|
||||||
Tracking_5X.dump_filename=./tracking_ch_
|
|
||||||
Tracking_5X.pll_bw_hz_init=20.0; **Only for E5a** PLL loop filter bandwidth during initialization [Hz]
|
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.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.ti_ms=1; **Only for E5a** loop filter integration time after initialization (secondary code delay search)[ms]
|
||||||
@ -512,6 +504,9 @@ Tracking_5X.pll_bw_hz=20.0;
|
|||||||
Tracking_5X.dll_bw_hz=20.0;
|
Tracking_5X.dll_bw_hz=20.0;
|
||||||
Tracking_5X.order=2;
|
Tracking_5X.order=2;
|
||||||
Tracking_5X.early_late_space_chips=0.5;
|
Tracking_5X.early_late_space_chips=0.5;
|
||||||
|
Tracking_5X.dump=false
|
||||||
|
Tracking_5X.dump_filename=./tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER CONFIG ############
|
;######### TELEMETRY DECODER CONFIG ############
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
@ -526,6 +521,7 @@ TelemetryDecoder_2S.dump=false
|
|||||||
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
TelemetryDecoder_5X.implementation=Galileo_E5a_Telemetry_Decoder
|
||||||
TelemetryDecoder_5X.dump=false
|
TelemetryDecoder_5X.dump=false
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
@ -538,34 +534,24 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
|
||||||
PVT.positioning_mode=PPP_Static ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
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.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.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]
|
;#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
|
PVT.output_rate_ms=10
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=100
|
PVT.display_rate_ms=100
|
||||||
|
|
||||||
;# KML, GeoJSON, NMEA and RTCM output configuration
|
;# 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 and ".kml" to GoogleEarth dump.
|
|
||||||
PVT.dump_filename=./PVT
|
|
||||||
|
|
||||||
;#nmea_dump_filename: NMEA log path and filename
|
;#nmea_dump_filename: NMEA log path and filename
|
||||||
PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
|
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)
|
;#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;
|
PVT.flag_nmea_tty_port=false;
|
||||||
|
|
||||||
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
;#nmea_dump_devname: serial device descriptor for NMEA logging
|
||||||
PVT.nmea_dump_devname=/dev/pts/4
|
PVT.nmea_dump_devname=/dev/pts/4
|
||||||
|
|
||||||
PVT.flag_rtcm_server=false
|
PVT.flag_rtcm_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
|
||||||
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
PVT.dump=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
|
||||||
|
@ -14,61 +14,35 @@ Receiver.sources_count=2
|
|||||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE 0 CONFIG ############
|
;######### SIGNAL_SOURCE 0 CONFIG ############
|
||||||
|
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
|
||||||
SignalSource0.implementation=File_Signal_Source
|
SignalSource0.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
SignalSource0.item_type=ishort
|
SignalSource0.item_type=ishort
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource0.sampling_frequency=4000000
|
SignalSource0.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource0.freq=1575420000
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource0.samples=0
|
SignalSource0.samples=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource0.dump=false
|
|
||||||
|
|
||||||
SignalSource0.dump_filename=../data/signal_source.dat
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE 1 CONFIG ############
|
;######### SIGNAL_SOURCE 1 CONFIG ############
|
||||||
|
|
||||||
;#implementation: Use [File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
|
||||||
SignalSource1.implementation=File_Signal_Source
|
SignalSource1.implementation=File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
SignalSource1.item_type=ishort
|
SignalSource1.item_type=ishort
|
||||||
|
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
||||||
SignalSource1.sampling_frequency=4000000
|
SignalSource1.sampling_frequency=4000000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
;#freq: RF front-end center frequency in [Hz]
|
||||||
SignalSource1.freq=1575420000
|
SignalSource1.freq=1575420000
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource1.samples=0
|
SignalSource1.samples=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource1.dump=false
|
|
||||||
|
|
||||||
SignalSource1.dump_filename=../data/signal_source.dat
|
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
@ -101,12 +75,13 @@ 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.
|
;#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.
|
;#These options are based on parameters of GNU Radio's function: gr_remez.
|
||||||
;#These 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.
|
;;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=gr_complex
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -167,7 +142,7 @@ Resampler1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler1.dump_filename=../data/resampler.dat
|
Resampler1.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Resampler1.item_type=gr_complex
|
Resampler1.item_type=gr_complex
|
||||||
|
|
||||||
;#sample_freq_in: the sample frequency of the input signal
|
;#sample_freq_in: the sample frequency of the input signal
|
||||||
@ -185,7 +160,7 @@ Resampler1.sample_freq_out=4000000
|
|||||||
SignalConditioner1.implementation=Signal_Conditioner
|
SignalConditioner1.implementation=Signal_Conditioner
|
||||||
|
|
||||||
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
|
;######### DATA_TYPE_ADAPTER 1 CONFIG ############
|
||||||
;## Changes the type of input data. Please disable it in this version.
|
;## Changes the type of input data.
|
||||||
;#implementation: [Pass_Through] disables this block
|
;#implementation: [Pass_Through] disables this block
|
||||||
DataTypeAdapter1.implementation=Ishort_To_Complex
|
DataTypeAdapter1.implementation=Ishort_To_Complex
|
||||||
|
|
||||||
@ -207,12 +182,13 @@ 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.
|
;#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.
|
;#These options are based on parameters of GNU Radio's function: gr_remez.
|
||||||
;#These 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.
|
;#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. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=gr_complex
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -273,7 +249,7 @@ Resampler1.dump=false
|
|||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Resampler1.dump_filename=../data/resampler.dat
|
Resampler1.dump_filename=../data/resampler.dat
|
||||||
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Resampler1.item_type=gr_complex
|
Resampler1.item_type=gr_complex
|
||||||
|
|
||||||
;#sample_freq_in: the sample frequency of the input signal
|
;#sample_freq_in: the sample frequency of the input signal
|
||||||
@ -303,19 +279,13 @@ Channel.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.0075
|
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]
|
;#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]
|
||||||
@ -324,22 +294,20 @@ Acquisition_1C.threshold=0.0075
|
|||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=500
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -348,70 +316,57 @@ Acquisition_1B.pfa=0.0000008
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=4;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
@ -422,10 +377,8 @@ TelemetryDecoder_1B.dump=false
|
|||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
;#implementation:
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
@ -433,19 +386,14 @@ Observables.dump_filename=./observables.dat
|
|||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
;#implementation: Position Velocity and Time (PVT) implementation:
|
||||||
PVT.implementation=RTKLIB_PVT
|
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]
|
;#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;
|
PVT.output_rate_ms=100;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
|
PVT.dump=false
|
||||||
|
@ -17,65 +17,35 @@ GNSS-SDR.internal_fs_sps=2560000
|
|||||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
|
;#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.
|
; it helps to not overload the CPU, but the processing time will be longer.
|
||||||
SignalSource.enable_throttle_control=false
|
SignalSource.enable_throttle_control=false
|
||||||
|
;#repeat: Repeat the processing file.
|
||||||
;#repeat: Repeat the processing file. Disable this option in this version
|
|
||||||
SignalSource.repeat=false
|
SignalSource.repeat=false
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE 0 CONFIG ############
|
;######### SIGNAL_SOURCE 0 CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation
|
||||||
SignalSource0.implementation=Nsr_File_Signal_Source
|
SignalSource0.implementation=Nsr_File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#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
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource0.item_type=byte
|
SignalSource0.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource0.sampling_frequency=20480000
|
SignalSource0.sampling_frequency=20480000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource0.freq=1575420000
|
|
||||||
|
|
||||||
;#subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
|
||||||
SignalSource0.subdevice=B:0
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource0.samples=0
|
SignalSource0.samples=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource0.dump=false
|
|
||||||
|
|
||||||
SignalSource0.dump_filename=../data/signal_source.dat
|
|
||||||
|
|
||||||
;######### SIGNAL_SOURCE 1 CONFIG ############
|
;######### SIGNAL_SOURCE 1 CONFIG ############
|
||||||
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
;#implementation: Use [File_Signal_Source] [Nsr_File_Signal_Source] or [UHD_Signal_Source] or [GN3S_Signal_Source] (experimental)
|
||||||
SignalSource1.implementation=Nsr_File_Signal_Source
|
SignalSource1.implementation=Nsr_File_Signal_Source
|
||||||
|
|
||||||
;#filename: path to file with the captured GNSS signal samples to be processed
|
;#filename: path to file with the captured GNSS signal samples to be processed
|
||||||
SignalSource1.filename=/datalogger/signals/ifen/E1L1_FE0_Band0.stream
|
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.
|
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||||
SignalSource1.item_type=byte
|
SignalSource1.item_type=byte
|
||||||
|
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||||
;#sampling_frequency: Original Signal sampling frequency in [Hz]
|
|
||||||
SignalSource1.sampling_frequency=20480000
|
SignalSource1.sampling_frequency=20480000
|
||||||
|
|
||||||
;#freq: RF front-end center frequency in [Hz]
|
|
||||||
SignalSource1.freq=1575420000
|
|
||||||
|
|
||||||
;#subdevice: UHD subdevice specification (for USRP1 use A:0 or B:0)
|
|
||||||
SignalSource1.subdevice=B:0
|
|
||||||
|
|
||||||
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
;#samples: Number of samples to be processed. Notice that 0 indicates the entire file.
|
||||||
SignalSource1.samples=0
|
SignalSource1.samples=0
|
||||||
|
|
||||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
|
||||||
SignalSource1.dump=false
|
|
||||||
|
|
||||||
SignalSource1.dump_filename=../data/signal_source.dat
|
|
||||||
|
|
||||||
|
|
||||||
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
;######### SIGNAL_CONDITIONER 0 CONFIG ############
|
||||||
;## It holds blocks to change data type, filter and resample input data.
|
;## It holds blocks to change data type, filter and resample input data.
|
||||||
@ -108,14 +78,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter0.input_item_type=float
|
InputFilter0.input_item_type=float
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter0.output_item_type=gr_complex
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -206,14 +175,13 @@ 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.
|
;#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 options are based on parameters of gnuradio's function: gr_remez.
|
||||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
;#This function calculates the optimal (in the Chebyshev/minimax sense) FIR filter impulse response given a set of band edges,
|
||||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
;#the desired response on those bands, and the weight given to the error in those bands.
|
||||||
;#and the weight given to the error in those bands.
|
|
||||||
|
|
||||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
;#input_item_type: Type and resolution for input signal samples.
|
||||||
InputFilter1.input_item_type=float
|
InputFilter1.input_item_type=float
|
||||||
|
|
||||||
;#outut_item_type: Type and resolution for output filtered signal samples. Use only gr_complex in this version.
|
;#outut_item_type: Type and resolution for output filtered signal samples.
|
||||||
InputFilter1.output_item_type=gr_complex
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
|
||||||
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
;#taps_item_type: Type and resolution for the taps of the filter. Use only float in this version.
|
||||||
@ -284,9 +252,11 @@ Channels.in_acquisition=1
|
|||||||
|
|
||||||
;#signal:
|
;#signal:
|
||||||
;# "1C" GPS L1 C/A
|
;# "1C" GPS L1 C/A
|
||||||
;# "2S" GPS L2 L2C (M)
|
|
||||||
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
;# "1B" GALILEO E1 B (I/NAV OS/CS/SoL)
|
||||||
|
;# "1G" GLONASS L1 C/A
|
||||||
|
;# "2S" GPS L2 L2C (M)
|
||||||
;# "5X" GALILEO E5a I+Q
|
;# "5X" GALILEO E5a I+Q
|
||||||
|
;# "L5" GPS L5
|
||||||
|
|
||||||
;# SOURCE CONNECTION
|
;# SOURCE CONNECTION
|
||||||
Channel0.RF_channel_ID=0
|
Channel0.RF_channel_ID=0
|
||||||
@ -328,19 +298,13 @@ Channel15.signal=1B
|
|||||||
|
|
||||||
|
|
||||||
;######### GPS ACQUISITION CONFIG ############
|
;######### GPS ACQUISITION 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.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1C.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1C.item_type=gr_complex
|
Acquisition_1C.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1C.if=0
|
Acquisition_1C.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1C.sampled_ms=1
|
Acquisition_1C.sampled_ms=1
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
Acquisition_1C.threshold=0.0075
|
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]
|
;#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]
|
||||||
@ -349,22 +313,20 @@ Acquisition_1C.threshold=0.0075
|
|||||||
Acquisition_1C.doppler_max=10000
|
Acquisition_1C.doppler_max=10000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1C.doppler_step=500
|
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 ############
|
;######### GALILEO ACQUISITION CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_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_1B.dump=false
|
|
||||||
;#filename: Log path and filename
|
|
||||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
|
||||||
Acquisition_1B.item_type=gr_complex
|
Acquisition_1B.item_type=gr_complex
|
||||||
;#if: Signal intermediate frequency in [Hz]
|
;#if: Signal intermediate frequency in [Hz]
|
||||||
Acquisition_1B.if=0
|
Acquisition_1B.if=0
|
||||||
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
|
||||||
Acquisition_1B.sampled_ms=4
|
Acquisition_1B.sampled_ms=4
|
||||||
;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
|
|
||||||
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
|
||||||
;#threshold: Acquisition threshold
|
;#threshold: Acquisition threshold
|
||||||
;Acquisition_1B.threshold=0
|
;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]
|
;#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]
|
||||||
@ -373,105 +335,81 @@ Acquisition_1B.pfa=0.0000002
|
|||||||
Acquisition_1B.doppler_max=15000
|
Acquisition_1B.doppler_max=15000
|
||||||
;#doppler_max: Doppler step in the grid search [Hz]
|
;#doppler_max: Doppler step in the grid search [Hz]
|
||||||
Acquisition_1B.doppler_step=125
|
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 GPS CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1C.item_type=gr_complex
|
Tracking_1C.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1C.if=0
|
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]
|
;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false]
|
||||||
Tracking_1C.dump=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.
|
;#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_1C.dump_filename=../data/epl_tracking_ch_
|
||||||
|
|
||||||
;#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;
|
|
||||||
|
|
||||||
;######### TRACKING GALILEO CONFIG ############
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
|
||||||
;#implementation: Selected tracking algorithm: [Galileo_E1_DLL_PLL_VEML_Tracking]
|
|
||||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
|
;#item_type: Type and resolution for each of the signal samples.
|
||||||
Tracking_1B.item_type=gr_complex
|
Tracking_1B.item_type=gr_complex
|
||||||
|
|
||||||
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
;#sampling_frequency: Signal Intermediate Frequency in [Hz]
|
||||||
Tracking_1B.if=0
|
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]
|
;#pll_bw_hz: PLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.pll_bw_hz=15.0;
|
Tracking_1B.pll_bw_hz=15.0;
|
||||||
|
|
||||||
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
;#dll_bw_hz: DLL loop filter bandwidth [Hz]
|
||||||
Tracking_1B.dll_bw_hz=2.0;
|
Tracking_1B.dll_bw_hz=2.0;
|
||||||
|
|
||||||
;#order: PLL/DLL loop filter order [2] or [3]
|
;#order: PLL/DLL loop filter order [2] or [3]
|
||||||
Tracking_1B.order=3;
|
Tracking_1B.order=3;
|
||||||
|
|
||||||
;#early_late_space_chips: correlator early-late space [chips]. Use [0.5] for GPS and [0.15] for Galileo
|
;#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;
|
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]
|
;#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.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 ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L1 C/A
|
||||||
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
TelemetryDecoder_1C.dump=false
|
TelemetryDecoder_1C.dump=false
|
||||||
;#decimation factor
|
|
||||||
TelemetryDecoder_1C.decimation_factor=1;
|
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
;######### TELEMETRY DECODER GALILEO CONFIG ############
|
||||||
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
;#implementation: Use [Galileo_E1B_Telemetry_Decoder] for Galileo E1B
|
||||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
TelemetryDecoder_1B.dump=false
|
|
||||||
TelemetryDecoder_1B.decimation_factor=4;
|
|
||||||
|
|
||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
;#implementation:
|
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
|
|
||||||
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
|
||||||
Observables.dump=false
|
Observables.dump=false
|
||||||
|
|
||||||
;#dump_filename: Log path and filename.
|
;#dump_filename: Log path and filename.
|
||||||
Observables.dump_filename=./observables.dat
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
;#implementation: Position Velocity and Time (PVT) implementation:
|
|
||||||
PVT.implementation=RTKLIB_PVT
|
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]
|
;#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;
|
PVT.output_rate_ms=10;
|
||||||
|
|
||||||
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
;#display_rate_ms: Position console print (std::out) interval [ms]. Notice that output_rate_ms<=display_rate_ms.
|
||||||
PVT.display_rate_ms=500;
|
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_server=false
|
||||||
PVT.flag_rtcm_tty_port=false
|
PVT.flag_rtcm_tty_port=false
|
||||||
PVT.rtcm_dump_devname=/dev/pts/1
|
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.
|
;#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
|
PVT.dump_filename=./PVT
|
||||||
|
;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
|
||||||
|
PVT.dump=false
|
||||||
|
@ -5,7 +5,8 @@ Before submitting your pull request, please make sure the following is done:
|
|||||||
2. If you are a first-time contributor, after your pull request you will be asked to sign an Individual Contributor License Agreement ([CLA](https://en.wikipedia.org/wiki/Contributor_License_Agreement)) before your code gets accepted into `master`. This license is for your protection as a Contributor as well as for the protection of [CTTC](http://www.cttc.es/); it does not change your rights to use your own contributions for any other purpose. Except for the license granted therein to CTTC and recipients of software distributed by CTTC, you reserve all right, title, and interest in and to your contributions. The information you provide in that CLA will be maintained in accordance with [CTTC's privacy policy](http://www.cttc.es/privacy/).
|
2. If you are a first-time contributor, after your pull request you will be asked to sign an Individual Contributor License Agreement ([CLA](https://en.wikipedia.org/wiki/Contributor_License_Agreement)) before your code gets accepted into `master`. This license is for your protection as a Contributor as well as for the protection of [CTTC](http://www.cttc.es/); it does not change your rights to use your own contributions for any other purpose. Except for the license granted therein to CTTC and recipients of software distributed by CTTC, you reserve all right, title, and interest in and to your contributions. The information you provide in that CLA will be maintained in accordance with [CTTC's privacy policy](http://www.cttc.es/privacy/).
|
||||||
3. You have read the [Contributing Guidelines](https://github.com/gnss-sdr/gnss-sdr/blob/master/CONTRIBUTING.md).
|
3. You have read the [Contributing Guidelines](https://github.com/gnss-sdr/gnss-sdr/blob/master/CONTRIBUTING.md).
|
||||||
4. You have read the [coding style guide](http://gnss-sdr.org/coding-style/).
|
4. You have read the [coding style guide](http://gnss-sdr.org/coding-style/).
|
||||||
5. You have forked the [gnss-sdr upstream repository](https://github.com/gnss-sdr/gnss-sdr) and have created your branch from `next` (or any other currently living branch in the upstream repository).
|
5. Specifically, you have read [about clang-format](http://gnss-sdr.org/coding-style/#use-tools-for-automated-code-formatting) and you have applied it.
|
||||||
6. Please include a description of your changes here.
|
6. You have forked the [gnss-sdr upstream repository](https://github.com/gnss-sdr/gnss-sdr) and have created your branch from `next` (or any other currently living branch in the upstream repository).
|
||||||
|
7. Please include a description of your changes here.
|
||||||
|
|
||||||
**Please feel free to delete this line and the above text once you have read it and in case you want to go on with your pull request.**
|
**Please feel free to delete this line and the above text once you have read it and in case you want to go on with your pull request.**
|
@ -1,28 +1,70 @@
|
|||||||
.\" Manpage for gnss\-sdr.
|
.\" Manpage for gnss\-sdr.
|
||||||
.\" Contact carles.fernandez@cttc.es to correct errors or typos.
|
.\" Contact carles.fernandez@cttc.es to correct errors or typos.
|
||||||
.TH gnss\-sdr 1 "05 Feb 2017" "0.0.9" "gnss\-sdr man page"
|
.TH gnss\-sdr 1 "24 Feb 2018" "0.0.9" "gnss\-sdr man page"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fBgnss\-sdr\fR \- GNSS Software Defined Receiver.
|
\fBgnss\-sdr\fR \- GNSS Software Defined Receiver.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBgnss\-sdr \-config_file=\fR\fI<path\-to\-configuration\-file>\fR [OPTION]...
|
\fBgnss\-sdr \-c=\fR\fI<path\-to\-configuration\-file>\fR [OPTION]...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBgnss\-sdr\fR is a Global Navigation Satellite Systems Software Defined Receiver written in C++. It implements all the signal processing chain, taking as input raw samples coming from the output of an Analog\-to\-Digital Converter, and processing them up to the computation of the Position\-Velocity\-Time solution, including the generation of code and phase measurements.
|
\fBgnss\-sdr\fR is a Global Navigation Satellite Systems Software Defined Receiver written in C++. It implements all the signal processing chain, taking as input raw samples coming from the output of an Analog\-to\-Digital Converter, and processing them up to the computation of the Position\-Velocity\-Time solution, including the generation of code and phase measurements.
|
||||||
\.TP
|
\.TP
|
||||||
\fBgnss\-sdr\fR is able to work with raw data files or, if there is computational power enough, in real time with suitable radio frequency front\-ends. The whole receiver is defined in a single configuration file, and therefore users can define theirs.
|
\fBgnss\-sdr\fR is able to work with raw data files or, if there is computational power enough, in real time with suitable radio frequency front\-ends. The whole receiver is defined in a single configuration file, and therefore users can define theirs.
|
||||||
|
\.TP
|
||||||
|
There is some flexibility in how flags may be specified. The following examples are equivalent:
|
||||||
|
\.RS 8
|
||||||
|
\.TP
|
||||||
|
gnss\-sdr \-c=/home/user/rx.conf
|
||||||
|
\.TP
|
||||||
|
gnss\-sdr \-\-c=/home/user/rx.conf
|
||||||
|
\.TP
|
||||||
|
gnss\-sdr \-c /home/user/rx.conf
|
||||||
|
\.TP
|
||||||
|
gnss\-sdr \-\-c /home/user/rx.conf
|
||||||
|
\.RE
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
\fBgnss\-sdr\fR takes the following options:
|
\fBgnss\-sdr\fR takes the following options:
|
||||||
.TP
|
.TP
|
||||||
\fB\-config_file=\fR\fI<path\-to\-configuration\-file>\fR Set the configuration file.
|
\fB\-c=\fR\fI<path\-to\-configuration\-file>\fR or \fB\-config_file=\fR\fI<path\-to\-configuration\-file>\fR
|
||||||
|
Set the configuration file. This flag is mandatory.
|
||||||
.TP
|
.TP
|
||||||
\fB\-signal_source=\fR\fI<path\-to\-raw\-signal\-file>\fR If defined, path to the file containing the signal samples (overrides the data file specified in the configuration file).
|
\fB\-s=\fR\fI<path\-to\-raw\-signal\-file>\fR or \fB\-signal_source=\fR\fI<path\-to\-raw\-signal\-file>\fR
|
||||||
|
If defined, path to the file containing the signal samples (overrides the data file specified in the configuration file).
|
||||||
.TP
|
.TP
|
||||||
\fB\-log_dir=\fR\fI<path\-to\-directory>\fR If defined, overrides the default directory where logs are saved.
|
\fB\-log_dir=\fR\fI<path\-to\-directory>\fR
|
||||||
|
If defined, overrides the default directory where logs are saved.
|
||||||
.TP
|
.TP
|
||||||
\fB\-RINEX_version=\fI<version>\fR Specifies the RINEX version (2.11 or 3.02). Default: "3.02".
|
\fB\-doppler_max=\fR\fI<doppler_max>\fR
|
||||||
|
If defined, maximum Doppler value in the search grid, in Hz (overrides the configuration file).
|
||||||
.TP
|
.TP
|
||||||
\fB\-version\fR Print program version and exit.
|
\fB\-doppler_step=\fR\fI<doppler_step>\fR
|
||||||
|
If defined, sets the frequency step in the search grid, in Hz (overrides the configuration file).
|
||||||
.TP
|
.TP
|
||||||
\fB\-help\fR Print all the available commandline flags and exit.
|
\fB\-cn0_samples=\fR\fI<samples>\fR
|
||||||
|
Number of correlators outputs (one per integration time) used for CN0 estimation. It defaults to 20 outputs.
|
||||||
|
.TP
|
||||||
|
\fB\-cn0_min=\fR\fI<cn0_min>\fR
|
||||||
|
Minimum valid CN0 (in dB-Hz). It defaults to 25 dB-Hz.
|
||||||
|
.TP
|
||||||
|
\fB\-max_lock_fail=\fR\fI<max_lock_fail>\fR
|
||||||
|
Number of lock failures before dropping satellite. It defaults to 50 failures.
|
||||||
|
.TP
|
||||||
|
\fB\-carrier_lock_th=\fR\fI<carrier_lock_th>\fR
|
||||||
|
Carrier lock error threshold (in rad). It defaults to 0.85 rad (48.7 degrees).
|
||||||
|
.TP
|
||||||
|
\fB\-dll_bw_hz=\fR\fI<dll_bw_hz>\fR
|
||||||
|
If defined, bandwidth of the DLL low pass filter, in Hz (overrides the configuration file).
|
||||||
|
.TP
|
||||||
|
\fB\-pll_bw_hz=\fR\fI<pll_bw_hz>\fR
|
||||||
|
If defined, bandwidth of the PLL low pass filter, in Hz (overrides the configuration file).
|
||||||
|
.TP
|
||||||
|
\fB\-RINEX_version=\fI<version>\fR
|
||||||
|
If defined, specifies the RINEX version (2.11 or 3.02). Default: "3.02". Overrides the configuration file.
|
||||||
|
.TP
|
||||||
|
\fB\-version\fR
|
||||||
|
Print program version and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-help\fR
|
||||||
|
Print all the available commandline flags and exit.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR volk_gnsssdr_profile (1)
|
.BR volk_gnsssdr_profile (1)
|
||||||
\.TP
|
\.TP
|
||||||
|
@ -28,6 +28,7 @@ include_directories(
|
|||||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks
|
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||||
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||||
${ARMADILLO_INCLUDE_DIRS}
|
${ARMADILLO_INCLUDE_DIRS}
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
${GLOG_INCLUDE_DIRS}
|
${GLOG_INCLUDE_DIRS}
|
||||||
|
@ -30,12 +30,13 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "rtklib_pvt.h"
|
#include "rtklib_pvt.h"
|
||||||
#include <glog/logging.h>
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/archive/xml_oarchive.hpp>
|
#include <boost/archive/xml_oarchive.hpp>
|
||||||
#include <boost/archive/xml_iarchive.hpp>
|
#include <boost/archive/xml_iarchive.hpp>
|
||||||
#include <boost/math/common_factor_rt.hpp>
|
#include <boost/math/common_factor_rt.hpp>
|
||||||
#include <boost/serialization/map.hpp>
|
#include <boost/serialization/map.hpp>
|
||||||
#include "configuration_interface.h"
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
@ -43,8 +44,7 @@ using google::LogMessage;
|
|||||||
RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||||
std::string role,
|
std::string role,
|
||||||
unsigned int in_streams,
|
unsigned int in_streams,
|
||||||
unsigned int out_streams) :
|
unsigned int out_streams) : role_(role),
|
||||||
role_(role),
|
|
||||||
in_streams_(in_streams),
|
in_streams_(in_streams),
|
||||||
out_streams_(out_streams)
|
out_streams_(out_streams)
|
||||||
{
|
{
|
||||||
@ -70,11 +70,30 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
|||||||
|
|
||||||
// RINEX version
|
// RINEX version
|
||||||
int rinex_version = configuration->property(role + ".rinex_version", 3);
|
int rinex_version = configuration->property(role + ".rinex_version", 3);
|
||||||
if( (rinex_version < 2) || (rinex_version > 3) )
|
if (FLAGS_RINEX_version.compare("3.01") == 0)
|
||||||
{
|
{
|
||||||
//warn user and set the default
|
|
||||||
rinex_version = 3;
|
rinex_version = 3;
|
||||||
}
|
}
|
||||||
|
else if (FLAGS_RINEX_version.compare("3.02") == 0)
|
||||||
|
{
|
||||||
|
rinex_version = 3;
|
||||||
|
}
|
||||||
|
else if (FLAGS_RINEX_version.compare("3") == 0)
|
||||||
|
{
|
||||||
|
rinex_version = 3;
|
||||||
|
}
|
||||||
|
else if (FLAGS_RINEX_version.compare("2.11") == 0)
|
||||||
|
{
|
||||||
|
rinex_version = 2;
|
||||||
|
}
|
||||||
|
else if (FLAGS_RINEX_version.compare("2.10") == 0)
|
||||||
|
{
|
||||||
|
rinex_version = 2;
|
||||||
|
}
|
||||||
|
else if (FLAGS_RINEX_version.compare("2") == 0)
|
||||||
|
{
|
||||||
|
rinex_version = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// RTCM Printer settings
|
// RTCM Printer settings
|
||||||
bool flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
|
bool flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
|
||||||
@ -397,7 +416,8 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
|||||||
|
|
||||||
snrmask_t snrmask = {{}, {{}, {}}};
|
snrmask_t snrmask = {{}, {{}, {}}};
|
||||||
|
|
||||||
prcopt_t rtklib_configuration_options = {positioning_mode, /* positioning mode (PMODE_XXX) see src/algorithms/libs/rtklib/rtklib.h */
|
prcopt_t rtklib_configuration_options = {
|
||||||
|
positioning_mode, /* positioning mode (PMODE_XXX) see src/algorithms/libs/rtklib/rtklib.h */
|
||||||
0, /* solution type (0:forward,1:backward,2:combined) */
|
0, /* solution type (0:forward,1:backward,2:combined) */
|
||||||
number_of_frequencies, /* number of frequencies (1:L1, 2:L1+L2, 3:L1+L2+L5)*/
|
number_of_frequencies, /* number of frequencies (1:L1, 2:L1+L2, 3:L1+L2+L5)*/
|
||||||
navigation_system, /* navigation system */
|
navigation_system, /* navigation system */
|
||||||
@ -502,7 +522,9 @@ RtklibPvt::~RtklibPvt()
|
|||||||
|
|
||||||
void RtklibPvt::connect(gr::top_block_sptr top_block)
|
void RtklibPvt::connect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
// Nothing to connect internally
|
// Nothing to connect internally
|
||||||
DLOG(INFO) << "nothing to connect internally";
|
DLOG(INFO) << "nothing to connect internally";
|
||||||
}
|
}
|
||||||
@ -510,7 +532,9 @@ void RtklibPvt::connect(gr::top_block_sptr top_block)
|
|||||||
|
|
||||||
void RtklibPvt::disconnect(gr::top_block_sptr top_block)
|
void RtklibPvt::disconnect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
// Nothing to disconnect
|
// Nothing to disconnect
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,13 +29,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GNSS_SDR_RTKLIB_PVT_H_
|
#ifndef GNSS_SDR_RTKLIB_PVT_H_
|
||||||
#define GNSS_SDR_RTKLIB_PVT_H_
|
#define GNSS_SDR_RTKLIB_PVT_H_
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include "pvt_interface.h"
|
#include "pvt_interface.h"
|
||||||
#include "rtklib_pvt_cc.h"
|
#include "rtklib_pvt_cc.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
@ -29,17 +29,18 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rtklib_pvt_cc.h"
|
#include "rtklib_pvt_cc.h"
|
||||||
#include <algorithm>
|
|
||||||
#include <iostream>
|
|
||||||
#include <map>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <boost/math/common_factor_rt.hpp>
|
#include <boost/math/common_factor_rt.hpp>
|
||||||
#include <boost/archive/xml_oarchive.hpp>
|
#include <boost/archive/xml_oarchive.hpp>
|
||||||
#include <boost/archive/xml_iarchive.hpp>
|
#include <boost/archive/xml_iarchive.hpp>
|
||||||
#include <boost/serialization/map.hpp>
|
#include <boost/serialization/map.hpp>
|
||||||
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/gr_complex.h>
|
#include <gnuradio/gr_complex.h>
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <glog/logging.h>
|
#include <algorithm>
|
||||||
|
#include <iostream>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
@ -217,7 +218,6 @@ void rtklib_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg)
|
|||||||
{
|
{
|
||||||
LOG(WARNING) << "msg_handler_telemetry unknown object type!";
|
LOG(WARNING) << "msg_handler_telemetry unknown object type!";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (boost::bad_any_cast& e)
|
catch (boost::bad_any_cast& e)
|
||||||
{
|
{
|
||||||
@ -236,9 +236,7 @@ rtklib_pvt_cc::rtklib_pvt_cc(unsigned int nchannels, bool dump, std::string dump
|
|||||||
int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port,
|
int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port,
|
||||||
std::string nmea_dump_filename, std::string nmea_dump_devname, int rinex_version,
|
std::string nmea_dump_filename, std::string nmea_dump_devname, int rinex_version,
|
||||||
bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
|
bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
|
||||||
unsigned short rtcm_station_id, std::map<int,int> rtcm_msg_rate_ms, std::string
|
unsigned short rtcm_station_id, std::map<int, int> rtcm_msg_rate_ms, std::string rtcm_dump_devname, const unsigned int type_of_receiver, rtk_t& rtk) : gr::sync_block("rtklib_pvt_cc",
|
||||||
rtcm_dump_devname, const unsigned int type_of_receiver, rtk_t & rtk) :
|
|
||||||
gr::sync_block("rtklib_pvt_cc",
|
|
||||||
gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
||||||
gr::io_signature::make(0, 0, 0))
|
gr::io_signature::make(0, 0, 0))
|
||||||
{
|
{
|
||||||
@ -541,13 +539,7 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
std::map<int, Galileo_Ephemeris>::const_iterator tmp_eph_iter_gal = d_ls_pvt->galileo_ephemeris_map.find(in[i][epoch].PRN);
|
std::map<int, Galileo_Ephemeris>::const_iterator tmp_eph_iter_gal = d_ls_pvt->galileo_ephemeris_map.find(in[i][epoch].PRN);
|
||||||
std::map<int, Gps_CNAV_Ephemeris>::const_iterator tmp_eph_iter_cnav = d_ls_pvt->gps_cnav_ephemeris_map.find(in[i][epoch].PRN);
|
std::map<int, Gps_CNAV_Ephemeris>::const_iterator tmp_eph_iter_cnav = d_ls_pvt->gps_cnav_ephemeris_map.find(in[i][epoch].PRN);
|
||||||
std::map<int, Glonass_Gnav_Ephemeris>::const_iterator tmp_eph_iter_glo_gnav = d_ls_pvt->glonass_gnav_ephemeris_map.find(in[i][epoch].PRN);
|
std::map<int, Glonass_Gnav_Ephemeris>::const_iterator tmp_eph_iter_glo_gnav = d_ls_pvt->glonass_gnav_ephemeris_map.find(in[i][epoch].PRN);
|
||||||
if(((tmp_eph_iter_gps->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1C") == 0))
|
if (((tmp_eph_iter_gps->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1C") == 0)) || ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("2S") == 0)) || ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1B") == 0)) || ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("5X") == 0)) || ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1G") == 0)) || ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("2G") == 0)) || ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("L5") == 0)))
|
||||||
|| ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("2S") == 0))
|
|
||||||
|| ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1B") == 0))
|
|
||||||
|| ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("5X") == 0))
|
|
||||||
|| ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("1G") == 0))
|
|
||||||
|| ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("2G") == 0))
|
|
||||||
|| ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) && (std::string(in[i][epoch].Signal).compare("L5") == 0)))
|
|
||||||
{
|
{
|
||||||
// store valid observables in a map.
|
// store valid observables in a map.
|
||||||
gnss_observables_map.insert(std::pair<int, Gnss_Synchro>(i, in[i][epoch]));
|
gnss_observables_map.insert(std::pair<int, Gnss_Synchro>(i, in[i][epoch]));
|
||||||
@ -581,7 +573,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
d_rtcm_printer->lock_time(d_ls_pvt->glonass_gnav_ephemeris_map.find(in[i][epoch].PRN)->second, in[i][epoch].RX_time, in[i][epoch]); // keep track of locking time
|
d_rtcm_printer->lock_time(d_ls_pvt->glonass_gnav_ephemeris_map.find(in[i][epoch].PRN)->second, in[i][epoch].RX_time, in[i][epoch]); // keep track of locking time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -733,7 +724,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, d_rx_time);
|
rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, d_rx_time);
|
||||||
rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model);
|
rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model);
|
||||||
b_rinex_header_written = true; // do not write header anymore
|
b_rinex_header_written = true; // do not write header anymore
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (type_of_rx == 2) // GPS L2C only
|
if (type_of_rx == 2) // GPS L2C only
|
||||||
@ -957,7 +947,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_ephemeris_map);
|
rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_ephemeris_map);
|
||||||
rp->log_rinex_nav(rp->navGloFile, d_ls_pvt->glonass_gnav_ephemeris_map);
|
rp->log_rinex_nav(rp->navGloFile, d_ls_pvt->glonass_gnav_ephemeris_map);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (type_of_rx == 27) // Galileo E1B + GLONASS L1 C/A
|
if (type_of_rx == 27) // Galileo E1B + GLONASS L1 C/A
|
||||||
{
|
{
|
||||||
@ -1163,7 +1152,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end()) && (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()))
|
if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end()) && (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()))
|
||||||
{
|
{
|
||||||
rp->log_rinex_obs(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map);
|
rp->log_rinex_obs(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!b_rinex_header_updated && (d_ls_pvt->galileo_utc_model.A0_6 != 0))
|
if (!b_rinex_header_updated && (d_ls_pvt->galileo_utc_model.A0_6 != 0))
|
||||||
{
|
{
|
||||||
@ -1302,7 +1290,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
}
|
}
|
||||||
if (flag_write_RTCM_MSM_output == true)
|
if (flag_write_RTCM_MSM_output == true)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())
|
if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())
|
||||||
{
|
{
|
||||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
||||||
@ -1386,7 +1373,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
}
|
}
|
||||||
if (flag_write_RTCM_MSM_output == true)
|
if (flag_write_RTCM_MSM_output == true)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend())
|
if (glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend())
|
||||||
{
|
{
|
||||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, {}, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, {}, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
||||||
@ -1452,7 +1438,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
}
|
}
|
||||||
if (flag_write_RTCM_MSM_output == true)
|
if (flag_write_RTCM_MSM_output == true)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
|
if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
|
||||||
{
|
{
|
||||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
||||||
@ -1460,7 +1445,6 @@ int rtklib_pvt_cc::work (int noutput_items, gr_vector_const_void_star &input_ite
|
|||||||
}
|
}
|
||||||
if (flag_write_RTCM_MSM_output == true)
|
if (flag_write_RTCM_MSM_output == true)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end())
|
if (glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end())
|
||||||
{
|
{
|
||||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, {}, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, {}, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0);
|
||||||
|
@ -31,20 +31,21 @@
|
|||||||
#ifndef GNSS_SDR_RTKLIB_PVT_CC_H
|
#ifndef GNSS_SDR_RTKLIB_PVT_CC_H
|
||||||
#define GNSS_SDR_RTKLIB_PVT_CC_H
|
#define GNSS_SDR_RTKLIB_PVT_CC_H
|
||||||
|
|
||||||
#include <chrono>
|
|
||||||
#include <fstream>
|
|
||||||
#include <utility>
|
|
||||||
#include <string>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/ipc.h>
|
|
||||||
#include <sys/msg.h>
|
|
||||||
#include <gnuradio/sync_block.h>
|
|
||||||
#include "nmea_printer.h"
|
#include "nmea_printer.h"
|
||||||
#include "kml_printer.h"
|
#include "kml_printer.h"
|
||||||
#include "geojson_printer.h"
|
#include "geojson_printer.h"
|
||||||
#include "rinex_printer.h"
|
#include "rinex_printer.h"
|
||||||
#include "rtcm_printer.h"
|
#include "rtcm_printer.h"
|
||||||
#include "rtklib_solver.h"
|
#include "rtklib_solver.h"
|
||||||
|
#include <gnuradio/sync_block.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/msg.h>
|
||||||
|
#include <chrono>
|
||||||
|
#include <fstream>
|
||||||
|
#include <utility>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
class rtklib_pvt_cc;
|
class rtklib_pvt_cc;
|
||||||
@ -143,7 +144,8 @@ private:
|
|||||||
bool first_fix;
|
bool first_fix;
|
||||||
key_t sysv_msg_key;
|
key_t sysv_msg_key;
|
||||||
int sysv_msqid;
|
int sysv_msqid;
|
||||||
typedef struct {
|
typedef struct
|
||||||
|
{
|
||||||
long mtype; //required by sys v message
|
long mtype; //required by sys v message
|
||||||
double ttff;
|
double ttff;
|
||||||
} ttff_msgbuf;
|
} ttff_msgbuf;
|
||||||
|
@ -36,24 +36,25 @@ include_directories(
|
|||||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters
|
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters
|
||||||
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
${ARMADILLO_INCLUDE_DIRS}
|
${ARMADILLO_INCLUDE_DIRS}
|
||||||
${GFlags_INCLUDE_DIRS}
|
${GFlags_INCLUDE_DIRS}
|
||||||
${GLOG_INCLUDE_DIRS}
|
${GLOG_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB PVT_LIB_HEADERS "*.h")
|
file(GLOB PVT_LIB_HEADERS "*.h")
|
||||||
list(SORT PVT_LIB_HEADERS)
|
list(SORT PVT_LIB_HEADERS)
|
||||||
add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS})
|
add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS})
|
||||||
source_group(Headers FILES ${PVT_LIB_HEADERS})
|
source_group(Headers FILES ${PVT_LIB_HEADERS})
|
||||||
add_dependencies(pvt_lib rtklib_lib armadillo-${armadillo_RELEASE} glog-${glog_RELEASE})
|
add_dependencies(pvt_lib rtklib_lib armadillo-${armadillo_RELEASE} glog-${glog_RELEASE})
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
pvt_lib
|
pvt_lib
|
||||||
rtklib_lib
|
rtklib_lib
|
||||||
|
gnss_sdr_flags
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
${GFlags_LIBS}
|
|
||||||
${GLOG_LIBRARIES}
|
${GLOG_LIBRARIES}
|
||||||
${ARMADILLO_LIBRARIES}
|
${ARMADILLO_LIBRARIES}
|
||||||
${BLAS}
|
${BLAS}
|
||||||
|
@ -31,10 +31,11 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "geojson_printer.h"
|
#include "geojson_printer.h"
|
||||||
#include <iomanip>
|
|
||||||
#include <sstream>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
|
||||||
GeoJSON_Printer::GeoJSON_Printer()
|
GeoJSON_Printer::GeoJSON_Printer()
|
||||||
{
|
{
|
||||||
@ -193,5 +194,3 @@ bool GeoJSON_Printer::close_file()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GEOJSON_PRINTER_H_
|
#ifndef GNSS_SDR_GEOJSON_PRINTER_H_
|
||||||
#define GNSS_SDR_GEOJSON_PRINTER_H_
|
#define GNSS_SDR_GEOJSON_PRINTER_H_
|
||||||
|
|
||||||
|
#include "pvt_solution.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "pvt_solution.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -50,6 +50,7 @@ private:
|
|||||||
std::ofstream geojson_file;
|
std::ofstream geojson_file;
|
||||||
bool first_pos;
|
bool first_pos;
|
||||||
std::string filename_;
|
std::string filename_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GeoJSON_Printer();
|
GeoJSON_Printer();
|
||||||
~GeoJSON_Printer();
|
~GeoJSON_Printer();
|
||||||
|
@ -30,10 +30,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "hybrid_ls_pvt.h"
|
#include "hybrid_ls_pvt.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "GPS_L2C.h"
|
#include "GPS_L2C.h"
|
||||||
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
@ -347,7 +347,8 @@ bool hybrid_ls_pvt::get_PVT(std::map<int,Gnss_Synchro> gnss_observables_map, dou
|
|||||||
|
|
||||||
DLOG(INFO) << "Hybrid Position at " << boost::posix_time::to_simple_string(p_time)
|
DLOG(INFO) << "Hybrid Position at " << boost::posix_time::to_simple_string(p_time)
|
||||||
<< " is Lat = " << this->get_latitude() << " [deg], Long = " << this->get_longitude()
|
<< " is Lat = " << this->get_latitude() << " [deg], Long = " << this->get_longitude()
|
||||||
<< " [deg], Height= " << this->get_height() << " [m]" << " RX time offset= " << this->get_time_offset_s() << " [s]";
|
<< " [deg], Height= " << this->get_height() << " [m]"
|
||||||
|
<< " RX time offset= " << this->get_time_offset_s() << " [s]";
|
||||||
|
|
||||||
// ###### Compute DOPs ########
|
// ###### Compute DOPs ########
|
||||||
hybrid_ls_pvt::compute_DOP();
|
hybrid_ls_pvt::compute_DOP();
|
||||||
|
@ -32,16 +32,15 @@
|
|||||||
#ifndef GNSS_SDR_HYBRID_LS_PVT_H_
|
#ifndef GNSS_SDR_HYBRID_LS_PVT_H_
|
||||||
#define GNSS_SDR_HYBRID_LS_PVT_H_
|
#define GNSS_SDR_HYBRID_LS_PVT_H_
|
||||||
|
|
||||||
#include <fstream>
|
|
||||||
#include <iostream>
|
|
||||||
#include <map>
|
|
||||||
#include <string>
|
|
||||||
#include "ls_pvt.h"
|
#include "ls_pvt.h"
|
||||||
#include "galileo_navigation_message.h"
|
#include "galileo_navigation_message.h"
|
||||||
#include "gps_navigation_message.h"
|
#include "gps_navigation_message.h"
|
||||||
#include "gps_cnav_navigation_message.h"
|
#include "gps_cnav_navigation_message.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include "rtklib_rtkcmn.h"
|
#include "rtklib_rtkcmn.h"
|
||||||
|
#include <fstream>
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class implements a simple PVT Least Squares solution
|
* \brief This class implements a simple PVT Least Squares solution
|
||||||
@ -55,6 +54,7 @@ private:
|
|||||||
std::ofstream d_dump_file;
|
std::ofstream d_dump_file;
|
||||||
int d_nchannels; // Number of available channels for positioning
|
int d_nchannels; // Number of available channels for positioning
|
||||||
double d_galileo_current_time;
|
double d_galileo_current_time;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
hybrid_ls_pvt(int nchannels, std::string dump_filename, bool flag_dump_to_file);
|
hybrid_ls_pvt(int nchannels, std::string dump_filename, bool flag_dump_to_file);
|
||||||
~hybrid_ls_pvt();
|
~hybrid_ls_pvt();
|
||||||
|
@ -30,9 +30,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "kml_printer.h"
|
#include "kml_printer.h"
|
||||||
#include <sstream>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
@ -124,7 +124,6 @@ bool Kml_Printer::set_headers(std::string filename, bool time_tag_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool Kml_Printer::print_position(const std::shared_ptr<Pvt_Solution>& position, bool print_average_values)
|
bool Kml_Printer::print_position(const std::shared_ptr<Pvt_Solution>& position, bool print_average_values)
|
||||||
{
|
{
|
||||||
double latitude;
|
double latitude;
|
||||||
@ -164,7 +163,6 @@ bool Kml_Printer::close_file()
|
|||||||
{
|
{
|
||||||
if (kml_file.is_open())
|
if (kml_file.is_open())
|
||||||
{
|
{
|
||||||
|
|
||||||
kml_file << "</coordinates>" << std::endl
|
kml_file << "</coordinates>" << std::endl
|
||||||
<< "</LineString>" << std::endl
|
<< "</LineString>" << std::endl
|
||||||
<< "</Placemark>" << std::endl
|
<< "</Placemark>" << std::endl
|
||||||
@ -180,14 +178,12 @@ bool Kml_Printer::close_file()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kml_Printer::Kml_Printer()
|
Kml_Printer::Kml_Printer()
|
||||||
{
|
{
|
||||||
positions_printed = false;
|
positions_printed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kml_Printer::~Kml_Printer()
|
Kml_Printer::~Kml_Printer()
|
||||||
{
|
{
|
||||||
close_file();
|
close_file();
|
||||||
@ -196,4 +192,3 @@ Kml_Printer::~Kml_Printer ()
|
|||||||
if (remove(kml_filename.c_str()) != 0) LOG(INFO) << "Error deleting temporary KML file";
|
if (remove(kml_filename.c_str()) != 0) LOG(INFO) << "Error deleting temporary KML file";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,11 +33,11 @@
|
|||||||
#ifndef GNSS_SDR_KML_PRINTER_H_
|
#ifndef GNSS_SDR_KML_PRINTER_H_
|
||||||
#define GNSS_SDR_KML_PRINTER_H_
|
#define GNSS_SDR_KML_PRINTER_H_
|
||||||
|
|
||||||
#include <iostream>
|
#include "pvt_solution.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "pvt_solution.h"
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth)
|
* \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth)
|
||||||
@ -50,6 +50,7 @@ private:
|
|||||||
std::ofstream kml_file;
|
std::ofstream kml_file;
|
||||||
bool positions_printed;
|
bool positions_printed;
|
||||||
std::string kml_filename;
|
std::string kml_filename;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Kml_Printer();
|
Kml_Printer();
|
||||||
~Kml_Printer();
|
~Kml_Printer();
|
||||||
|
@ -30,11 +30,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ls_pvt.h"
|
#include "ls_pvt.h"
|
||||||
|
#include "GPS_L1_CA.h"
|
||||||
|
#include <glog/logging.h>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include "GPS_L1_CA.h"
|
|
||||||
#include <gflags/gflags.h>
|
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
@ -42,7 +41,6 @@ using google::LogMessage;
|
|||||||
|
|
||||||
Ls_Pvt::Ls_Pvt() : Pvt_Solution()
|
Ls_Pvt::Ls_Pvt() : Pvt_Solution()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
arma::vec Ls_Pvt::bancroftPos(const arma::mat& satpos, const arma::vec& obs)
|
arma::vec Ls_Pvt::bancroftPos(const arma::mat& satpos, const arma::vec& obs)
|
||||||
@ -223,8 +221,10 @@ arma::vec Ls_Pvt::leastSquarePos(const arma::mat & satpos, const arma::vec & obs
|
|||||||
{
|
{
|
||||||
//--- Update equations -----------------------------------------
|
//--- Update equations -----------------------------------------
|
||||||
rho2 = (X(0, i) - pos(0)) *
|
rho2 = (X(0, i) - pos(0)) *
|
||||||
(X(0, i) - pos(0)) + (X(1, i) - pos(1)) *
|
(X(0, i) - pos(0)) +
|
||||||
(X(1, i) - pos(1)) + (X(2, i) - pos(2)) *
|
(X(1, i) - pos(1)) *
|
||||||
|
(X(1, i) - pos(1)) +
|
||||||
|
(X(2, i) - pos(2)) *
|
||||||
(X(2, i) - pos(2));
|
(X(2, i) - pos(2));
|
||||||
traveltime = sqrt(rho2) / GPS_C_m_s;
|
traveltime = sqrt(rho2) / GPS_C_m_s;
|
||||||
|
|
||||||
@ -291,5 +291,3 @@ arma::vec Ls_Pvt::leastSquarePos(const arma::mat & satpos, const arma::vec & obs
|
|||||||
}
|
}
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ private:
|
|||||||
* \brief Computes the Lorentz inner product between two vectors
|
* \brief Computes the Lorentz inner product between two vectors
|
||||||
*/
|
*/
|
||||||
double lorentz(const arma::vec& x, const arma::vec& y);
|
double lorentz(const arma::vec& x, const arma::vec& y);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Ls_Pvt();
|
Ls_Pvt();
|
||||||
|
|
||||||
@ -58,7 +59,6 @@ public:
|
|||||||
* \brief Computes the Weighted Least Squares position solution
|
* \brief Computes the Weighted Least Squares position solution
|
||||||
*/
|
*/
|
||||||
arma::vec leastSquarePos(const arma::mat& satpos, const arma::vec& obs, const arma::vec& w_vec);
|
arma::vec leastSquarePos(const arma::mat& satpos, const arma::vec& obs, const arma::vec& w_vec);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -34,17 +34,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "nmea_printer.h"
|
#include "nmea_printer.h"
|
||||||
#include <fcntl.h>
|
|
||||||
#include <termios.h>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gflags/gflags.h>
|
#include <fcntl.h>
|
||||||
|
#include <termios.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
//DEFINE_string(NMEA_version, "2.1", "Specifies the NMEA version (2.1)");
|
|
||||||
|
|
||||||
Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_tty_port, std::string nmea_dump_devname)
|
Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_tty_port, std::string nmea_dump_devname)
|
||||||
{
|
{
|
||||||
@ -72,8 +69,6 @@ Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_tty_port, std::s
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Nmea_Printer::~Nmea_Printer()
|
Nmea_Printer::~Nmea_Printer()
|
||||||
{
|
{
|
||||||
if (nmea_file_descriptor.is_open())
|
if (nmea_file_descriptor.is_open())
|
||||||
@ -84,8 +79,6 @@ Nmea_Printer::~Nmea_Printer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int Nmea_Printer::init_serial(std::string serial_device)
|
int Nmea_Printer::init_serial(std::string serial_device)
|
||||||
{
|
{
|
||||||
/*!
|
/*!
|
||||||
@ -123,7 +116,6 @@ int Nmea_Printer::init_serial (std::string serial_device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Nmea_Printer::close_serial()
|
void Nmea_Printer::close_serial()
|
||||||
{
|
{
|
||||||
if (nmea_dev_descriptor != -1)
|
if (nmea_dev_descriptor != -1)
|
||||||
@ -169,7 +161,8 @@ bool Nmea_Printer::Print_Nmea_Line(const std::shared_ptr<Pvt_Solution>& pvt_data
|
|||||||
}
|
}
|
||||||
catch (const std::exception& ex)
|
catch (const std::exception& ex)
|
||||||
{
|
{
|
||||||
DLOG(INFO) << "NMEA printer can not write on output file" << nmea_filename.c_str();;
|
DLOG(INFO) << "NMEA printer can not write on output file" << nmea_filename.c_str();
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
//write to serial device
|
//write to serial device
|
||||||
@ -200,7 +193,6 @@ bool Nmea_Printer::Print_Nmea_Line(const std::shared_ptr<Pvt_Solution>& pvt_data
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char Nmea_Printer::checkSum(std::string sentence)
|
char Nmea_Printer::checkSum(std::string sentence)
|
||||||
{
|
{
|
||||||
char check = 0;
|
char check = 0;
|
||||||
@ -214,7 +206,6 @@ char Nmea_Printer::checkSum(std::string sentence)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::latitude_to_hm(double lat)
|
std::string Nmea_Printer::latitude_to_hm(double lat)
|
||||||
{
|
{
|
||||||
bool north;
|
bool north;
|
||||||
@ -253,7 +244,6 @@ std::string Nmea_Printer::latitude_to_hm(double lat)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::longitude_to_hm(double longitude)
|
std::string Nmea_Printer::longitude_to_hm(double longitude)
|
||||||
{
|
{
|
||||||
bool east;
|
bool east;
|
||||||
@ -291,7 +281,6 @@ std::string Nmea_Printer::longitude_to_hm(double longitude)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_UTC_time)
|
std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_UTC_time)
|
||||||
{
|
{
|
||||||
//UTC Time: hhmmss.sss
|
//UTC Time: hhmmss.sss
|
||||||
@ -336,7 +325,6 @@ std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::get_GPRMC()
|
std::string Nmea_Printer::get_GPRMC()
|
||||||
{
|
{
|
||||||
// Sample -> $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10
|
// Sample -> $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10
|
||||||
@ -438,7 +426,6 @@ std::string Nmea_Printer::get_GPRMC()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::get_GPGSA()
|
std::string Nmea_Printer::get_GPGSA()
|
||||||
{
|
{
|
||||||
//$GPGSA,A,3,07,02,26,27,09,04,15, , , , , ,1.8,1.0,1.5*33
|
//$GPGSA,A,3,07,02,26,27,09,04,15, , , , , ,1.8,1.0,1.5*33
|
||||||
@ -523,8 +510,6 @@ std::string Nmea_Printer::get_GPGSA()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::get_GPGSV()
|
std::string Nmea_Printer::get_GPGSV()
|
||||||
{
|
{
|
||||||
// GSV-GNSS Satellites in View
|
// GSV-GNSS Satellites in View
|
||||||
@ -613,9 +598,6 @@ std::string Nmea_Printer::get_GPGSV()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Nmea_Printer::get_GPGGA()
|
std::string Nmea_Printer::get_GPGGA()
|
||||||
{
|
{
|
||||||
//boost::posix_time::ptime d_position_UTC_time=boost::posix_time::microsec_clock::universal_time();
|
//boost::posix_time::ptime d_position_UTC_time=boost::posix_time::microsec_clock::universal_time();
|
||||||
|
@ -36,11 +36,9 @@
|
|||||||
#ifndef GNSS_SDR_NMEA_PRINTER_H_
|
#ifndef GNSS_SDR_NMEA_PRINTER_H_
|
||||||
#define GNSS_SDR_NMEA_PRINTER_H_
|
#define GNSS_SDR_NMEA_PRINTER_H_
|
||||||
|
|
||||||
|
#include "pvt_solution.h"
|
||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "pvt_solution.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -30,15 +30,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
#include <exception>
|
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include <gflags/gflags.h>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <exception>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
DEFINE_bool(tropo, true, "Apply tropospheric correction");
|
|
||||||
|
|
||||||
Pvt_Solution::Pvt_Solution()
|
Pvt_Solution::Pvt_Solution()
|
||||||
{
|
{
|
||||||
@ -301,7 +299,10 @@ int Pvt_Solution::tropo(double *ddr_m, double sinel, double hsta_km, double p_mb
|
|||||||
double tkelp = tksea + tlapse * hp_km;
|
double tkelp = tksea + tlapse * hp_km;
|
||||||
double psea = p_mb * pow((tksea / tkelp), em);
|
double psea = p_mb * pow((tksea / tkelp), em);
|
||||||
|
|
||||||
if(sinel < 0) { sinel = 0.0; }
|
if (sinel < 0)
|
||||||
|
{
|
||||||
|
sinel = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
double tropo_delay = 0.0;
|
double tropo_delay = 0.0;
|
||||||
bool done = false;
|
bool done = false;
|
||||||
@ -319,7 +320,10 @@ int Pvt_Solution::tropo(double *ddr_m, double sinel, double hsta_km, double p_mb
|
|||||||
rtop = pow((a_e + htop), 2) - pow((a_e + hsta_km), 2) * (1 - pow(sinel, 2));
|
rtop = pow((a_e + htop), 2) - pow((a_e + hsta_km), 2) * (1 - pow(sinel, 2));
|
||||||
|
|
||||||
// check to see if geometry is crazy
|
// check to see if geometry is crazy
|
||||||
if(rtop < 0) { rtop = 0; }
|
if (rtop < 0)
|
||||||
|
{
|
||||||
|
rtop = 0;
|
||||||
|
}
|
||||||
|
|
||||||
rtop = sqrt(rtop) - (a_e + hsta_km) * sinel;
|
rtop = sqrt(rtop) - (a_e + hsta_km) * sinel;
|
||||||
|
|
||||||
@ -332,7 +336,6 @@ int Pvt_Solution::tropo(double *ddr_m, double sinel, double hsta_km, double p_mb
|
|||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
rn(i) = pow(rtop, (i + 1 + 1));
|
rn(i) = pow(rtop, (i + 1 + 1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
arma::rowvec alpha = {2 * a, 2 * pow(a, 2) + 4 * b / 3, a * (pow(a, 2) + 3 * b),
|
arma::rowvec alpha = {2 * a, 2 * pow(a, 2) + 4 * b / 3, a * (pow(a, 2) + 3 * b),
|
||||||
@ -442,7 +445,6 @@ int Pvt_Solution::topocent(double *Az, double *El, double *D, const arma::vec &
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int Pvt_Solution::compute_DOP()
|
int Pvt_Solution::compute_DOP()
|
||||||
{
|
{
|
||||||
// ###### Compute DOPs ########
|
// ###### Compute DOPs ########
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
#define GNSS_SDR_PVT_SOLUTION_H_
|
#define GNSS_SDR_PVT_SOLUTION_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
|
||||||
|
|
||||||
const unsigned int PVT_MAX_CHANNELS = 90;
|
const unsigned int PVT_MAX_CHANNELS = 90;
|
||||||
const unsigned int PVT_MAX_PRN = 127; // 126 is SBAS
|
const unsigned int PVT_MAX_PRN = 127; // 126 is SBAS
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -51,13 +51,6 @@
|
|||||||
#ifndef GNSS_SDR_RINEX_PRINTER_H_
|
#ifndef GNSS_SDR_RINEX_PRINTER_H_
|
||||||
#define GNSS_SDR_RINEX_PRINTER_H_
|
#define GNSS_SDR_RINEX_PRINTER_H_
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <fstream>
|
|
||||||
#include <iostream>
|
|
||||||
#include <sstream> // for stringstream
|
|
||||||
#include <iomanip> // for setprecision
|
|
||||||
#include <map>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
|
||||||
#include "gps_navigation_message.h"
|
#include "gps_navigation_message.h"
|
||||||
#include "gps_cnav_navigation_message.h"
|
#include "gps_cnav_navigation_message.h"
|
||||||
#include "galileo_navigation_message.h"
|
#include "galileo_navigation_message.h"
|
||||||
@ -66,6 +59,12 @@
|
|||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "GLONASS_L1_CA.h"
|
#include "GLONASS_L1_CA.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream> // for stringstream
|
||||||
|
#include <iomanip> // for setprecision
|
||||||
|
#include <map>
|
||||||
|
|
||||||
class Sbas_Raw_Msg;
|
class Sbas_Raw_Msg;
|
||||||
|
|
||||||
@ -422,7 +421,8 @@ private:
|
|||||||
const std::string::size_type length,
|
const std::string::size_type length,
|
||||||
const char pad = ' ')
|
const char pad = ' ')
|
||||||
{
|
{
|
||||||
std::string t(s); return leftJustify(t, length, pad);
|
std::string t(s);
|
||||||
|
return leftJustify(t, length, pad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -446,7 +446,8 @@ private:
|
|||||||
const std::string::size_type length,
|
const std::string::size_type length,
|
||||||
const char pad = ' ')
|
const char pad = ' ')
|
||||||
{
|
{
|
||||||
std::string t(s); return rightJustify(t, length, pad);
|
std::string t(s);
|
||||||
|
return rightJustify(t, length, pad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -556,13 +557,13 @@ private:
|
|||||||
* @param x object to turn into a string.
|
* @param x object to turn into a string.
|
||||||
* @return string representation of \a x.
|
* @return string representation of \a x.
|
||||||
*/
|
*/
|
||||||
template <class X> inline std::string asString(const X x);
|
template <class X>
|
||||||
|
inline std::string asString(const X x);
|
||||||
|
|
||||||
inline std::string asFixWidthString(const int x, const int width, char fill_digit);
|
inline std::string asFixWidthString(const int x, const int width, char fill_digit);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of inline functions (modified versions from GPSTk http://www.gpstk.org)
|
// Implementation of inline functions (modified versions from GPSTk http://www.gpstk.org)
|
||||||
|
|
||||||
inline std::string& Rinex_Printer::leftJustify(std::string& s,
|
inline std::string& Rinex_Printer::leftJustify(std::string& s,
|
||||||
@ -599,7 +600,6 @@ inline std::string & Rinex_Printer::rightJustify(std::string & s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline std::string Rinex_Printer::doub2for(const double& d,
|
inline std::string Rinex_Printer::doub2for(const double& d,
|
||||||
const std::string::size_type length,
|
const std::string::size_type length,
|
||||||
const std::string::size_type expLen,
|
const std::string::size_type expLen,
|
||||||
@ -737,7 +737,6 @@ inline std::string & Rinex_Printer::sci2for(std::string & aStr,
|
|||||||
} // end sci2for
|
} // end sci2for
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline std::string asString(const long double x, const std::string::size_type precision)
|
inline std::string asString(const long double x, const std::string::size_type precision)
|
||||||
{
|
{
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
@ -781,7 +780,8 @@ inline int Rinex_Printer::toInt(std::string bitString, int sLength)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class X> inline std::string Rinex_Printer::asString(const X x)
|
template <class X>
|
||||||
|
inline std::string Rinex_Printer::asString(const X x)
|
||||||
{
|
{
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
ss << x;
|
ss << x;
|
||||||
|
@ -32,13 +32,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rtcm_printer.h"
|
#include "rtcm_printer.h"
|
||||||
#include <iostream>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
|
#include <glog/logging.h>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <fcntl.h> // for O_RDWR
|
#include <fcntl.h> // for O_RDWR
|
||||||
#include <termios.h> // for tcgetattr
|
#include <termios.h> // for tcgetattr
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
|
||||||
#include <gflags/gflags.h>
|
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
|
@ -34,10 +34,10 @@
|
|||||||
#ifndef GNSS_SDR_RTCM_PRINTER_H_
|
#ifndef GNSS_SDR_RTCM_PRINTER_H_
|
||||||
#define GNSS_SDR_RTCM_PRINTER_H_
|
#define GNSS_SDR_RTCM_PRINTER_H_
|
||||||
|
|
||||||
#include <fstream> // std::ofstream
|
|
||||||
#include <iostream> // std::cout
|
|
||||||
#include <memory> // std::shared_ptr
|
|
||||||
#include "rtcm.h"
|
#include "rtcm.h"
|
||||||
|
#include <fstream> // std::ofstream
|
||||||
|
#include <memory> // std::shared_ptr
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class provides a implementation of a subset of the RTCM Standard 10403.2 messages
|
* \brief This class provides a implementation of a subset of the RTCM Standard 10403.2 messages
|
||||||
|
@ -52,11 +52,11 @@
|
|||||||
* -----------------------------------------------------------------------*/
|
* -----------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "rtklib_solver.h"
|
#include "rtklib_solver.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include "rtklib_conversions.h"
|
#include "rtklib_conversions.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "GLONASS_L1_CA.h"
|
#include "GLONASS_L1_CA.h"
|
||||||
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
@ -351,7 +351,6 @@ bool rtklib_solver::get_PVT(const std::map<int,Gnss_Synchro> & gnss_observables_
|
|||||||
{
|
{
|
||||||
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN;
|
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// GLONASS GNAV L2
|
// GLONASS GNAV L2
|
||||||
if (sig_.compare("2G") == 0)
|
if (sig_.compare("2G") == 0)
|
||||||
@ -391,8 +390,6 @@ bool rtklib_solver::get_PVT(const std::map<int,Gnss_Synchro> & gnss_observables_
|
|||||||
{
|
{
|
||||||
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN;
|
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -427,6 +424,7 @@ bool rtklib_solver::get_PVT(const std::map<int,Gnss_Synchro> & gnss_observables_
|
|||||||
|
|
||||||
if (result == 0)
|
if (result == 0)
|
||||||
{
|
{
|
||||||
|
LOG(INFO) << "RTKLIB rtkpos error";
|
||||||
DLOG(INFO) << "RTKLIB rtkpos error message: " << rtk_.errbuf;
|
DLOG(INFO) << "RTKLIB rtkpos error message: " << rtk_.errbuf;
|
||||||
this->set_time_offset_s(0.0); //reset rx time estimation
|
this->set_time_offset_s(0.0); //reset rx time estimation
|
||||||
this->set_num_valid_observations(0);
|
this->set_num_valid_observations(0);
|
||||||
@ -455,7 +453,8 @@ bool rtklib_solver::get_PVT(const std::map<int,Gnss_Synchro> & gnss_observables_
|
|||||||
|
|
||||||
DLOG(INFO) << "RTKLIB Position at " << boost::posix_time::to_simple_string(p_time)
|
DLOG(INFO) << "RTKLIB Position at " << boost::posix_time::to_simple_string(p_time)
|
||||||
<< " is Lat = " << this->get_latitude() << " [deg], Long = " << this->get_longitude()
|
<< " is Lat = " << this->get_latitude() << " [deg], Long = " << this->get_longitude()
|
||||||
<< " [deg], Height= " << this->get_height() << " [m]" << " RX time offset= " << this->get_time_offset_s() << " [s]";
|
<< " [deg], Height= " << this->get_height() << " [m]"
|
||||||
|
<< " RX time offset= " << this->get_time_offset_s() << " [s]";
|
||||||
|
|
||||||
// ######## LOG FILE #########
|
// ######## LOG FILE #########
|
||||||
if (d_flag_dump_enabled == true)
|
if (d_flag_dump_enabled == true)
|
||||||
|
@ -54,10 +54,7 @@
|
|||||||
#ifndef GNSS_SDR_RTKLIB_SOLVER_H_
|
#ifndef GNSS_SDR_RTKLIB_SOLVER_H_
|
||||||
#define GNSS_SDR_RTKLIB_SOLVER_H_
|
#define GNSS_SDR_RTKLIB_SOLVER_H_
|
||||||
|
|
||||||
#include <fstream>
|
|
||||||
#include <iostream>
|
|
||||||
#include <map>
|
|
||||||
#include <string>
|
|
||||||
#include "rtklib_rtkpos.h"
|
#include "rtklib_rtkpos.h"
|
||||||
#include "galileo_navigation_message.h"
|
#include "galileo_navigation_message.h"
|
||||||
#include "gps_navigation_message.h"
|
#include "gps_navigation_message.h"
|
||||||
@ -65,6 +62,10 @@
|
|||||||
#include "glonass_gnav_navigation_message.h"
|
#include "glonass_gnav_navigation_message.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
|
#include <fstream>
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class implements a simple PVT Least Squares solution
|
* \brief This class implements a simple PVT Least Squares solution
|
||||||
|
@ -31,6 +31,7 @@ set(ACQ_ADAPTER_SOURCES
|
|||||||
galileo_e1_pcps_tong_ambiguous_acquisition.cc
|
galileo_e1_pcps_tong_ambiguous_acquisition.cc
|
||||||
galileo_e1_pcps_8ms_ambiguous_acquisition.cc
|
galileo_e1_pcps_8ms_ambiguous_acquisition.cc
|
||||||
galileo_e5a_noncoherent_iq_acquisition_caf.cc
|
galileo_e5a_noncoherent_iq_acquisition_caf.cc
|
||||||
|
galileo_e5a_pcps_acquisition.cc
|
||||||
glonass_l1_ca_pcps_acquisition.cc
|
glonass_l1_ca_pcps_acquisition.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -53,6 +54,7 @@ include_directories(
|
|||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
${GLOG_INCLUDE_DIRS}
|
${GLOG_INCLUDE_DIRS}
|
||||||
${GFlags_INCLUDE_DIRS}
|
${GFlags_INCLUDE_DIRS}
|
||||||
|
${ARMADILLO_INCLUDE_DIRS}
|
||||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||||
${GNURADIO_BLOCKS_INCLUDE_DIRS}
|
${GNURADIO_BLOCKS_INCLUDE_DIRS}
|
||||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||||
@ -62,5 +64,5 @@ file(GLOB ACQ_ADAPTER_HEADERS "*.h")
|
|||||||
list(SORT ACQ_ADAPTER_HEADERS)
|
list(SORT ACQ_ADAPTER_HEADERS)
|
||||||
add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS})
|
add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS})
|
||||||
source_group(Headers FILES ${ACQ_ADAPTER_HEADERS})
|
source_group(Headers FILES ${ACQ_ADAPTER_HEADERS})
|
||||||
target_link_libraries(acq_adapters gnss_sp_libs acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES})
|
target_link_libraries(acq_adapters gnss_sp_libs gnss_sdr_flags acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES})
|
||||||
|
|
||||||
|
@ -36,13 +36,13 @@
|
|||||||
#include "galileo_e1_signal_processing.h"
|
#include "galileo_e1_signal_processing.h"
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -58,6 +58,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
@ -75,9 +76,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
|||||||
|
|
||||||
//--- Find number of samples per spreading code (4 ms) -----------------
|
//--- Find number of samples per spreading code (4 ms) -----------------
|
||||||
code_length_ = round(
|
code_length_ = round(
|
||||||
fs_in_
|
fs_in_ / (Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS));
|
||||||
/ (Galileo_E1_CODE_CHIP_RATE_HZ
|
|
||||||
/ Galileo_E1_B_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
||||||
|
|
||||||
@ -207,8 +206,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_local_code()
|
|||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + boost::lexical_cast<std::string>(channel_)
|
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||||
+ ".cboc", false);
|
|
||||||
|
|
||||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||||
|
|
||||||
@ -285,4 +283,3 @@ gr::basic_block_sptr GalileoE1Pcps8msAmbiguousAcquisition::get_right_block()
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,19 +30,20 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "galileo_e1_pcps_ambiguous_acquisition.h"
|
#include "galileo_e1_pcps_ambiguous_acquisition.h"
|
||||||
|
#include "configuration_interface.h"
|
||||||
|
#include "galileo_e1_signal_processing.h"
|
||||||
|
#include "Galileo_E1.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/lexical_cast.hpp>
|
#include <boost/lexical_cast.hpp>
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include "galileo_e1_signal_processing.h"
|
|
||||||
#include "Galileo_E1.h"
|
|
||||||
#include "configuration_interface.h"
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -58,6 +59,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
|||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
blocking_ = configuration_->property(role + ".blocking", true);
|
blocking_ = configuration_->property(role + ".blocking", true);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
@ -91,21 +93,16 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
|||||||
if (item_type_.compare("cshort") == 0)
|
if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(lv_16sc_t);
|
item_size_ = sizeof(lv_16sc_t);
|
||||||
acquisition_sc_ = pcps_make_acquisition_sc(sampled_ms_, max_dwells_,
|
|
||||||
doppler_max_, if_, fs_in_, samples_per_ms, code_length_,
|
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_,
|
|
||||||
dump_filename_);
|
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_sc_->unique_id() << ")";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_,
|
}
|
||||||
|
acquisition_ = pcps_make_acquisition(sampled_ms_, max_dwells_,
|
||||||
doppler_max_, if_, fs_in_, samples_per_ms, code_length_,
|
doppler_max_, if_, fs_in_, samples_per_ms, code_length_,
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_,
|
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_,
|
||||||
dump_filename_);
|
dump_filename_, item_size_);
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")";
|
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||||
}
|
|
||||||
|
|
||||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||||
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
||||||
@ -132,14 +129,7 @@ GalileoE1PcpsAmbiguousAcquisition::~GalileoE1PcpsAmbiguousAcquisition()
|
|||||||
void GalileoE1PcpsAmbiguousAcquisition::set_channel(unsigned int channel)
|
void GalileoE1PcpsAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||||
{
|
{
|
||||||
channel_ = channel;
|
channel_ = channel;
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_channel(channel_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -160,14 +150,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_threshold(float threshold)
|
|||||||
|
|
||||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_threshold(threshold_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -175,14 +158,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_doppler_max(unsigned int doppler_max
|
|||||||
{
|
{
|
||||||
doppler_max_ = doppler_max;
|
doppler_max_ = doppler_max;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_max(doppler_max_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -190,14 +166,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_doppler_step(unsigned int doppler_st
|
|||||||
{
|
{
|
||||||
doppler_step_ = doppler_step;
|
doppler_step_ = doppler_step;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -205,41 +174,19 @@ void GalileoE1PcpsAmbiguousAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_sync
|
|||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_gnss_synchro(gnss_synchro_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
signed int GalileoE1PcpsAmbiguousAcquisition::mag()
|
signed int GalileoE1PcpsAmbiguousAcquisition::mag()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_->mag();
|
||||||
{
|
|
||||||
return acquisition_sc_->mag();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_->mag();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE1PcpsAmbiguousAcquisition::init()
|
void GalileoE1PcpsAmbiguousAcquisition::init()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->init();
|
||||||
{
|
|
||||||
acquisition_sc_->init();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->init();
|
|
||||||
}
|
|
||||||
|
|
||||||
//set_local_code();
|
//set_local_code();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,8 +194,7 @@ void GalileoE1PcpsAmbiguousAcquisition::init()
|
|||||||
void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + boost::lexical_cast<std::string>(channel_)
|
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||||
+ ".cboc", false);
|
|
||||||
|
|
||||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||||
|
|
||||||
@ -271,42 +217,20 @@ void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
|||||||
memcpy(&(code_[i * code_length_]), code, sizeof(gr_complex) * code_length_);
|
memcpy(&(code_[i * code_length_]), code, sizeof(gr_complex) * code_length_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_local_code(code_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
|
|
||||||
delete[] code;
|
delete[] code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE1PcpsAmbiguousAcquisition::reset()
|
void GalileoE1PcpsAmbiguousAcquisition::reset()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_active(true);
|
||||||
{
|
|
||||||
acquisition_sc_->set_active(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_active(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE1PcpsAmbiguousAcquisition::set_state(int state)
|
void GalileoE1PcpsAmbiguousAcquisition::set_state(int state)
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_state(state);
|
||||||
{
|
|
||||||
acquisition_sc_->set_state(state);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_state(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -335,18 +259,18 @@ void GalileoE1PcpsAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -359,11 +283,11 @@ void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
@ -372,7 +296,7 @@ void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -405,13 +329,5 @@ gr::basic_block_sptr GalileoE1PcpsAmbiguousAcquisition::get_left_block()
|
|||||||
|
|
||||||
gr::basic_block_sptr GalileoE1PcpsAmbiguousAcquisition::get_right_block()
|
gr::basic_block_sptr GalileoE1PcpsAmbiguousAcquisition::get_right_block()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_;
|
||||||
{
|
|
||||||
return acquisition_sc_;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -32,15 +32,14 @@
|
|||||||
#ifndef GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
#ifndef GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
||||||
#define GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
#define GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_
|
||||||
|
|
||||||
#include <string>
|
#include "acquisition_interface.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
|
#include "pcps_acquisition.h"
|
||||||
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "acquisition_interface.h"
|
|
||||||
#include "pcps_acquisition_cc.h"
|
|
||||||
#include "pcps_acquisition_sc.h"
|
|
||||||
#include "complex_byte_to_float_x2.h"
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
@ -135,8 +134,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
ConfigurationInterface* configuration_;
|
||||||
pcps_acquisition_cc_sptr acquisition_cc_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
pcps_acquisition_sc_sptr acquisition_sc_;
|
|
||||||
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
|
@ -36,13 +36,13 @@
|
|||||||
#include "galileo_e1_signal_processing.h"
|
#include "galileo_e1_signal_processing.h"
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition(
|
GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -57,6 +57,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
@ -75,9 +76,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
|||||||
//--- Find number of samples per spreading code (4 ms) -----------------
|
//--- Find number of samples per spreading code (4 ms) -----------------
|
||||||
|
|
||||||
code_length_ = round(
|
code_length_ = round(
|
||||||
fs_in_
|
fs_in_ / (Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS));
|
||||||
/ (Galileo_E1_CODE_CHIP_RATE_HZ
|
|
||||||
/ Galileo_E1_B_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
||||||
|
|
||||||
@ -210,8 +209,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_local_code()
|
|||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + boost::lexical_cast<std::string>(channel_)
|
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||||
+ ".cboc", false);
|
|
||||||
|
|
||||||
char signal[3];
|
char signal[3];
|
||||||
|
|
||||||
@ -244,10 +242,11 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_state(int state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float GalileoE1PcpsCccwsrAmbiguousAcquisition::calculate_threshold(float pfa)
|
float GalileoE1PcpsCccwsrAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||||
{
|
{
|
||||||
if(pfa){ /* Not implemented*/};
|
if (pfa)
|
||||||
|
{ /* Not implemented*/
|
||||||
|
};
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,7 +257,6 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::connect(gr::top_block_sptr top_blo
|
|||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -281,4 +279,3 @@ gr::basic_block_sptr GalileoE1PcpsCccwsrAmbiguousAcquisition::get_right_block()
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,13 +36,13 @@
|
|||||||
#include "galileo_e1_signal_processing.h"
|
#include "galileo_e1_signal_processing.h"
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcquisition(
|
GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -58,13 +58,12 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 8);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 8);
|
||||||
|
|
||||||
/*--- Find number of samples per spreading code (4 ms) -----------------*/
|
/*--- Find number of samples per spreading code (4 ms) -----------------*/
|
||||||
code_length_ = round(
|
code_length_ = round(
|
||||||
fs_in_
|
fs_in_ / (Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS));
|
||||||
/ (Galileo_E1_CODE_CHIP_RATE_HZ
|
|
||||||
/ Galileo_E1_B_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
int samples_per_ms = round(code_length_ / 4.0);
|
int samples_per_ms = round(code_length_ / 4.0);
|
||||||
|
|
||||||
@ -94,7 +93,6 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
|||||||
LOG(WARNING) << "coherent_integration_time should be multiple of "
|
LOG(WARNING) << "coherent_integration_time should be multiple of "
|
||||||
<< "Galileo code length (4 ms). coherent_integration_time = "
|
<< "Galileo code length (4 ms). coherent_integration_time = "
|
||||||
<< sampled_ms_ << " ms will be used.";
|
<< sampled_ms_ << " ms will be used.";
|
||||||
|
|
||||||
}
|
}
|
||||||
// vector_length_ = (sampled_ms_/folding_factor_) * code_length_;
|
// vector_length_ = (sampled_ms_/folding_factor_) * code_length_;
|
||||||
vector_length_ = sampled_ms_ * samples_per_ms;
|
vector_length_ = sampled_ms_ * samples_per_ms;
|
||||||
@ -151,8 +149,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::~GalileoE1PcpsQuickSyncAmbiguousAcqu
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel(unsigned int channel)
|
|
||||||
{
|
{
|
||||||
channel_ = channel;
|
channel_ = channel;
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
@ -162,10 +159,8 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel(unsigned int channel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||||
|
|
||||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||||
@ -188,8 +183,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_max(unsigned int doppler_max)
|
|
||||||
{
|
{
|
||||||
doppler_max_ = doppler_max;
|
doppler_max_ = doppler_max;
|
||||||
|
|
||||||
@ -200,8 +194,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_max(unsigned int doppler
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
|
||||||
{
|
{
|
||||||
doppler_step_ = doppler_step;
|
doppler_step_ = doppler_step;
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
@ -210,8 +203,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int dopple
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro(
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro(
|
|
||||||
Gnss_Synchro* gnss_synchro)
|
Gnss_Synchro* gnss_synchro)
|
||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
@ -236,22 +228,19 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::mag()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::init()
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::init()
|
|
||||||
{
|
{
|
||||||
acquisition_cc_->init();
|
acquisition_cc_->init();
|
||||||
//set_local_code();
|
//set_local_code();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
|
||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + boost::lexical_cast<std::string>(channel_)
|
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||||
+ ".cboc", false);
|
|
||||||
|
|
||||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||||
|
|
||||||
@ -274,8 +263,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::reset()
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::reset()
|
|
||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
@ -292,7 +280,6 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_state(int state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float GalileoE1PcpsQuickSyncAmbiguousAcquisition::calculate_threshold(float pfa)
|
float GalileoE1PcpsQuickSyncAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||||
{
|
{
|
||||||
unsigned int frequency_bins = 0;
|
unsigned int frequency_bins = 0;
|
||||||
@ -314,8 +301,7 @@ float GalileoE1PcpsQuickSyncAmbiguousAcquisition::calculate_threshold(float pfa)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
|
||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
@ -324,8 +310,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::connect(gr::top_block_sptr top_block
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
|
||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
@ -344,4 +329,3 @@ gr::basic_block_sptr GalileoE1PcpsQuickSyncAmbiguousAcquisition::get_right_block
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,13 +36,13 @@
|
|||||||
#include "galileo_e1_signal_processing.h"
|
#include "galileo_e1_signal_processing.h"
|
||||||
#include "Galileo_E1.h"
|
#include "Galileo_E1.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -58,6 +58,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
@ -78,9 +79,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
|||||||
//--- Find number of samples per spreading code (4 ms) -----------------
|
//--- Find number of samples per spreading code (4 ms) -----------------
|
||||||
|
|
||||||
code_length_ = round(
|
code_length_ = round(
|
||||||
fs_in_
|
fs_in_ / (Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS));
|
||||||
/ (Galileo_E1_CODE_CHIP_RATE_HZ
|
|
||||||
/ Galileo_E1_B_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4);
|
||||||
|
|
||||||
@ -132,7 +131,6 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_channel(unsigned int channel)
|
|||||||
|
|
||||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold)
|
void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold)
|
||||||
{
|
{
|
||||||
|
|
||||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||||
|
|
||||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||||
@ -173,7 +171,6 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_step(unsigned int dopple
|
|||||||
{
|
{
|
||||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -213,8 +210,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_local_code()
|
|||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + boost::lexical_cast<std::string>(channel_)
|
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||||
+ ".cboc", false);
|
|
||||||
|
|
||||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||||
|
|
||||||
@ -297,4 +293,3 @@ gr::basic_block_sptr GalileoE1PcpsTongAmbiguousAcquisition::get_right_block()
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,13 +42,13 @@
|
|||||||
#include "galileo_e5_signal_processing.h"
|
#include "galileo_e5_signal_processing.h"
|
||||||
#include "Galileo_E5a.h"
|
#include "Galileo_E5a.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -63,6 +63,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
CAF_window_hz_ = configuration_->property(role + ".CAF_window_hz", 0);
|
CAF_window_hz_ = configuration_->property(role + ".CAF_window_hz", 0);
|
||||||
Zero_padding = configuration_->property(role + ".Zero_padding", 0);
|
Zero_padding = configuration_->property(role + ".Zero_padding", 0);
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
@ -136,7 +137,6 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_channel(unsigned int channel)
|
|||||||
|
|
||||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold)
|
void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold)
|
||||||
{
|
{
|
||||||
|
|
||||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||||
|
|
||||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||||
@ -264,9 +264,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_local_code()
|
|||||||
acquisition_cc_->set_local_code(codeI_, codeQ_);
|
acquisition_cc_->set_local_code(codeI_, codeQ_);
|
||||||
delete[] codeI;
|
delete[] codeI;
|
||||||
delete[] codeQ;
|
delete[] codeQ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -307,14 +305,18 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_state(int state)
|
|||||||
|
|
||||||
void GalileoE5aNoncoherentIQAcquisitionCaf::connect(gr::top_block_sptr top_block)
|
void GalileoE5aNoncoherentIQAcquisitionCaf::connect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
// Nothing to connect internally
|
// Nothing to connect internally
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE5aNoncoherentIQAcquisitionCaf::disconnect(gr::top_block_sptr top_block)
|
void GalileoE5aNoncoherentIQAcquisitionCaf::disconnect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
// Nothing to disconnect internally
|
// Nothing to disconnect internally
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,280 @@
|
|||||||
|
/*!
|
||||||
|
* \file galileo_e5a_pcps_acquisition.cc
|
||||||
|
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||||
|
* Galileo E5a data and pilot Signals
|
||||||
|
* \author Antonio Ramos, 2018. antonio.ramos(at)cttc.es
|
||||||
|
* -------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* 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 "galileo_e5a_pcps_acquisition.h"
|
||||||
|
#include "configuration_interface.h"
|
||||||
|
#include "galileo_e5_signal_processing.h"
|
||||||
|
#include "Galileo_E5a.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include <boost/lexical_cast.hpp>
|
||||||
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||||
|
|
||||||
|
|
||||||
|
using google::LogMessage;
|
||||||
|
|
||||||
|
GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* configuration,
|
||||||
|
std::string role, unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
|
{
|
||||||
|
configuration_ = configuration;
|
||||||
|
std::string default_item_type = "gr_complex";
|
||||||
|
std::string default_dump_filename = "../data/acquisition.dat";
|
||||||
|
|
||||||
|
DLOG(INFO) << "Role " << role;
|
||||||
|
|
||||||
|
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||||
|
|
||||||
|
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000);
|
||||||
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
|
acq_pilot_ = configuration_->property(role + ".acquire_pilot", false);
|
||||||
|
acq_iq_ = configuration_->property(role + ".acquire_iq", false);
|
||||||
|
if (acq_iq_)
|
||||||
|
{
|
||||||
|
acq_pilot_ = false;
|
||||||
|
}
|
||||||
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
max_dwells_ = configuration_->property(role + ".max_dwells", 1);
|
||||||
|
dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename);
|
||||||
|
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||||
|
use_CFAR_ = configuration_->property(role + ".use_CFAR_algorithm", false);
|
||||||
|
blocking_ = configuration_->property(role + ".blocking", true);
|
||||||
|
|
||||||
|
//--- Find number of samples per spreading code (1ms)-------------------------
|
||||||
|
code_length_ = round(static_cast<double>(fs_in_) / Galileo_E5a_CODE_CHIP_RATE_HZ * static_cast<double>(Galileo_E5a_CODE_LENGTH_CHIPS));
|
||||||
|
vector_length_ = code_length_ * sampled_ms_;
|
||||||
|
|
||||||
|
code_ = new gr_complex[vector_length_];
|
||||||
|
|
||||||
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
|
{
|
||||||
|
item_size_ = sizeof(gr_complex);
|
||||||
|
}
|
||||||
|
else if (item_type_.compare("cshort") == 0)
|
||||||
|
{
|
||||||
|
item_size_ = sizeof(lv_16sc_t);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item_size_ = sizeof(gr_complex);
|
||||||
|
LOG(WARNING) << item_type_ << " unknown acquisition item type";
|
||||||
|
}
|
||||||
|
|
||||||
|
acquisition_ = pcps_make_acquisition(sampled_ms_, max_dwells_, doppler_max_, 0, fs_in_,
|
||||||
|
code_length_, code_length_, bit_transition_flag_, use_CFAR_, dump_, blocking_,
|
||||||
|
dump_filename_, item_size_);
|
||||||
|
|
||||||
|
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||||
|
channel_ = 0;
|
||||||
|
threshold_ = 0.0;
|
||||||
|
doppler_step_ = 0;
|
||||||
|
gnss_synchro_ = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
GalileoE5aPcpsAcquisition::~GalileoE5aPcpsAcquisition()
|
||||||
|
{
|
||||||
|
delete[] code_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_channel(unsigned int channel)
|
||||||
|
{
|
||||||
|
channel_ = channel;
|
||||||
|
acquisition_->set_channel(channel_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_threshold(float threshold)
|
||||||
|
{
|
||||||
|
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||||
|
|
||||||
|
if (pfa == 0.0)
|
||||||
|
{
|
||||||
|
pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pfa == 0.0)
|
||||||
|
{
|
||||||
|
threshold_ = threshold;
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
threshold_ = calculate_threshold(pfa);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||||
|
|
||||||
|
acquisition_->set_threshold(threshold_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||||
|
{
|
||||||
|
doppler_max_ = doppler_max;
|
||||||
|
acquisition_->set_doppler_max(doppler_max_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||||
|
{
|
||||||
|
doppler_step_ = doppler_step;
|
||||||
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||||
|
{
|
||||||
|
gnss_synchro_ = gnss_synchro;
|
||||||
|
acquisition_->set_gnss_synchro(gnss_synchro_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
signed int GalileoE5aPcpsAcquisition::mag()
|
||||||
|
{
|
||||||
|
return acquisition_->mag();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::init()
|
||||||
|
{
|
||||||
|
acquisition_->init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_local_code()
|
||||||
|
{
|
||||||
|
gr_complex* code = new gr_complex[code_length_];
|
||||||
|
char signal_[3];
|
||||||
|
|
||||||
|
if (acq_iq_)
|
||||||
|
{
|
||||||
|
strcpy(signal_, "5X");
|
||||||
|
}
|
||||||
|
else if (acq_pilot_)
|
||||||
|
{
|
||||||
|
strcpy(signal_, "5Q");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy(signal_, "5I");
|
||||||
|
}
|
||||||
|
|
||||||
|
galileo_e5_a_code_gen_complex_sampled(code, signal_, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
|
{
|
||||||
|
memcpy(code_ + (i * code_length_), code, sizeof(gr_complex) * code_length_);
|
||||||
|
}
|
||||||
|
|
||||||
|
acquisition_->set_local_code(code_);
|
||||||
|
delete[] code;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::reset()
|
||||||
|
{
|
||||||
|
acquisition_->set_active(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float GalileoE5aPcpsAcquisition::calculate_threshold(float pfa)
|
||||||
|
{
|
||||||
|
unsigned int frequency_bins = 0;
|
||||||
|
for (int doppler = static_cast<int>(-doppler_max_); doppler <= static_cast<int>(doppler_max_); doppler += doppler_step_)
|
||||||
|
{
|
||||||
|
frequency_bins++;
|
||||||
|
}
|
||||||
|
DLOG(INFO) << "Channel " << channel_ << " Pfa = " << pfa;
|
||||||
|
unsigned int ncells = vector_length_ * frequency_bins;
|
||||||
|
double exponent = 1 / static_cast<double>(ncells);
|
||||||
|
double val = pow(1.0 - pfa, exponent);
|
||||||
|
double lambda = double(vector_length_);
|
||||||
|
boost::math::exponential_distribution<double> mydist(lambda);
|
||||||
|
float threshold = static_cast<float>(quantile(mydist, val));
|
||||||
|
|
||||||
|
return threshold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::set_state(int state)
|
||||||
|
{
|
||||||
|
acquisition_->set_state(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||||
|
{
|
||||||
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
|
{
|
||||||
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
|
}
|
||||||
|
else if (item_type_.compare("cshort") == 0)
|
||||||
|
{
|
||||||
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG(WARNING) << item_type_ << " unknown acquisition item type";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GalileoE5aPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||||
|
{
|
||||||
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
|
{
|
||||||
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
|
}
|
||||||
|
else if (item_type_.compare("cshort") == 0)
|
||||||
|
{
|
||||||
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG(WARNING) << item_type_ << " unknown acquisition item type";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gr::basic_block_sptr GalileoE5aPcpsAcquisition::get_left_block()
|
||||||
|
{
|
||||||
|
return stream_to_vector_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gr::basic_block_sptr GalileoE5aPcpsAcquisition::get_right_block()
|
||||||
|
{
|
||||||
|
return acquisition_;
|
||||||
|
}
|
@ -0,0 +1,170 @@
|
|||||||
|
/*!
|
||||||
|
* \file galileo_e5a_pcps_acquisition.h
|
||||||
|
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||||
|
* Galileo E5a data and pilot Signals
|
||||||
|
* \author Antonio Ramos, 2018. antonio.ramos(at)cttc.es
|
||||||
|
* -------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* 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 GALILEO_E5A_PCPS_ACQUISITION_H_
|
||||||
|
#define GALILEO_E5A_PCPS_ACQUISITION_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include "acquisition_interface.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
|
#include "pcps_acquisition.h"
|
||||||
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
class ConfigurationInterface;
|
||||||
|
|
||||||
|
class GalileoE5aPcpsAcquisition : public AcquisitionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
GalileoE5aPcpsAcquisition(ConfigurationInterface* configuration,
|
||||||
|
std::string role, unsigned int in_streams,
|
||||||
|
unsigned int out_streams);
|
||||||
|
|
||||||
|
virtual ~GalileoE5aPcpsAcquisition();
|
||||||
|
|
||||||
|
inline std::string role() override
|
||||||
|
{
|
||||||
|
return role_;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline std::string implementation() override
|
||||||
|
{
|
||||||
|
return "Galileo_E5a_Pcps_Acquisition";
|
||||||
|
}
|
||||||
|
|
||||||
|
inline size_t item_size() override
|
||||||
|
{
|
||||||
|
return item_size_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
|
||||||
|
* to efficiently exchange synchronization data between acquisition and
|
||||||
|
* tracking blocks
|
||||||
|
*/
|
||||||
|
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Set acquisition channel unique ID
|
||||||
|
*/
|
||||||
|
void set_channel(unsigned int channel) override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Set statistics threshold of PCPS algorithm
|
||||||
|
*/
|
||||||
|
void set_threshold(float threshold) override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Set maximum Doppler off grid search
|
||||||
|
*/
|
||||||
|
void set_doppler_max(unsigned int doppler_max) override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Set Doppler steps for the grid search
|
||||||
|
*/
|
||||||
|
void set_doppler_step(unsigned int doppler_step) override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Initializes acquisition algorithm.
|
||||||
|
*/
|
||||||
|
void init() override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Sets local Galileo E5a code for PCPS acquisition algorithm.
|
||||||
|
*/
|
||||||
|
void set_local_code() override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Returns the maximum peak of grid search
|
||||||
|
*/
|
||||||
|
signed int mag() override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Restart acquisition algorithm
|
||||||
|
*/
|
||||||
|
void reset() override;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief If set to 1, ensures that acquisition starts at the
|
||||||
|
* first available sample.
|
||||||
|
* \param state - int=1 forces start of acquisition
|
||||||
|
*/
|
||||||
|
void set_state(int state);
|
||||||
|
|
||||||
|
private:
|
||||||
|
float calculate_threshold(float pfa);
|
||||||
|
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
|
||||||
|
pcps_acquisition_sptr acquisition_;
|
||||||
|
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||||
|
|
||||||
|
size_t item_size_;
|
||||||
|
|
||||||
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
|
||||||
|
bool bit_transition_flag_;
|
||||||
|
bool dump_;
|
||||||
|
bool acq_pilot_;
|
||||||
|
bool use_CFAR_;
|
||||||
|
bool blocking_;
|
||||||
|
bool acq_iq_;
|
||||||
|
|
||||||
|
unsigned int vector_length_;
|
||||||
|
unsigned int code_length_;
|
||||||
|
unsigned int channel_;
|
||||||
|
unsigned int doppler_max_;
|
||||||
|
unsigned int doppler_step_;
|
||||||
|
unsigned int sampled_ms_;
|
||||||
|
unsigned int max_dwells_;
|
||||||
|
unsigned int in_streams_;
|
||||||
|
unsigned int out_streams_;
|
||||||
|
|
||||||
|
long fs_in_;
|
||||||
|
|
||||||
|
float threshold_;
|
||||||
|
|
||||||
|
/*
|
||||||
|
std::complex<float>* codeI_;
|
||||||
|
std::complex<float>* codeQ_;
|
||||||
|
*/
|
||||||
|
|
||||||
|
gr_complex* code_;
|
||||||
|
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
};
|
||||||
|
#endif /* GALILEO_E5A_PCPS_ACQUISITION_H_ */
|
@ -32,19 +32,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "glonass_l1_ca_pcps_acquisition.h"
|
#include "glonass_l1_ca_pcps_acquisition.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include "configuration_interface.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include "glonass_l1_signal_processing.h"
|
#include "glonass_l1_signal_processing.h"
|
||||||
#include "GLONASS_L1_CA.h"
|
#include "GLONASS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -60,6 +60,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
|||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
blocking_ = configuration_->property(role + ".blocking", true);
|
blocking_ = configuration_->property(role + ".blocking", true);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
|
||||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||||
@ -84,20 +85,15 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
|||||||
if (item_type_.compare("cshort") == 0)
|
if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(lv_16sc_t);
|
item_size_ = sizeof(lv_16sc_t);
|
||||||
acquisition_sc_ = pcps_make_acquisition_sc(sampled_ms_, max_dwells_,
|
|
||||||
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_);
|
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_sc_->unique_id() << ")";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_,
|
|
||||||
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_);
|
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")";
|
|
||||||
}
|
}
|
||||||
|
acquisition_ = pcps_make_acquisition(sampled_ms_, max_dwells_,
|
||||||
|
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
||||||
|
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_, item_size_);
|
||||||
|
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||||
|
|
||||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||||
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
||||||
@ -124,14 +120,7 @@ GlonassL1CaPcpsAcquisition::~GlonassL1CaPcpsAcquisition()
|
|||||||
void GlonassL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
void GlonassL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
||||||
{
|
{
|
||||||
channel_ = channel;
|
channel_ = channel;
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_channel(channel_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -150,15 +139,7 @@ void GlonassL1CaPcpsAcquisition::set_threshold(float threshold)
|
|||||||
|
|
||||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||||
|
|
||||||
|
acquisition_->set_threshold(threshold_);
|
||||||
if (item_type_.compare("cshort") == 0)
|
|
||||||
{
|
|
||||||
acquisition_sc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -166,14 +147,7 @@ void GlonassL1CaPcpsAcquisition::set_doppler_max(unsigned int doppler_max)
|
|||||||
{
|
{
|
||||||
doppler_max_ = doppler_max;
|
doppler_max_ = doppler_max;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_max(doppler_max_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -181,14 +155,7 @@ void GlonassL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
|||||||
{
|
{
|
||||||
doppler_step_ = doppler_step;
|
doppler_step_ = doppler_step;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -196,40 +163,19 @@ void GlonassL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
|||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_gnss_synchro(gnss_synchro_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
signed int GlonassL1CaPcpsAcquisition::mag()
|
signed int GlonassL1CaPcpsAcquisition::mag()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_->mag();
|
||||||
{
|
|
||||||
return acquisition_sc_->mag();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_->mag();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GlonassL1CaPcpsAcquisition::init()
|
void GlonassL1CaPcpsAcquisition::init()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->init();
|
||||||
{
|
|
||||||
acquisition_sc_->init();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->init();
|
|
||||||
}
|
|
||||||
|
|
||||||
set_local_code();
|
set_local_code();
|
||||||
}
|
}
|
||||||
@ -237,7 +183,6 @@ void GlonassL1CaPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GlonassL1CaPcpsAcquisition::set_local_code()
|
void GlonassL1CaPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
|
|
||||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||||
|
|
||||||
glonass_l1_ca_code_gen_complex_sampled(code, /* gnss_synchro_->PRN,*/ fs_in_, 0);
|
glonass_l1_ca_code_gen_complex_sampled(code, /* gnss_synchro_->PRN,*/ fs_in_, 0);
|
||||||
@ -248,42 +193,20 @@ void GlonassL1CaPcpsAcquisition::set_local_code()
|
|||||||
sizeof(gr_complex) * code_length_);
|
sizeof(gr_complex) * code_length_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_local_code(code_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
|
|
||||||
delete[] code;
|
delete[] code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GlonassL1CaPcpsAcquisition::reset()
|
void GlonassL1CaPcpsAcquisition::reset()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_active(true);
|
||||||
{
|
|
||||||
acquisition_sc_->set_active(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_active(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GlonassL1CaPcpsAcquisition::set_state(int state)
|
void GlonassL1CaPcpsAcquisition::set_state(int state)
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_state(state);
|
||||||
{
|
|
||||||
acquisition_sc_->set_state(state);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_state(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -316,18 +239,18 @@ void GlonassL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -340,11 +263,11 @@ void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
@ -353,7 +276,7 @@ void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -386,12 +309,5 @@ gr::basic_block_sptr GlonassL1CaPcpsAcquisition::get_left_block()
|
|||||||
|
|
||||||
gr::basic_block_sptr GlonassL1CaPcpsAcquisition::get_right_block()
|
gr::basic_block_sptr GlonassL1CaPcpsAcquisition::get_right_block()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_;
|
||||||
{
|
|
||||||
return acquisition_sc_;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -34,17 +34,13 @@
|
|||||||
#ifndef GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
#ifndef GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
||||||
#define GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
#define GNSS_SDR_GLONASS_L1_CA_PCPS_ACQUISITION_H_
|
||||||
|
|
||||||
#include <string>
|
#include "acquisition_interface.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
|
#include "pcps_acquisition.h"
|
||||||
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include "gnss_synchro.h"
|
#include <string>
|
||||||
#include "acquisition_interface.h"
|
|
||||||
#include "pcps_acquisition_cc.h"
|
|
||||||
#include "pcps_acquisition_sc.h"
|
|
||||||
#include "complex_byte_to_float_x2.h"
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
@ -138,8 +134,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
ConfigurationInterface* configuration_;
|
||||||
pcps_acquisition_cc_sptr acquisition_cc_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
pcps_acquisition_sc_sptr acquisition_sc_;
|
|
||||||
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
|
@ -34,19 +34,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "gps_l1_ca_pcps_acquisition.h"
|
#include "gps_l1_ca_pcps_acquisition.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include "configuration_interface.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -61,6 +61,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
|||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
blocking_ = configuration_->property(role + ".blocking", true);
|
blocking_ = configuration_->property(role + ".blocking", true);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
|
||||||
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false);
|
||||||
@ -85,19 +86,15 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
|||||||
if (item_type_.compare("cshort") == 0)
|
if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(lv_16sc_t);
|
item_size_ = sizeof(lv_16sc_t);
|
||||||
acquisition_sc_ = pcps_make_acquisition_sc(sampled_ms_, max_dwells_,
|
|
||||||
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_);
|
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_sc_->unique_id() << ")";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_,
|
|
||||||
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
|
||||||
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_);
|
|
||||||
DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")";
|
|
||||||
}
|
}
|
||||||
|
acquisition_ = pcps_make_acquisition(sampled_ms_, max_dwells_,
|
||||||
|
doppler_max_, if_, fs_in_, code_length_, code_length_,
|
||||||
|
bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, blocking_, dump_filename_, item_size_);
|
||||||
|
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||||
|
|
||||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||||
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")";
|
||||||
@ -124,14 +121,7 @@ GpsL1CaPcpsAcquisition::~GpsL1CaPcpsAcquisition()
|
|||||||
void GpsL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
void GpsL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
||||||
{
|
{
|
||||||
channel_ = channel;
|
channel_ = channel;
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_channel(channel_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_channel(channel_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -150,15 +140,7 @@ void GpsL1CaPcpsAcquisition::set_threshold(float threshold)
|
|||||||
|
|
||||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||||
|
|
||||||
|
acquisition_->set_threshold(threshold_);
|
||||||
if (item_type_.compare("cshort") == 0)
|
|
||||||
{
|
|
||||||
acquisition_sc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_threshold(threshold_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -166,14 +148,7 @@ void GpsL1CaPcpsAcquisition::set_doppler_max(unsigned int doppler_max)
|
|||||||
{
|
{
|
||||||
doppler_max_ = doppler_max;
|
doppler_max_ = doppler_max;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_max(doppler_max_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -181,14 +156,7 @@ void GpsL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
|||||||
{
|
{
|
||||||
doppler_step_ = doppler_step;
|
doppler_step_ = doppler_step;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -196,41 +164,19 @@ void GpsL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
|||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_gnss_synchro(gnss_synchro_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
signed int GpsL1CaPcpsAcquisition::mag()
|
signed int GpsL1CaPcpsAcquisition::mag()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_->mag();
|
||||||
{
|
|
||||||
return acquisition_sc_->mag();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_->mag();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::init()
|
void GpsL1CaPcpsAcquisition::init()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->init();
|
||||||
{
|
|
||||||
acquisition_sc_->init();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->init();
|
|
||||||
}
|
|
||||||
|
|
||||||
//set_local_code();
|
//set_local_code();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,44 +193,21 @@ void GpsL1CaPcpsAcquisition::set_local_code()
|
|||||||
sizeof(gr_complex) * code_length_);
|
sizeof(gr_complex) * code_length_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_local_code(code_);
|
||||||
{
|
|
||||||
acquisition_sc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_local_code(code_);
|
|
||||||
}
|
|
||||||
|
|
||||||
delete[] code;
|
delete[] code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::reset()
|
void GpsL1CaPcpsAcquisition::reset()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_active(true);
|
||||||
{
|
|
||||||
acquisition_sc_->set_active(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_active(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::set_state(int state)
|
void GpsL1CaPcpsAcquisition::set_state(int state)
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
acquisition_->set_state(state);
|
||||||
{
|
|
||||||
acquisition_sc_->set_state(state);
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
acquisition_cc_->set_state(state);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float GpsL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
float GpsL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
||||||
@ -311,18 +234,18 @@ void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->connect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->connect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -335,11 +258,11 @@ void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
{
|
{
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_.compare("gr_complex") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cshort") == 0)
|
else if (item_type_.compare("cshort") == 0)
|
||||||
{
|
{
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_sc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else if (item_type_.compare("cbyte") == 0)
|
else if (item_type_.compare("cbyte") == 0)
|
||||||
{
|
{
|
||||||
@ -348,7 +271,7 @@ void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
|||||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||||
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0);
|
||||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
top_block->disconnect(stream_to_vector_, 0, acquisition_, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -381,13 +304,5 @@ gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_left_block()
|
|||||||
|
|
||||||
gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_right_block()
|
gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_right_block()
|
||||||
{
|
{
|
||||||
if (item_type_.compare("cshort") == 0)
|
return acquisition_;
|
||||||
{
|
|
||||||
return acquisition_sc_;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return acquisition_cc_;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -36,16 +36,14 @@
|
|||||||
#ifndef GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
#ifndef GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
||||||
#define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
#define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_H_
|
||||||
|
|
||||||
#include <string>
|
#include "acquisition_interface.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
|
#include "pcps_acquisition.h"
|
||||||
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "acquisition_interface.h"
|
|
||||||
#include "pcps_acquisition_cc.h"
|
|
||||||
#include "pcps_acquisition_sc.h"
|
|
||||||
#include "complex_byte_to_float_x2.h"
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
@ -140,8 +138,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
ConfigurationInterface* configuration_;
|
||||||
pcps_acquisition_cc_sptr acquisition_cc_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
pcps_acquisition_sc_sptr acquisition_sc_;
|
|
||||||
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
|
@ -37,13 +37,13 @@
|
|||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
std::string default_dump_filename = "./data/acquisition.dat";
|
std::string default_dump_filename = "./data/acquisition.dat";
|
||||||
@ -57,13 +57,13 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
|||||||
dump_ = configuration->property(role + ".dump", false);
|
dump_ = configuration->property(role + ".dump", false);
|
||||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||||
doppler_min_ = configuration->property(role + ".doppler_min", -5000);
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
|
doppler_min_ = configuration->property(role + ".doppler_min", -doppler_max_);
|
||||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||||
max_dwells_ = configuration->property(role + ".max_dwells", 1);
|
max_dwells_ = configuration->property(role + ".max_dwells", 1);
|
||||||
|
|
||||||
//--- Find number of samples per spreading code -------------------------
|
//--- Find number of samples per spreading code -------------------------
|
||||||
vector_length_ = round(fs_in_
|
vector_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
||||||
/ (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
code_ = new gr_complex[vector_length_];
|
code_ = new gr_complex[vector_length_];
|
||||||
|
|
||||||
@ -156,14 +156,18 @@ void GpsL1CaPcpsAcquisitionFineDoppler::reset()
|
|||||||
|
|
||||||
void GpsL1CaPcpsAcquisitionFineDoppler::connect(boost::shared_ptr<gr::top_block> top_block)
|
void GpsL1CaPcpsAcquisitionFineDoppler::connect(boost::shared_ptr<gr::top_block> top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisitionFineDoppler::disconnect(boost::shared_ptr<gr::top_block> top_block)
|
void GpsL1CaPcpsAcquisitionFineDoppler::disconnect(boost::shared_ptr<gr::top_block> top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,4 +182,3 @@ boost::shared_ptr<gr::basic_block> GpsL1CaPcpsAcquisitionFineDoppler::get_right_
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
#include "pcps_acquisition_fine_doppler_cc.h"
|
#include "pcps_acquisition_fine_doppler_cc.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -37,13 +37,13 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
unsigned int code_length;
|
unsigned int code_length;
|
||||||
bool bit_transition_flag;
|
bool bit_transition_flag;
|
||||||
@ -71,6 +71,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
|||||||
ifreq = configuration_->property(role + ".if", 0);
|
ifreq = configuration_->property(role + ".if", 0);
|
||||||
dump = configuration_->property(role + ".dump", false);
|
dump = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
|
||||||
// note : the FPGA is implemented according to bit transition flag = 0. Setting bit transition flag to 1 has no effect.
|
// note : the FPGA is implemented according to bit transition flag = 0. Setting bit transition flag to 1 has no effect.
|
||||||
|
@ -37,13 +37,14 @@
|
|||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
std::string default_dump_filename = "./data/acquisition.dat";
|
std::string default_dump_filename = "./data/acquisition.dat";
|
||||||
@ -56,14 +57,14 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
|||||||
if_ = configuration->property(role + ".if", 0);
|
if_ = configuration->property(role + ".if", 0);
|
||||||
dump_ = configuration->property(role + ".dump", false);
|
dump_ = configuration->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||||
doppler_min_ = configuration->property(role + ".doppler_min", -5000);
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
|
doppler_min_ = configuration->property(role + ".doppler_min", -doppler_max_);
|
||||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||||
max_dwells_ = configuration->property(role + ".max_dwells", 1);
|
max_dwells_ = configuration->property(role + ".max_dwells", 1);
|
||||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||||
|
|
||||||
//--- Find number of samples per spreading code -------------------------
|
//--- Find number of samples per spreading code -------------------------
|
||||||
vector_length_ = round(fs_in_
|
vector_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
||||||
/ (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
code_ = new gr_complex[vector_length_];
|
code_ = new gr_complex[vector_length_];
|
||||||
|
|
||||||
@ -154,14 +155,18 @@ void GpsL1CaPcpsAssistedAcquisition::reset()
|
|||||||
|
|
||||||
void GpsL1CaPcpsAssistedAcquisition::connect(gr::top_block_sptr top_block)
|
void GpsL1CaPcpsAssistedAcquisition::connect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAssistedAcquisition::disconnect(gr::top_block_sptr top_block)
|
void GpsL1CaPcpsAssistedAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||||
{
|
{
|
||||||
if(top_block) { /* top_block is not null */};
|
if (top_block)
|
||||||
|
{ /* top_block is not null */
|
||||||
|
};
|
||||||
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
//nothing to disconnect, now the tracking uses gr_sync_decimator
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,4 +181,3 @@ gr::basic_block_sptr GpsL1CaPcpsAssistedAcquisition::get_right_block()
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
#include "pcps_assisted_acquisition_cc.h"
|
#include "pcps_assisted_acquisition_cc.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -35,13 +35,14 @@
|
|||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
|
#include "gnss_sdr_flags.h"
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||||
ConfigurationInterface* configuration, std::string role,
|
ConfigurationInterface* configuration, std::string role,
|
||||||
unsigned int in_streams, unsigned int out_streams) :
|
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||||
role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
|
||||||
{
|
{
|
||||||
configuration_ = configuration;
|
configuration_ = configuration;
|
||||||
std::string default_item_type = "gr_complex";
|
std::string default_item_type = "gr_complex";
|
||||||
@ -57,6 +58,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
|||||||
if_ = configuration_->property(role + ".if", 0);
|
if_ = configuration_->property(role + ".if", 0);
|
||||||
dump_ = configuration_->property(role + ".dump", false);
|
dump_ = configuration_->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||||
|
if (FLAGS_doppler_max != 0) doppler_max_ = FLAGS_doppler_max;
|
||||||
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
|
||||||
bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false);
|
bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false);
|
||||||
@ -74,8 +76,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
|||||||
default_dump_filename);
|
default_dump_filename);
|
||||||
|
|
||||||
//--- Find number of samples per spreading code -------------------------
|
//--- Find number of samples per spreading code -------------------------
|
||||||
code_length_ = round(fs_in_
|
code_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
||||||
/ (GPS_L1_CA_CODE_RATE_HZ / GPS_L1_CA_CODE_LENGTH_CHIPS));
|
|
||||||
|
|
||||||
vector_length_ = code_length_ * sampled_ms_;
|
vector_length_ = code_length_ * sampled_ms_;
|
||||||
|
|
||||||
@ -165,7 +166,6 @@ void GpsL1CaPcpsOpenClAcquisition::set_doppler_step(unsigned int doppler_step)
|
|||||||
{
|
{
|
||||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -280,4 +280,3 @@ gr::basic_block_sptr GpsL1CaPcpsOpenClAcquisition::get_right_block()
|
|||||||
{
|
{
|
||||||
return acquisition_cc_;
|
return acquisition_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user