mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 20:50:33 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into raspi
This commit is contained in:
commit
89169f9f2e
@ -51,7 +51,7 @@ IncludeBlocks: Merge
|
|||||||
IncludeCategories:
|
IncludeCategories:
|
||||||
- Regex: '^.*.h"'
|
- Regex: '^.*.h"'
|
||||||
Priority: 1
|
Priority: 1
|
||||||
- Regex: '^.*(boost|gflags|glog|gnsssdr|gpstk|gtest|gnuradio|pmt|uhd|volk)/'
|
- Regex: '^.*(boost|gflags|glog|gnsssdr|gnuradio|gpstk|gsl|gtest|pmt|uhd|volk)/'
|
||||||
Priority: 2
|
Priority: 2
|
||||||
- Regex: '^.*(armadillo|matio|pugixml)'
|
- Regex: '^.*(armadillo|matio|pugixml)'
|
||||||
Priority: 2
|
Priority: 2
|
||||||
|
12
.clang-tidy
12
.clang-tidy
@ -8,10 +8,14 @@ Checks: '-*,
|
|||||||
cert-err60-cpp,
|
cert-err60-cpp,
|
||||||
cert-flp30-c,
|
cert-flp30-c,
|
||||||
clang-analyzer-cplusplus*,
|
clang-analyzer-cplusplus*,
|
||||||
|
cppcoreguidelines-pro-type-cstyle-cast,
|
||||||
cppcoreguidelines-pro-type-static-cast-downcast,
|
cppcoreguidelines-pro-type-static-cast-downcast,
|
||||||
cppcoreguidelines-slicing,
|
cppcoreguidelines-slicing,
|
||||||
|
cppcoreguidelines-special-member-functions,
|
||||||
google-build-namespaces,
|
google-build-namespaces,
|
||||||
google-runtime-int,
|
google-runtime-int,
|
||||||
|
hicpp-exception-baseclass,
|
||||||
|
hicpp-explicit-conversions,
|
||||||
misc-misplaced-const,
|
misc-misplaced-const,
|
||||||
misc-new-delete-overloads,
|
misc-new-delete-overloads,
|
||||||
misc-non-copyable-objects,
|
misc-non-copyable-objects,
|
||||||
@ -24,14 +28,22 @@ Checks: '-*,
|
|||||||
modernize-raw-string-literal,
|
modernize-raw-string-literal,
|
||||||
modernize-use-auto,
|
modernize-use-auto,
|
||||||
modernize-use-bool-literals,
|
modernize-use-bool-literals,
|
||||||
|
modernize-use-emplace,
|
||||||
modernize-use-equals-default,
|
modernize-use-equals-default,
|
||||||
modernize-use-equals-delete,
|
modernize-use-equals-delete,
|
||||||
modernize-use-noexcept,
|
modernize-use-noexcept,
|
||||||
modernize-use-nullptr,
|
modernize-use-nullptr,
|
||||||
performance-faster-string-find,
|
performance-faster-string-find,
|
||||||
|
performance-for-range-copy,
|
||||||
|
performance-implicit-conversion-in-loop,
|
||||||
performance-inefficient-algorithm,
|
performance-inefficient-algorithm,
|
||||||
|
performance-inefficient-string-concatenation,
|
||||||
|
performance-inefficient-vector-operation,
|
||||||
performance-move-const-arg,
|
performance-move-const-arg,
|
||||||
|
performance-move-constructor-init,
|
||||||
|
performance-noexcept-move-constructor,
|
||||||
performance-type-promotion-in-math-fn,
|
performance-type-promotion-in-math-fn,
|
||||||
|
performance-unnecessary-copy-initialization,
|
||||||
performance-unnecessary-value-param,
|
performance-unnecessary-value-param,
|
||||||
readability-container-size-empty,
|
readability-container-size-empty,
|
||||||
readability-identifier-naming,
|
readability-identifier-naming,
|
||||||
|
@ -95,6 +95,12 @@ target_include_directories(pvt_libs
|
|||||||
|
|
||||||
target_compile_definitions(pvt_libs PRIVATE -DGNSS_SDR_VERSION="${VERSION}")
|
target_compile_definitions(pvt_libs PRIVATE -DGNSS_SDR_VERSION="${VERSION}")
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(pvt_libs
|
||||||
|
PUBLIC -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(Boost_VERSION_STRING VERSION_GREATER 1.65.99)
|
if(Boost_VERSION_STRING VERSION_GREATER 1.65.99)
|
||||||
target_compile_definitions(pvt_libs
|
target_compile_definitions(pvt_libs
|
||||||
PUBLIC
|
PUBLIC
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
#ifndef GNSS_SDR_PVT_SOLUTION_H_
|
#ifndef GNSS_SDR_PVT_SOLUTION_H_
|
||||||
#define GNSS_SDR_PVT_SOLUTION_H_
|
#define GNSS_SDR_PVT_SOLUTION_H_
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
|
@ -41,8 +41,8 @@
|
|||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <algorithm>
|
|
||||||
#include <gsl/gsl>
|
#include <gsl/gsl>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||||
|
@ -69,12 +69,13 @@ endif()
|
|||||||
target_link_libraries(acquisition_gr_blocks
|
target_link_libraries(acquisition_gr_blocks
|
||||||
PUBLIC
|
PUBLIC
|
||||||
algorithms_libs
|
algorithms_libs
|
||||||
|
acquisition_libs
|
||||||
|
channel_libs
|
||||||
|
core_system_parameters
|
||||||
|
Armadillo::armadillo
|
||||||
Gnuradio::runtime
|
Gnuradio::runtime
|
||||||
Gnuradio::fft
|
Gnuradio::fft
|
||||||
Volk::volk
|
Volk::volk
|
||||||
channel_libs
|
|
||||||
acquisition_libs
|
|
||||||
core_system_parameters
|
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Gflags::gflags
|
Gflags::gflags
|
||||||
Glog::glog
|
Glog::glog
|
||||||
@ -90,6 +91,12 @@ target_include_directories(acquisition_gr_blocks
|
|||||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(acquisition_gr_blocks
|
||||||
|
PUBLIC -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(OPENCL_FOUND)
|
if(OPENCL_FOUND)
|
||||||
target_link_libraries(acquisition_gr_blocks PUBLIC OpenCL::OpenCL)
|
target_link_libraries(acquisition_gr_blocks PUBLIC OpenCL::OpenCL)
|
||||||
target_include_directories(acquisition_gr_blocks
|
target_include_directories(acquisition_gr_blocks
|
||||||
|
@ -52,6 +52,10 @@
|
|||||||
#ifndef GNSS_SDR_PCPS_ACQUISITION_H_
|
#ifndef GNSS_SDR_PCPS_ACQUISITION_H_
|
||||||
#define GNSS_SDR_PCPS_ACQUISITION_H_
|
#define GNSS_SDR_PCPS_ACQUISITION_H_
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "acq_conf.h"
|
#include "acq_conf.h"
|
||||||
#include "channel_fsm.h"
|
#include "channel_fsm.h"
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
@ -61,6 +65,7 @@
|
|||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <gnuradio/thread/thread.h> // for scoped_lock
|
#include <gnuradio/thread/thread.h> // for scoped_lock
|
||||||
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
||||||
|
#include <gsl/gsl> // for Guidelines Support Library
|
||||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
@ -68,12 +73,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class Gnss_Synchro;
|
class Gnss_Synchro;
|
||||||
class pcps_acquisition;
|
class pcps_acquisition;
|
||||||
|
@ -49,6 +49,10 @@
|
|||||||
#ifndef GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
#ifndef GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
||||||
#define GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
#define GNSS_SDR_PCPS_ACQUISITION_FINE_DOPPLER_CC_H_
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "acq_conf.h"
|
#include "acq_conf.h"
|
||||||
#include "channel_fsm.h"
|
#include "channel_fsm.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
|
@ -92,22 +92,10 @@ else()
|
|||||||
target_link_libraries(algorithms_libs PRIVATE Boost::filesystem Boost::system)
|
target_link_libraries(algorithms_libs PRIVATE Boost::filesystem Boost::system)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(CheckCXXSourceCompiles)
|
target_include_directories(algorithms_libs
|
||||||
check_cxx_source_compiles("
|
|
||||||
#include <span>
|
|
||||||
int main()
|
|
||||||
{ std::span<float> sv; }"
|
|
||||||
has_span
|
|
||||||
)
|
|
||||||
|
|
||||||
if(${has_span})
|
|
||||||
target_compile_definitions(algorithms_libs PUBLIC -DHAS_SPAN=1)
|
|
||||||
else()
|
|
||||||
target_include_directories(algorithms_libs
|
|
||||||
PUBLIC
|
PUBLIC
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/gsl/include
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs/gsl/include
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(algorithms_libs
|
target_link_libraries(algorithms_libs
|
||||||
PUBLIC
|
PUBLIC
|
||||||
@ -130,6 +118,12 @@ if(OPENCL_FOUND)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(algorithms_libs
|
||||||
|
PUBLIC -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(algorithms_libs
|
target_include_directories(algorithms_libs
|
||||||
PUBLIC
|
PUBLIC
|
||||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||||
|
@ -33,17 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_BEIDOU_B1I_SDR_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_BEIDOU_B1I_SDR_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_BEIDOU_B1I_SDR_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_BEIDOU_B1I_SDR_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
//! Generates int32_t GPS L1 C/A code for the desired SV ID and code shift
|
//! Generates int32_t GPS L1 C/A code for the desired SV ID and code shift
|
||||||
void beidou_b1i_code_gen_int(gsl::span<int32_t> _dest, int32_t _prn, uint32_t _chip_shift);
|
void beidou_b1i_code_gen_int(gsl::span<int32_t> _dest, int32_t _prn, uint32_t _chip_shift);
|
||||||
|
|
||||||
|
@ -33,16 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_BEIDOU_B3I_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_BEIDOU_B3I_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_BEIDOU_B3I_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_BEIDOU_B3I_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates int BeiDou B3I code for the desired SV ID and code shift
|
//! Generates int BeiDou B3I code for the desired SV ID and code shift
|
||||||
void beidou_b3i_code_gen_int(gsl::span<int> _dest, int32_t _prn, uint32_t _chip_shift);
|
void beidou_b3i_code_gen_int(gsl::span<int> _dest, int32_t _prn, uint32_t _chip_shift);
|
||||||
|
|
||||||
|
@ -32,15 +32,10 @@
|
|||||||
#ifndef GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -34,16 +34,10 @@
|
|||||||
#ifndef GNSS_SDR_GALILEO_E5_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GALILEO_E5_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GALILEO_E5_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GALILEO_E5_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Generates Galileo E5a code at 1 sample/chip
|
* \brief Generates Galileo E5a code at 1 sample/chip
|
||||||
|
@ -32,6 +32,10 @@
|
|||||||
#ifndef GNSS_SDR_GEOFUNCTIONS_H
|
#ifndef GNSS_SDR_GEOFUNCTIONS_H
|
||||||
#define GNSS_SDR_GEOFUNCTIONS_H
|
#define GNSS_SDR_GEOFUNCTIONS_H
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
|
|
||||||
arma::mat Skew_symmetric(const arma::vec &a); //!< Calculates skew-symmetric matrix
|
arma::mat Skew_symmetric(const arma::vec &a); //!< Calculates skew-symmetric matrix
|
||||||
|
@ -33,16 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GLONASS_SDR_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GLONASS_SDR_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GLONASS_SDR_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GLONASS_SDR_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates complex GLONASS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
|
//! Generates complex GLONASS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
|
||||||
void glonass_l1_ca_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _chip_shift);
|
void glonass_l1_ca_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _chip_shift);
|
||||||
|
|
||||||
|
@ -33,16 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GLONASS_L2_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GLONASS_L2_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GLONASS_L2_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GLONASS_L2_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates complex GLONASS L2 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
|
//! Generates complex GLONASS L2 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
|
||||||
void glonass_l2_ca_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _chip_shift);
|
void glonass_l2_ca_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _chip_shift);
|
||||||
|
|
||||||
|
@ -35,17 +35,10 @@
|
|||||||
#ifndef GNSS_SDR_GNSS_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GNSS_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GNSS_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GNSS_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This function generates a complex exponential in _dest.
|
* \brief This function generates a complex exponential in _dest.
|
||||||
*
|
*
|
||||||
|
@ -33,17 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GPS_L2C_SIGNAL_H_
|
#ifndef GNSS_SDR_GPS_L2C_SIGNAL_H_
|
||||||
#define GNSS_SDR_GPS_L2C_SIGNAL_H_
|
#define GNSS_SDR_GPS_L2C_SIGNAL_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
//! Generates complex GPS L2C M code for the desired SV ID
|
//! Generates complex GPS L2C M code for the desired SV ID
|
||||||
void gps_l2c_m_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _prn);
|
void gps_l2c_m_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _prn);
|
||||||
void gps_l2c_m_code_gen_float(gsl::span<float> _dest, uint32_t _prn);
|
void gps_l2c_m_code_gen_float(gsl::span<float> _dest, uint32_t _prn);
|
||||||
|
@ -33,16 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GPS_L5_SIGNAL_H_
|
#ifndef GNSS_SDR_GPS_L5_SIGNAL_H_
|
||||||
#define GNSS_SDR_GPS_L5_SIGNAL_H_
|
#define GNSS_SDR_GPS_L5_SIGNAL_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates complex GPS L5I code for the desired SV ID
|
//! Generates complex GPS L5I code for the desired SV ID
|
||||||
void gps_l5i_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _prn);
|
void gps_l5i_code_gen_complex(gsl::span<std::complex<float>> _dest, uint32_t _prn);
|
||||||
|
|
||||||
|
@ -33,16 +33,10 @@
|
|||||||
#ifndef GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_
|
#ifndef GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_
|
||||||
#define GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_
|
#define GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_
|
||||||
|
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates int GPS L1 C/A code for the desired SV ID and code shift
|
//! Generates int GPS L1 C/A code for the desired SV ID and code shift
|
||||||
void gps_l1_ca_code_gen_int(gsl::span<int32_t> _dest, int32_t _prn, uint32_t _chip_shift);
|
void gps_l1_ca_code_gen_int(gsl::span<int32_t> _dest, int32_t _prn, uint32_t _chip_shift);
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ void signal_generator_c::generate_codes()
|
|||||||
|
|
||||||
std::array<char, 3> signal_1C = {{'1', 'C', '\0'}};
|
std::array<char, 3> signal_1C = {{'1', 'C', '\0'}};
|
||||||
|
|
||||||
galileo_e1_code_gen_complex_sampled(gsl::span<gr_complex>(sampled_code_pilot_[sat].data(), vector_length_), signal_1C, cboc, PRN_[sat], fs_in_,
|
galileo_e1_code_gen_complex_sampled(sampled_code_pilot_[sat], signal_1C, cboc, PRN_[sat], fs_in_,
|
||||||
static_cast<int>(GALILEO_E1_B_CODE_LENGTH_CHIPS) - delay_chips_[sat], true);
|
static_cast<int>(GALILEO_E1_B_CODE_LENGTH_CHIPS) - delay_chips_[sat], true);
|
||||||
|
|
||||||
// Obtain the desired CN0 assuming that Pn = 1.
|
// Obtain the desired CN0 assuming that Pn = 1.
|
||||||
|
@ -550,7 +550,7 @@ int beidou_b1i_telemetry_decoder_gs::general_work(int noutput_items __attribute_
|
|||||||
flag_SOW_set = true;
|
flag_SOW_set = true;
|
||||||
d_nav.flag_new_SOW_available = false;
|
d_nav.flag_new_SOW_available = false;
|
||||||
|
|
||||||
if (last_d_TOW_at_current_symbol_ms != 0 and abs(static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms)) > d_symbol_duration_ms)
|
if (last_d_TOW_at_current_symbol_ms != 0 and abs(static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms)) > static_cast<int64_t>(d_symbol_duration_ms))
|
||||||
{
|
{
|
||||||
LOG(INFO) << "Warning: BEIDOU B1I TOW update in ch " << d_channel
|
LOG(INFO) << "Warning: BEIDOU B1I TOW update in ch " << d_channel
|
||||||
<< " does not match the TLM TOW counter " << static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms) << " ms \n";
|
<< " does not match the TLM TOW counter " << static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms) << " ms \n";
|
||||||
|
@ -581,7 +581,7 @@ int beidou_b3i_telemetry_decoder_gs::general_work(
|
|||||||
flag_SOW_set = true;
|
flag_SOW_set = true;
|
||||||
d_nav.flag_new_SOW_available = false;
|
d_nav.flag_new_SOW_available = false;
|
||||||
|
|
||||||
if (last_d_TOW_at_current_symbol_ms != 0 and abs(static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms)) > d_symbol_duration_ms)
|
if (last_d_TOW_at_current_symbol_ms != 0 and abs(static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms)) > static_cast<int64_t>(d_symbol_duration_ms))
|
||||||
{
|
{
|
||||||
LOG(INFO) << "Warning: BEIDOU B3I TOW update in ch " << d_channel
|
LOG(INFO) << "Warning: BEIDOU B3I TOW update in ch " << d_channel
|
||||||
<< " does not match the TLM TOW counter " << static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms) << " ms \n";
|
<< " does not match the TLM TOW counter " << static_cast<int64_t>(d_TOW_at_current_symbol_ms) - int64_t(last_d_TOW_at_current_symbol_ms) << " ms \n";
|
||||||
|
@ -193,7 +193,7 @@ sbas_l1_telemetry_decoder_gs::Symbol_Aligner_And_Decoder::Symbol_Aligner_And_Dec
|
|||||||
std::array<int32_t, nn> g_encoder{121, 91};
|
std::array<int32_t, nn> g_encoder{121, 91};
|
||||||
|
|
||||||
d_vd1 = std::make_shared<Viterbi_Decoder>(g_encoder.data(), d_KK, nn);
|
d_vd1 = std::make_shared<Viterbi_Decoder>(g_encoder.data(), d_KK, nn);
|
||||||
d_vd1 = std::make_shared<Viterbi_Decoder>(g_encoder.data(), d_KK, nn);
|
d_vd2 = std::make_shared<Viterbi_Decoder>(g_encoder.data(), d_KK, nn);
|
||||||
d_past_symbol = 0;
|
d_past_symbol = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +89,7 @@ endif()
|
|||||||
target_link_libraries(tracking_gr_blocks
|
target_link_libraries(tracking_gr_blocks
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Boost::boost
|
Boost::boost
|
||||||
|
Armadillo::armadillo
|
||||||
Gnuradio::blocks
|
Gnuradio::blocks
|
||||||
Matio::matio
|
Matio::matio
|
||||||
Volkgnsssdr::volkgnsssdr
|
Volkgnsssdr::volkgnsssdr
|
||||||
@ -108,6 +109,12 @@ if(ENABLE_CUDA AND NOT CMAKE_VERSION VERSION_GREATER 3.11)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(tracking_gr_blocks
|
||||||
|
PUBLIC -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_CLANG_TIDY)
|
if(ENABLE_CLANG_TIDY)
|
||||||
if(CLANG_TIDY_EXE)
|
if(CLANG_TIDY_EXE)
|
||||||
set_target_properties(tracking_gr_blocks
|
set_target_properties(tracking_gr_blocks
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h> // for io_signature
|
#include <gnuradio/io_signature.h> // for io_signature
|
||||||
#include <gnuradio/thread/thread.h> // for scoped_lock
|
#include <gnuradio/thread/thread.h> // for scoped_lock
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <matio.h> // for Mat_VarCreate
|
#include <matio.h> // for Mat_VarCreate
|
||||||
#include <pmt/pmt_sugar.h> // for mp
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -64,7 +65,6 @@
|
|||||||
#include <array>
|
#include <array>
|
||||||
#include <cmath> // for fmod, round, floor
|
#include <cmath> // for fmod, round, floor
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
#include <gsl/gsl>
|
|
||||||
#include <iostream> // for cout, cerr
|
#include <iostream> // for cout, cerr
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
@ -49,13 +49,13 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h> // for io_signature
|
#include <gnuradio/io_signature.h> // for io_signature
|
||||||
#include <gnuradio/thread/thread.h> // for scoped_lock
|
#include <gnuradio/thread/thread.h> // for scoped_lock
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <matio.h> // for Mat_VarCreate
|
#include <matio.h> // for Mat_VarCreate
|
||||||
#include <pmt/pmt_sugar.h> // for mp
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
#include <algorithm> // for fill_n
|
#include <algorithm> // for fill_n
|
||||||
#include <cmath> // for fmod, round, floor
|
#include <cmath> // for fmod, round, floor
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
#include <gsl/gsl>
|
|
||||||
#include <iostream> // for cout, cerr
|
#include <iostream> // for cout, cerr
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
@ -1680,9 +1680,6 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un
|
|||||||
d_current_fpga_integration_period = d_fpga_integration_period;
|
d_current_fpga_integration_period = d_fpga_integration_period;
|
||||||
d_current_extended_correlation_in_fpga = true;
|
d_current_extended_correlation_in_fpga = true;
|
||||||
|
|
||||||
d_P_accu_old.real(d_P_accu_old.real() * d_fpga_integration_period);
|
|
||||||
d_P_accu_old.imag(d_P_accu_old.imag() * d_fpga_integration_period);
|
|
||||||
|
|
||||||
if (d_sc_demodulate_enabled)
|
if (d_sc_demodulate_enabled)
|
||||||
{
|
{
|
||||||
multicorrelator_fpga->enable_secondary_codes();
|
multicorrelator_fpga->enable_secondary_codes();
|
||||||
|
@ -45,12 +45,12 @@
|
|||||||
#include "tracking_discriminators.h"
|
#include "tracking_discriminators.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <gsl/gsl>
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
@ -40,6 +40,10 @@
|
|||||||
#ifndef GNSS_SDR_GPS_L1_CA_KF_TRACKING_CC_H
|
#ifndef GNSS_SDR_GPS_L1_CA_KF_TRACKING_CC_H
|
||||||
#define GNSS_SDR_GPS_L1_CA_KF_TRACKING_CC_H
|
#define GNSS_SDR_GPS_L1_CA_KF_TRACKING_CC_H
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "bayesian_estimation.h"
|
#include "bayesian_estimation.h"
|
||||||
#include "cpu_multicorrelator_real_codes.h"
|
#include "cpu_multicorrelator_real_codes.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
|
@ -134,6 +134,12 @@ if(OS_IS_MACOSX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(tracking_libs
|
||||||
|
PUBLIC -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_CLANG_TIDY)
|
if(ENABLE_CLANG_TIDY)
|
||||||
if(CLANG_TIDY_EXE)
|
if(CLANG_TIDY_EXE)
|
||||||
set_target_properties(tracking_libs
|
set_target_properties(tracking_libs
|
||||||
|
@ -45,6 +45,10 @@
|
|||||||
#ifndef GNSS_SDR_BAYESIAN_ESTIMATION_H_
|
#ifndef GNSS_SDR_BAYESIAN_ESTIMATION_H_
|
||||||
#define GNSS_SDR_BAYESIAN_ESTIMATION_H_
|
#define GNSS_SDR_BAYESIAN_ESTIMATION_H_
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <gnuradio/gr_complex.h>
|
#include <gnuradio/gr_complex.h>
|
||||||
|
|
||||||
|
@ -43,6 +43,10 @@
|
|||||||
#ifndef GNSS_SDR_NONLINEAR_TRACKING_H_
|
#ifndef GNSS_SDR_NONLINEAR_TRACKING_H_
|
||||||
#define GNSS_SDR_NONLINEAR_TRACKING_H_
|
#define GNSS_SDR_NONLINEAR_TRACKING_H_
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <gnuradio/gr_complex.h>
|
#include <gnuradio/gr_complex.h>
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "tcp_communication.h"
|
#include "tcp_communication.h"
|
||||||
#include "tcp_packet_data.h"
|
#include "tcp_packet_data.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <stdexcept>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
@ -87,7 +88,7 @@ void Tcp_Communication::send_receive_tcp_packet_galileo_e1(boost::array<float, N
|
|||||||
//! Control. The GNSS-SDR program ends if an error in a TCP packet is detected.
|
//! Control. The GNSS-SDR program ends if an error in a TCP packet is detected.
|
||||||
if (d_control_id_ != readbuf.data()[0])
|
if (d_control_id_ != readbuf.data()[0])
|
||||||
{
|
{
|
||||||
throw "Packet error!";
|
throw std::runtime_error("Packet error!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recover the variables received
|
// Recover the variables received
|
||||||
@ -122,7 +123,7 @@ void Tcp_Communication::send_receive_tcp_packet_gps_l1_ca(boost::array<float, NU
|
|||||||
//! Control. The GNSS-SDR program ends if an error in a TCP packet is detected.
|
//! Control. The GNSS-SDR program ends if an error in a TCP packet is detected.
|
||||||
if (d_control_id_ != readbuf.data()[0])
|
if (d_control_id_ != readbuf.data()[0])
|
||||||
{
|
{
|
||||||
throw "Packet error!";
|
throw std::runtime_error("Packet error!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recover the variables received
|
// Recover the variables received
|
||||||
|
@ -156,6 +156,12 @@ target_link_libraries(core_receiver
|
|||||||
Armadillo::armadillo
|
Armadillo::armadillo
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE MATCHES Rel)
|
||||||
|
target_compile_definitions(core_receiver
|
||||||
|
PRIVATE -DARMA_NO_BOUND_CHECKING=1
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Fix for Boost Asio < 1.70
|
# Fix for Boost Asio < 1.70
|
||||||
if(OS_IS_MACOSX)
|
if(OS_IS_MACOSX)
|
||||||
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (Boost_VERSION_STRING VERSION_LESS 1.70.0))
|
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (Boost_VERSION_STRING VERSION_LESS 1.70.0))
|
||||||
|
@ -32,6 +32,10 @@
|
|||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if ARMA_NO_BOUND_CHECKING
|
||||||
|
#define ARMA_NO_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "control_thread.h"
|
#include "control_thread.h"
|
||||||
#include "channel_event.h"
|
#include "channel_event.h"
|
||||||
#include "command_event.h"
|
#include "command_event.h"
|
||||||
|
@ -1470,6 +1470,15 @@ void GNSSFlowgraph::perform_hw_reset()
|
|||||||
{
|
{
|
||||||
// a stop acquisition command causes the SW to reset the HW
|
// a stop acquisition command causes the SW to reset the HW
|
||||||
std::shared_ptr<Channel> channel_ptr;
|
std::shared_ptr<Channel> channel_ptr;
|
||||||
|
|
||||||
|
for (uint32_t i = 0; i < channels_count_; i++)
|
||||||
|
{
|
||||||
|
channel_ptr = std::dynamic_pointer_cast<Channel>(channels_.at(i));
|
||||||
|
channel_ptr->tracking()->stop_tracking();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||||
|
|
||||||
channel_ptr = std::dynamic_pointer_cast<Channel>(channels_.at(0));
|
channel_ptr = std::dynamic_pointer_cast<Channel>(channels_.at(0));
|
||||||
channel_ptr->acquisition()->stop_acquisition();
|
channel_ptr->acquisition()->stop_acquisition();
|
||||||
}
|
}
|
||||||
|
@ -71,9 +71,7 @@ const uint32_t GPS_L1_CA_OPT_ACQ_FS_HZ = 2000000; //!< Sampling frequency that
|
|||||||
*/
|
*/
|
||||||
const double MAX_TOA_DELAY_MS = 20;
|
const double MAX_TOA_DELAY_MS = 20;
|
||||||
|
|
||||||
//#define NAVIGATION_SOLUTION_RATE_MS 1000 // this cannot go here
|
const double GPS_STARTOFFSET_MS = 68.802; // [ms] Initial signal travel time (only for old ls_pvt implementation)
|
||||||
//const double GPS_STARTOFFSET_ms = 68.802; //[ms] Initial sign. travel time (this cannot go here)
|
|
||||||
const double GPS_STARTOFFSET_MS = 60.0;
|
|
||||||
|
|
||||||
// OBSERVABLE HISTORY DEEP FOR INTERPOLATION
|
// OBSERVABLE HISTORY DEEP FOR INTERPOLATION
|
||||||
const int32_t GPS_L1_CA_HISTORY_DEEP = 100;
|
const int32_t GPS_L1_CA_HISTORY_DEEP = 100;
|
||||||
|
@ -31,14 +31,9 @@
|
|||||||
|
|
||||||
#include "gnss_signal_processing.h"
|
#include "gnss_signal_processing.h"
|
||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
TEST(CodeGenerationTest, CodeGenGPSL1Test)
|
TEST(CodeGenerationTest, CodeGenGPSL1Test)
|
||||||
|
@ -32,14 +32,9 @@
|
|||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "gnss_signal_processing.h"
|
#include "gnss_signal_processing.h"
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
|
#include <gsl/gsl>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DEFINE_int32(size_carrier_test, 100000, "Size of the arrays used for complex carrier testing");
|
DEFINE_int32(size_carrier_test, 100000, "Size of the arrays used for complex carrier testing");
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ TEST(CpuMulticorrelatorRealCodesTest, MeasureExecutionTime)
|
|||||||
//create the concurrent correlator threads
|
//create the concurrent correlator threads
|
||||||
for (int current_thread = 0; current_thread < current_max_threads; current_thread++)
|
for (int current_thread = 0; current_thread < current_max_threads; current_thread++)
|
||||||
{
|
{
|
||||||
thread_pool.push_back(std::thread(run_correlator_cpu_real_codes,
|
thread_pool.emplace_back(std::thread(run_correlator_cpu_real_codes,
|
||||||
correlator_pool[current_thread],
|
correlator_pool[current_thread],
|
||||||
d_rem_carrier_phase_rad,
|
d_rem_carrier_phase_rad,
|
||||||
d_carrier_phase_step_rad,
|
d_carrier_phase_step_rad,
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <iostream> // for operator<<
|
#include <iostream> // for operator<<
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <stdexcept>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
extern Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
extern Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
||||||
@ -303,7 +304,7 @@ arma::vec FrontEndCal::geodetic2ecef(double phi, double lambda, double h, const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
double FrontEndCal::estimate_doppler_from_eph(unsigned int PRN, double TOW, double lat, double lon, double height)
|
double FrontEndCal::estimate_doppler_from_eph(unsigned int PRN, double TOW, double lat, double lon, double height) noexcept(false)
|
||||||
{
|
{
|
||||||
int num_secs = 10;
|
int num_secs = 10;
|
||||||
double step_secs = 0.5;
|
double step_secs = 0.5;
|
||||||
@ -359,7 +360,7 @@ double FrontEndCal::estimate_doppler_from_eph(unsigned int PRN, double TOW, doub
|
|||||||
mean_Doppler_Hz = arma::mean(Doppler_Hz);
|
mean_Doppler_Hz = arma::mean(Doppler_Hz);
|
||||||
return mean_Doppler_Hz;
|
return mean_Doppler_Hz;
|
||||||
}
|
}
|
||||||
throw(1);
|
throw std::runtime_error("1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ public:
|
|||||||
* 3- Approximate receiver Latitude and Longitude (WGS-84)
|
* 3- Approximate receiver Latitude and Longitude (WGS-84)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
double estimate_doppler_from_eph(unsigned int PRN, double TOW, double lat, double lon, double height);
|
double estimate_doppler_from_eph(unsigned int PRN, double TOW, double lat, double lon, double height) noexcept(false);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This function models the Elonics E4000 + RTL2832 front-end
|
* \brief This function models the Elonics E4000 + RTL2832 front-end
|
||||||
|
@ -121,7 +121,6 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
int rx_message;
|
int rx_message;
|
||||||
~FrontEndCal_msg_rx() override; //!< Default destructor
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -155,9 +154,6 @@ FrontEndCal_msg_rx::FrontEndCal_msg_rx() : gr::block("FrontEndCal_msg_rx", gr::i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FrontEndCal_msg_rx::~FrontEndCal_msg_rx() = default;
|
|
||||||
|
|
||||||
|
|
||||||
void wait_message()
|
void wait_message()
|
||||||
{
|
{
|
||||||
while (!stop)
|
while (!stop)
|
||||||
@ -574,7 +570,7 @@ int main(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
std::cout << "Exception caught while reading ephemeris" << std::endl;
|
std::cout << "Exception caught while reading ephemeris" << std::endl;
|
||||||
}
|
}
|
||||||
catch (int ex)
|
catch (const std::exception& ex)
|
||||||
{
|
{
|
||||||
std::cout << " " << it.first << " " << it.second << " (Eph not found)" << std::endl;
|
std::cout << " " << it.first << " " << it.second << " (Eph not found)" << std::endl;
|
||||||
}
|
}
|
||||||
@ -623,7 +619,7 @@ int main(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
std::cout << "Exception caught while reading ephemeris" << std::endl;
|
std::cout << "Exception caught while reading ephemeris" << std::endl;
|
||||||
}
|
}
|
||||||
catch (int ex)
|
catch (const std::exception& ex)
|
||||||
{
|
{
|
||||||
std::cout << " " << it.first << " " << it.second - mean_f_if_Hz << " (Eph not found)" << std::endl;
|
std::cout << " " << it.first << " " << it.second - mean_f_if_Hz << " (Eph not found)" << std::endl;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user