mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 12:10:34 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
a60a18e97b
@ -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
|
||||||
|
@ -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>
|
||||||
|
@ -94,6 +94,7 @@ Rtklib_Solver::Rtklib_Solver(int nchannels, std::string dump_filename, bool flag
|
|||||||
d_dump_filename = std::move(dump_filename);
|
d_dump_filename = std::move(dump_filename);
|
||||||
d_flag_dump_enabled = flag_dump_to_file;
|
d_flag_dump_enabled = flag_dump_to_file;
|
||||||
d_flag_dump_mat_enabled = flag_dump_to_mat;
|
d_flag_dump_mat_enabled = flag_dump_to_mat;
|
||||||
|
count_valid_position = 0;
|
||||||
this->set_averaging_flag(false);
|
this->set_averaging_flag(false);
|
||||||
rtk_ = rtk;
|
rtk_ = rtk;
|
||||||
|
|
||||||
@ -442,9 +443,9 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
|||||||
int valid_obs = 0; // valid observations counter
|
int valid_obs = 0; // valid observations counter
|
||||||
int glo_valid_obs = 0; // GLONASS L1/L2 valid observations counter
|
int glo_valid_obs = 0; // GLONASS L1/L2 valid observations counter
|
||||||
|
|
||||||
obs_data.fill({});
|
std::array<obsd_t, MAXOBS> obs_data{};
|
||||||
eph_data.fill({});
|
std::vector<eph_t> eph_data(MAXOBS);
|
||||||
geph_data.fill({});
|
std::vector<geph_t> geph_data(MAXOBS);
|
||||||
|
|
||||||
// Workaround for NAV/CNAV clash problem
|
// Workaround for NAV/CNAV clash problem
|
||||||
bool gps_dual_band = false;
|
bool gps_dual_band = false;
|
||||||
|
@ -126,6 +126,8 @@ public:
|
|||||||
Beidou_Dnav_Iono beidou_dnav_iono;
|
Beidou_Dnav_Iono beidou_dnav_iono;
|
||||||
std::map<int, Beidou_Dnav_Almanac> beidou_dnav_almanac_map;
|
std::map<int, Beidou_Dnav_Almanac> beidou_dnav_almanac_map;
|
||||||
|
|
||||||
|
int count_valid_position;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
rtk_t rtk_{};
|
rtk_t rtk_{};
|
||||||
std::string d_dump_filename;
|
std::string d_dump_filename;
|
||||||
@ -135,9 +137,6 @@ private:
|
|||||||
bool d_flag_dump_mat_enabled;
|
bool d_flag_dump_mat_enabled;
|
||||||
int d_nchannels; // Number of available channels for positioning
|
int d_nchannels; // Number of available channels for positioning
|
||||||
std::array<double, 4> dop_{};
|
std::array<double, 4> dop_{};
|
||||||
std::array<obsd_t, MAXOBS> obs_data{};
|
|
||||||
std::array<eph_t, MAXOBS> eph_data{};
|
|
||||||
std::array<geph_t, MAXOBS> geph_data{};
|
|
||||||
Monitor_Pvt monitor_pvt{};
|
Monitor_Pvt monitor_pvt{};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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,23 +92,11 @@ 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("
|
PUBLIC
|
||||||
#include <span>
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs/gsl/include
|
||||||
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
|
|
||||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/gsl/include
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(algorithms_libs
|
target_link_libraries(algorithms_libs
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Armadillo::armadillo
|
Armadillo::armadillo
|
||||||
@ -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.
|
||||||
|
@ -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,15 +57,15 @@
|
|||||||
#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 <matio.h> // for Mat_VarCreate
|
#include <gsl/gsl>
|
||||||
#include <pmt/pmt_sugar.h> // for mp
|
#include <matio.h> // for Mat_VarCreate
|
||||||
|
#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 <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,14 +49,14 @@
|
|||||||
#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 <matio.h> // for Mat_VarCreate
|
#include <gsl/gsl>
|
||||||
#include <pmt/pmt_sugar.h> // for mp
|
#include <matio.h> // for Mat_VarCreate
|
||||||
|
#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>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
@ -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 <chrono>
|
|
||||||
#include <complex>
|
|
||||||
#if HAS_SPAN
|
|
||||||
#include <span>
|
|
||||||
namespace gsl = std;
|
|
||||||
#else
|
|
||||||
#include <gsl/gsl>
|
#include <gsl/gsl>
|
||||||
#endif
|
#include <chrono>
|
||||||
|
#include <complex>e
|
||||||
|
|
||||||
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");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user