[hamradio-commits] [gnss-sdr] 218/303: Use GPSTk if found, let the user change that with -DENABLE_OWN_GPSTK=ON
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:36:02 UTC 2017
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.
commit 7df15841b446485b3339cd31da0173b31d555a75
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Fri Dec 30 14:36:41 2016 +0100
Use GPSTk if found, let the user change that with -DENABLE_OWN_GPSTK=ON
Add diff stdev error computation for carrier phase
---
src/tests/CMakeLists.txt | 92 +++++++++++++-----------
src/tests/system-tests/obs_gps_l1_system_test.cc | 12 +++-
2 files changed, 61 insertions(+), 43 deletions(-)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index f08fccc..71aae6c 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -136,6 +136,7 @@ endif(ENABLE_CUDA)
################################################################################
# Optional generator
################################################################################
+option(ENABLE_OWN_GPSTK "Download, build and link GPSTk for system tests" OFF)
if(ENABLE_SW_GENERATOR)
ExternalProject_Add(
gnss-sim
@@ -156,31 +157,38 @@ if(ENABLE_SW_GENERATOR)
################################################################################
# Local installation of GPSTk http://www.gpstk.org/
################################################################################
- set(gpstk_RELEASE "2.5")
- set(gpstk_md5 "9d79f6838d274f5edfd46c780a6b1b72")
- ExternalProject_Add(
- gpstk-${gpstk_RELEASE}
- URL https://sourceforge.net/projects/gpstk/files/gpstk/${gpstk_RELEASE}/gpstk-${gpstk_RELEASE}.src.tar.gz
- URL_MD5 ${gpstk_md5}
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk
- BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/script_gpstk.sh -c
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- INSTALL_COMMAND ""
- )
- set(GPSTK_INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/include CACHE PATH "Local GPSTK headers"
- )
- add_library(gpstk UNKNOWN IMPORTED)
- set_property(TARGET gpstk PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
- add_dependencies(gpstk gpstk-${gpstk_RELEASE})
- set(GPSTK_BINDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/bin/ )
- add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}")
- set(gpstk_libs gpstk)
+ find_package(GPSTK)
+ if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
+ set(gpstk_RELEASE "2.5")
+ set(gpstk_md5 "9d79f6838d274f5edfd46c780a6b1b72")
+ ExternalProject_Add(
+ gpstk-${gpstk_RELEASE}
+ URL https://sourceforge.net/projects/gpstk/files/gpstk/${gpstk_RELEASE}/gpstk-${gpstk_RELEASE}.src.tar.gz
+ URL_MD5 ${gpstk_md5}
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk
+ BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/script_gpstk.sh -c
+ UPDATE_COMMAND ""
+ PATCH_COMMAND ""
+ INSTALL_COMMAND ""
+ )
+ set(GPSTK_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/include CACHE PATH "Local GPSTK headers")
+ add_library(gpstk UNKNOWN IMPORTED)
+ set_property(TARGET gpstk PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
+ add_dependencies(gpstk gpstk-${gpstk_RELEASE})
+ set(GPSTK_BINDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk/dev/install/bin/ )
+ add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}")
+ set(gpstk_libs gpstk)
+ else(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
+ set(gpstk_libs ${GPSTK_LIBRARIES})
+ set(GPSTK_INCLUDE_DIRS ${GPSTK_INCLUDE_DIR})
+ set(GPSTK_BINDIR ${GPSTK_LIBRARY}/../bin/ )
+ add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}")
+ endif(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
endif(ENABLE_SW_GENERATOR)
+
add_definitions(-DTEST_PATH="${CMAKE_SOURCE_DIR}/src/tests/")
include_directories(
@@ -481,23 +489,23 @@ if(ENABLE_SYSTEM_TESTING)
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
)
- add_executable(obs_gps_l1_system_test
- ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/obs_gps_l1_system_test.cc )
- if(NOT ${GTEST_DIR_LOCAL})
- add_dependencies(obs_gps_l1_system_test gtest-${gtest_RELEASE} )
- else(NOT ${GTEST_DIR_LOCAL})
- add_dependencies(obs_gps_l1_system_test gtest)
- endif(NOT ${GTEST_DIR_LOCAL})
- include_directories(${GPSTK_INCLUDE_DIRS})
- target_link_libraries(obs_gps_l1_system_test ${GFlags_LIBS}
- ${GLOG_LIBRARIES}
- ${GTEST_LIBRARIES}
- gnss_sp_libs
- gnss_rx
- ${gpstk_libs})
- add_custom_command(TARGET obs_gps_l1_system_test POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obs_gps_l1_system_test>
- ${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:obs_gps_l1_system_test>
- )
-
+ if(ENABLE_SW_GENERATOR)
+ add_executable(obs_gps_l1_system_test ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/obs_gps_l1_system_test.cc )
+ if(NOT ${GTEST_DIR_LOCAL})
+ add_dependencies(obs_gps_l1_system_test gtest-${gtest_RELEASE} )
+ else(NOT ${GTEST_DIR_LOCAL})
+ add_dependencies(obs_gps_l1_system_test gtest)
+ endif(NOT ${GTEST_DIR_LOCAL})
+ include_directories(${GPSTK_INCLUDE_DIRS})
+ target_link_libraries(obs_gps_l1_system_test ${GFlags_LIBS}
+ ${GLOG_LIBRARIES}
+ ${GTEST_LIBRARIES}
+ gnss_sp_libs
+ gnss_rx
+ ${gpstk_libs})
+ add_custom_command(TARGET obs_gps_l1_system_test POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obs_gps_l1_system_test>
+ ${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:obs_gps_l1_system_test>
+ )
+ endif(ENABLE_SW_GENERATOR)
endif(ENABLE_SYSTEM_TESTING)
diff --git a/src/tests/system-tests/obs_gps_l1_system_test.cc b/src/tests/system-tests/obs_gps_l1_system_test.cc
index cc7807d..b45a773 100644
--- a/src/tests/system-tests/obs_gps_l1_system_test.cc
+++ b/src/tests/system-tests/obs_gps_l1_system_test.cc
@@ -583,6 +583,7 @@ void Obs_Gps_L1_System_Test::check_results()
// Compute carrier phase error
prn_id = 0;
+ std::vector<double> mean_cp_diff_v;
for(iter_diff = cp_diff.begin(); iter_diff != cp_diff.end(); iter_diff++)
{
// For each satellite with reference and measurements aligned in time
@@ -596,6 +597,7 @@ void Obs_Gps_L1_System_Test::check_results()
if(number_obs > 0)
{
mean_diff = mean_diff / number_obs;
+ mean_cp_diff_v.push_back(mean_diff);
std::cout << "-- Mean carrier phase difference for sat " << prn_id << ": " << mean_diff << std::endl;
}
else
@@ -605,6 +607,14 @@ void Obs_Gps_L1_System_Test::check_results()
prn_id++;
}
+ sum_ = std::accumulate(mean_cp_diff_v.begin(), mean_cp_diff_v.end(), 0.0);
+ mean_ = sum_ / mean_cp_diff_v.size();
+ accum = 0.0;
+ std::for_each (std::begin(mean_cp_diff_v), std::end(mean_cp_diff_v), [&](const double d) {
+ accum += (d - mean_) * (d - mean_);
+ });
+ double stdev_cp = std::sqrt(accum / (mean_cp_diff_v.size() - 1));
+ std::cout << "Carrier phase diff error stdev = " << stdev_cp << " whole cycles (19 cm)" << std::endl;
// Compute Doppler error
prn_id = 0;
@@ -656,7 +666,7 @@ TEST_F(Obs_Gps_L1_System_Test, Observables_system_test)
configure_generator();
// Generate signal raw signal samples and observations RINEX file
- generate_signal();
+ //generate_signal();
std::cout << "Validating generated reference RINEX obs file: " << FLAGS_filename_rinex_obs << " ..." << std::endl;
bool is_gen_rinex_obs_valid = check_valid_rinex_obs( "./" + FLAGS_filename_rinex_obs);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list