mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 20:20:35 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
4549286113
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file galileo_e1_ls_pvt.cc
|
||||
* \file hybrid_ls_pvt.cc
|
||||
* \brief Implementation of a Least Squares Position, Velocity, and Time
|
||||
* (PVT) solver, based on K.Borre's Matlab receiver.
|
||||
* \author Javier Arribas, 2011. jarribas(at)cttc.es
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file galileo_e1_ls_pvt.h
|
||||
* \file hybrid_ls_pvt.h
|
||||
* \brief Interface of a Least Squares Position, Velocity, and Time (PVT)
|
||||
* solver, based on K.Borre's Matlab receiver.
|
||||
* \author Javier Arribas, 2011. jarribas(at)cttc.es
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file beidou_bi1_pcps_acquisition.h
|
||||
* \file beidou_b1i_pcps_acquisition.h
|
||||
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||
* Beidou B1I signals
|
||||
* \authors <ul>
|
||||
@ -8,7 +8,7 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
|
@ -77,12 +77,12 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||
uint32_t sampled_ms = configuration_->property(role + ".coherent_integration_time_ms", 4);
|
||||
acq_parameters.sampled_ms = sampled_ms;
|
||||
|
||||
acquire_pilot_ = configuration_->property(role + ".acquire_pilot", false); //will be true in future versions
|
||||
acquire_pilot_ = configuration_->property(role + ".acquire_pilot", false); // could be true in future versions
|
||||
|
||||
//--- Find number of samples per spreading code (4 ms) -----------------
|
||||
// Find number of samples per spreading code (4 ms)
|
||||
auto code_length = static_cast<uint32_t>(std::round(static_cast<double>(fs_in) / (GALILEO_E1_CODE_CHIP_RATE_HZ / GALILEO_E1_B_CODE_LENGTH_CHIPS)));
|
||||
|
||||
acq_parameters.code_length = code_length;
|
||||
|
||||
// The FPGA can only use FFT lengths that are a power of two.
|
||||
float nbits = ceilf(log2f((float)code_length * 2));
|
||||
uint32_t nsamples_total = pow(2, nbits);
|
||||
@ -254,6 +254,7 @@ void GalileoE1PcpsAmbiguousAcquisitionFpga::set_state(int state)
|
||||
acquisition_fpga_->set_state(state);
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisitionFpga::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (top_block)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* \file galileo_e1_pcps_ambiguous_acquisition_fpga.h
|
||||
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||
* Galileo E1 Signals
|
||||
* Galileo E1 Signals for the FPGA
|
||||
* \author Marc Majoral, 2019. mmajoral(at)cttc.es
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
@ -37,7 +37,7 @@
|
||||
#include "pcps_acquisition_fpga.h"
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
|
||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||
#include <cstddef> // for size_t
|
||||
#include <string>
|
||||
@ -46,8 +46,8 @@ class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
|
||||
/*!
|
||||
* \brief This class adapts a PCPS acquisition block to an
|
||||
* AcquisitionInterface for Galileo E1 Signals
|
||||
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
|
||||
* to an AcquisitionInterface for Galileo E1 Signals
|
||||
*/
|
||||
class GalileoE1PcpsAmbiguousAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
|
@ -36,7 +36,7 @@
|
||||
#include "acquisition_interface.h"
|
||||
#include "pcps_acquisition_fpga.h"
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
|
||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||
#include <cstddef> // for size_t
|
||||
#include <cstdint>
|
||||
@ -45,6 +45,11 @@
|
||||
class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
|
||||
|
||||
/*!
|
||||
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
|
||||
* to an AcquisitionInterface for Galileo E5a signals
|
||||
*/
|
||||
class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
@ -70,7 +75,7 @@ public:
|
||||
|
||||
inline size_t item_size() override
|
||||
{
|
||||
return sizeof(int);
|
||||
return sizeof(lv_16sc_t);
|
||||
}
|
||||
|
||||
void connect(gr::top_block_sptr top_block) override;
|
||||
@ -149,7 +154,6 @@ public:
|
||||
|
||||
private:
|
||||
ConfigurationInterface* configuration_;
|
||||
|
||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||
|
||||
|
@ -39,15 +39,15 @@
|
||||
#include "pcps_acquisition_fpga.h"
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
|
||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
#include <cstddef> // for size_t
|
||||
#include <string> // for string
|
||||
|
||||
class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
|
||||
/*!
|
||||
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
|
||||
* for GPS L1 C/A signals
|
||||
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
|
||||
* to an AcquisitionInterface for GPS L1 C/A signals
|
||||
*/
|
||||
class GpsL1CaPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
|
@ -1,14 +1,14 @@
|
||||
/*!
|
||||
* \file gps_l2_m_pcps_acquisition.cc
|
||||
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||
* GPS L2 M signals
|
||||
* \file gps_l2_m_pcps_acquisition_fpga.cc
|
||||
* \brief Adapts an FPGA-offloaded PCPS acquisition block
|
||||
* to an AcquisitionInterface for GPS L2 M signals
|
||||
* \authors <ul>
|
||||
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
||||
* <li> Javier Arribas, 2019. jarribas(at)cttc.es
|
||||
* </ul>
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
@ -87,14 +87,13 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||
std::string device_name = configuration_->property(role + ".devicename", default_device_name);
|
||||
acq_parameters.device_name = device_name;
|
||||
acq_parameters.samples_per_ms = nsamples_total / acq_parameters.sampled_ms;
|
||||
//acq_parameters.samples_per_ms = static_cast<int>(std::round(static_cast<double>(fs_in_) * 0.001));
|
||||
acq_parameters.samples_per_code = nsamples_total;
|
||||
|
||||
acq_parameters.downsampling_factor = configuration_->property(role + ".downsampling_factor", 1.0);
|
||||
acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14);
|
||||
acq_parameters.excludelimit = static_cast<uint32_t>(std::round(static_cast<double>(fs_in_) / GPS_L2_M_CODE_RATE_HZ));
|
||||
|
||||
// compute all the GPS L1 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time
|
||||
// compute all the GPS L2C PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time
|
||||
// a channel is assigned)
|
||||
auto* fft_if = new gr::fft::fft_complex(vector_length, true); // Direct FFT
|
||||
// allocate memory to compute all the PRNs and compute all the possible codes
|
||||
@ -132,7 +131,6 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||
}
|
||||
}
|
||||
|
||||
//acq_parameters
|
||||
acq_parameters.all_fft_codes = d_all_fft_codes_;
|
||||
|
||||
// temporary buffers that we can delete
|
||||
|
@ -1,14 +1,14 @@
|
||||
/*!
|
||||
* \file gps_l2_m_pcps_acquisition.h
|
||||
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||
* GPS L2 M signals
|
||||
* \file gps_l2_m_pcps_acquisition_fpga.h
|
||||
* \brief Adapts an FPGA-offloaded PCPS acquisition block
|
||||
* to an AcquisitionInterface for GPS L2 M signals
|
||||
* \authors <ul>
|
||||
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
||||
* <li> Javier Arribas, 2019. jarribas(at)cttc.es
|
||||
* </ul>
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
@ -39,17 +39,17 @@
|
||||
#include "pcps_acquisition_fpga.h"
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/runtime_types.h>
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
|
||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
#include <cstddef> // for size_t
|
||||
#include <string> // for string
|
||||
|
||||
class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
|
||||
/*!
|
||||
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
|
||||
* for GPS L2 M signals
|
||||
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
|
||||
* to an AcquisitionInterface for GPS L2 M signals
|
||||
*/
|
||||
class GpsL2MPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
@ -67,16 +67,16 @@ public:
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Returns "GPS_L2_M_PCPS_Acquisition"
|
||||
* \brief Returns "GPS_L2_M_PCPS_Acquisition_Fpga"
|
||||
*/
|
||||
inline std::string implementation() override
|
||||
{
|
||||
return "GPS_L2_M_PCPS_Acquisition";
|
||||
return "GPS_L2_M_PCPS_Acquisition_Fpga";
|
||||
}
|
||||
|
||||
inline size_t item_size() override
|
||||
{
|
||||
return sizeof(int);
|
||||
return sizeof(lv_16sc_t);
|
||||
}
|
||||
|
||||
void connect(gr::top_block_sptr top_block) override;
|
||||
@ -145,7 +145,6 @@ public:
|
||||
|
||||
private:
|
||||
ConfigurationInterface* configuration_;
|
||||
//pcps_acquisition_sptr acquisition_;
|
||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||
gr::blocks::stream_to_vector::sptr stream_to_vector_;
|
||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file gps_l5i pcps_acquisition_fpga.cc
|
||||
* \file gps_l5i_pcps_acquisition_fpga.cc
|
||||
* \brief Adapts a PCPS acquisition block to an Acquisition Interface for
|
||||
* GPS L5i signals for the FPGA
|
||||
* \authors <ul>
|
||||
@ -140,7 +140,6 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
||||
}
|
||||
}
|
||||
|
||||
//acq_parameters
|
||||
acq_parameters.all_fft_codes = d_all_fft_codes_;
|
||||
|
||||
// reference for the FPGA FFT-IFFT attenuation factor
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file GPS_L5i_PCPS_Acquisition_fpga.h
|
||||
* \file gps_l5i_pcps_acquisition_fpga.h
|
||||
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
|
||||
* GPS L5i signals for the FPGA
|
||||
* \authors <ul>
|
||||
@ -32,15 +32,15 @@
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_
|
||||
#define GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_
|
||||
#ifndef GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_
|
||||
#define GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_
|
||||
|
||||
#include "acquisition_interface.h"
|
||||
#include "complex_byte_to_float_x2.h"
|
||||
#include "pcps_acquisition_fpga.h"
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <gnuradio/blocks/stream_to_vector.h>
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
|
||||
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||
#include <cstddef> // for size_t
|
||||
#include <string>
|
||||
@ -49,8 +49,8 @@ class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
|
||||
/*!
|
||||
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
|
||||
* for GPS L5i signals
|
||||
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
|
||||
* to an AcquisitionInterface for GPS L5i signals
|
||||
*/
|
||||
class GpsL5iPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
@ -77,7 +77,7 @@ public:
|
||||
|
||||
inline size_t item_size() override
|
||||
{
|
||||
return sizeof(int);
|
||||
return sizeof(lv_16sc_t);
|
||||
}
|
||||
|
||||
void connect(gr::top_block_sptr top_block) override;
|
||||
@ -118,7 +118,7 @@ public:
|
||||
void init() override;
|
||||
|
||||
/*!
|
||||
* \brief Sets local code for GPS L2/M PCPS acquisition algorithm.
|
||||
* \brief Sets local code for GPS L5 PCPS acquisition algorithm.
|
||||
*/
|
||||
void set_local_code() override;
|
||||
|
||||
@ -165,4 +165,4 @@ private:
|
||||
float calculate_threshold(float pfa);
|
||||
};
|
||||
|
||||
#endif /* GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_ */
|
||||
#endif /* GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_ */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file pcps_acquisition_fine_doppler_acquisition_cc.cc
|
||||
* \file pcps_acquisition_fine_doppler_cc.cc
|
||||
* \brief This class implements a Parallel Code Phase Search Acquisition with multi-dwells and fine Doppler estimation
|
||||
* \authors <ul>
|
||||
* <li> Javier Arribas, 2013. jarribas(at)cttc.es
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file pcps_acquisition_fine_doppler_acquisition_cc.h
|
||||
* \file pcps_acquisition_fine_doppler_cc.h
|
||||
* \brief This class implements a Parallel Code Phase Search Acquisition with multi-dwells and fine Doppler estimation
|
||||
* for GPS L1 C/A signal
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file acq_conf.cc
|
||||
* \file acq_conf.h
|
||||
* \brief Class that contains all the configuration parameters for generic
|
||||
* acquisition block based on the PCPS algoritm.
|
||||
* \author Carles Fernandez, 2018. cfernandez(at)cttc.es
|
||||
|
@ -22,7 +22,6 @@ set(GNSS_SPLIBS_SOURCES
|
||||
gps_l2c_signal.cc
|
||||
gps_l5_signal.cc
|
||||
galileo_e1_signal_processing.cc
|
||||
gnss_sdr_sample_counter.cc
|
||||
gnss_signal_processing.cc
|
||||
gps_sdr_signal_processing.cc
|
||||
glonass_l1_signal_processing.cc
|
||||
@ -46,7 +45,6 @@ set(GNSS_SPLIBS_HEADERS
|
||||
gps_l2c_signal.h
|
||||
gps_l5_signal.h
|
||||
galileo_e1_signal_processing.h
|
||||
gnss_sdr_sample_counter.h
|
||||
gnss_signal_processing.h
|
||||
gps_sdr_signal_processing.h
|
||||
glonass_l1_signal_processing.h
|
||||
@ -67,29 +65,12 @@ set(GNSS_SPLIBS_HEADERS
|
||||
geofunctions.h
|
||||
)
|
||||
|
||||
if(ENABLE_FPGA)
|
||||
set(GNSS_SPLIBS_SOURCES
|
||||
${GNSS_SPLIBS_SOURCES}
|
||||
gnss_sdr_time_counter.cc
|
||||
gnss_sdr_fpga_sample_counter.cc
|
||||
)
|
||||
set(GNSS_SPLIBS_HEADERS
|
||||
${GNSS_SPLIBS_HEADERS}
|
||||
gnss_sdr_time_counter.h
|
||||
gnss_sdr_fpga_sample_counter.h
|
||||
)
|
||||
endif()
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
set(GNSS_SPLIBS_SOURCES ${GNSS_SPLIBS_SOURCES}
|
||||
opencl/fft_execute.cc # Needs OpenCL
|
||||
opencl/fft_setup.cc # Needs OpenCL
|
||||
opencl/fft_kernelstring.cc # Needs OpenCL
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
include_directories(${OPENCL_INCLUDE_DIRS})
|
||||
if(OS_IS_MACOSX)
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} "-framework OpenCL")
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file galileo_e5_signal_processing.cc
|
||||
* \file galileo_e5_signal_processing.h
|
||||
* \brief This library implements various functions for Galileo E5 signals such
|
||||
* as replica code generation
|
||||
* \author Marc Sales, 2014. marcsales92(at)gmail.com
|
||||
|
@ -30,6 +30,7 @@
|
||||
*/
|
||||
|
||||
#include "geofunctions.h"
|
||||
#include <cmath> // for sin, cos, sqrt, abs, pow
|
||||
|
||||
const double STRP_PI = 3.1415926535898; // Pi as defined in IS-GPS-200E
|
||||
|
||||
|
@ -28,13 +28,13 @@
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
#include "gnss_sdr_create_directory.h"
|
||||
#include <boost/filesystem/operations.hpp> // for create_directories, exists
|
||||
#include <boost/filesystem/path.hpp> // for path, operator<<
|
||||
#include <boost/filesystem/path_traits.hpp> // for filesystem
|
||||
#include <fstream>
|
||||
|
||||
#include <boost/system/error_code.hpp> // for error_code
|
||||
#include <exception> // for exception
|
||||
#include <fstream> // for ofstream
|
||||
|
||||
bool gnss_sdr_create_directory(const std::string& foldername)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* \file rtklib_sbas.h
|
||||
* \brief sbas functions
|
||||
* \file rtklib_stream.h
|
||||
* \brief streaming functions
|
||||
* \authors <ul>
|
||||
* <li> 2007-2013, T. Takasu
|
||||
* <li> 2017, Javier Arribas
|
||||
|
@ -1,6 +1,5 @@
|
||||
/*!
|
||||
* \file udp_signal_source.cc
|
||||
*
|
||||
* \file custom_udp_signal_source.cc
|
||||
* \brief Receives ip frames containing samples in UDP frame encapsulation
|
||||
* using a high performance packet capture library (libpcap)
|
||||
* \author Javier Arribas jarribas (at) cttc.es
|
||||
|
@ -1,6 +1,5 @@
|
||||
/*!
|
||||
* \file udp_signal_source.h
|
||||
*
|
||||
* \file custom_udp_signal_source.h
|
||||
* \brief Receives ip frames containing samples in UDP frame encapsulation
|
||||
* using a high performance packet capture library (libpcap)
|
||||
* \author Javier Arribas jarribas (at) cttc.es
|
||||
|
@ -39,10 +39,10 @@
|
||||
|
||||
#include "dll_pll_veml_tracking_fpga.h"
|
||||
#include "tracking_interface.h"
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_...
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr, basic_block_sptr
|
||||
#include <cstddef> // for size_t
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <cstdint> // for uint32_t
|
||||
#include <string> // for string
|
||||
|
||||
class Gnss_Synchro;
|
||||
class ConfigurationInterface;
|
||||
@ -101,7 +101,6 @@ public:
|
||||
*/
|
||||
void stop_tracking() override;
|
||||
|
||||
|
||||
private:
|
||||
dll_pll_veml_tracking_fpga_sptr tracking_fpga_sc;
|
||||
uint32_t channel_;
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include "dll_pll_veml_tracking_fpga.h"
|
||||
#include "tracking_interface.h"
|
||||
#include <gnuradio/runtime_types.h> // for basic_block_sptr
|
||||
#include <cstdint>
|
||||
#include <cstdint> // For uint32_t
|
||||
#include <stddef.h> // for size_t
|
||||
#include <string>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* \file gps_l2_m_dll_pll_tracking_fpga.cc
|
||||
* \brief Implementation of an adapter of a DLL+PLL tracking loop block
|
||||
* for GPS L2C to a TrackingInterface
|
||||
* for GPS L2C to a TrackingInterface for the FPGA
|
||||
* \author Javier Arribas, 2019. jarribas(at)cttc.es
|
||||
*
|
||||
* Code DLL + carrier PLL according to the algorithms described in:
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* \file gps_l2_m_dll_pll_tracking_fpga.h
|
||||
* \brief Interface of an adapter of a DLL+PLL tracking loop block
|
||||
* for GPS L2C to a TrackingInterface
|
||||
* for GPS L2C to a TrackingInterface for the FPGA
|
||||
* \author Marc Majoral, 2019, mmajoral(at)cttc.es
|
||||
*
|
||||
* Code DLL + carrier PLL according to the algorithms described in:
|
||||
@ -11,7 +11,7 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
@ -34,8 +34,8 @@
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
|
||||
#define GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
|
||||
#ifndef GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_
|
||||
#define GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_
|
||||
|
||||
#include "dll_pll_veml_tracking_fpga.h"
|
||||
#include "tracking_interface.h"
|
||||
@ -92,13 +92,13 @@ public:
|
||||
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
|
||||
|
||||
void start_tracking() override;
|
||||
|
||||
/*!
|
||||
* \brief Stop running tracking
|
||||
*/
|
||||
void stop_tracking() override;
|
||||
|
||||
private:
|
||||
//dll_pll_veml_tracking_sptr tracking_;
|
||||
dll_pll_veml_tracking_fpga_sptr tracking_fpga_sc;
|
||||
unsigned int channel_;
|
||||
std::string role_;
|
||||
@ -107,4 +107,4 @@ private:
|
||||
int* d_ca_codes;
|
||||
};
|
||||
|
||||
#endif // GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
|
||||
#endif // GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* \file gps_l5_dll_pll_tracking_fpga.cc
|
||||
* \brief Interface of an adapter of a DLL+PLL tracking loop block
|
||||
* for GPS L5 to a TrackingInterface
|
||||
* for GPS L5 to a TrackingInterface for the FPGA
|
||||
* \author Marc Majoral, 2019. mmajoral(at)cttc.cat
|
||||
* Javier Arribas, 2019. jarribas(at)cttc.es
|
||||
*
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* \file gps_l5_dll_pll_tracking_fpga.h
|
||||
* \brief Interface of an adapter of a DLL+PLL tracking loop block
|
||||
* for GPS L5 to a TrackingInterface
|
||||
* for GPS L5 to a TrackingInterface for the FPGA
|
||||
* \author Marc Majoral, 2019. mmajoral(at)cttc.cat
|
||||
* Javier Arribas, 2019. jarribas(at)cttc.es
|
||||
*
|
||||
@ -66,10 +66,10 @@ public:
|
||||
return role_;
|
||||
}
|
||||
|
||||
//! Returns "GPS_L5_DLL_PLL_Tracking"
|
||||
//! Returns "GPS_L5_DLL_PLL_Tracking_Fpga"
|
||||
inline std::string implementation() override
|
||||
{
|
||||
return "GPS_L5_DLL_PLL_Tracking";
|
||||
return "GPS_L5_DLL_PLL_Tracking_Fpga";
|
||||
}
|
||||
|
||||
inline size_t item_size() override
|
||||
@ -94,6 +94,7 @@ public:
|
||||
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
|
||||
|
||||
void start_tracking() override;
|
||||
|
||||
/*!
|
||||
* \brief Stop running tracking
|
||||
*/
|
||||
|
@ -23,6 +23,7 @@ set(CORE_LIBS_SOURCES
|
||||
INIReader.cc
|
||||
string_converter.cc
|
||||
gnss_sdr_supl_client.cc
|
||||
gnss_sdr_sample_counter.cc
|
||||
)
|
||||
|
||||
set(CORE_LIBS_HEADERS
|
||||
@ -30,8 +31,22 @@ set(CORE_LIBS_HEADERS
|
||||
INIReader.h
|
||||
string_converter.h
|
||||
gnss_sdr_supl_client.h
|
||||
gnss_sdr_sample_counter.h
|
||||
)
|
||||
|
||||
if(ENABLE_FPGA)
|
||||
set(CORE_LIBS_SOURCES
|
||||
${CORE_LIBS_SOURCES}
|
||||
gnss_sdr_fpga_sample_counter.cc
|
||||
gnss_sdr_time_counter.cc
|
||||
)
|
||||
set(CORE_LIBS_HEADERS
|
||||
${CORE_LIBS_HEADERS}
|
||||
gnss_sdr_fpga_sample_counter.h
|
||||
gnss_sdr_time_counter.h
|
||||
)
|
||||
endif()
|
||||
|
||||
list(SORT CORE_LIBS_HEADERS)
|
||||
list(SORT CORE_LIBS_SOURCES)
|
||||
|
||||
@ -42,6 +57,7 @@ add_library(core_libs ${CORE_LIBS_SOURCES} ${CORE_LIBS_HEADERS})
|
||||
target_link_libraries(core_libs
|
||||
PUBLIC
|
||||
Boost::boost
|
||||
Gnuradio::runtime
|
||||
core_libs_supl
|
||||
core_system_parameters
|
||||
PRIVATE
|
||||
@ -51,6 +67,7 @@ target_link_libraries(core_libs
|
||||
Pugixml::pugixml
|
||||
)
|
||||
|
||||
|
||||
if(ENABLE_CLANG_TIDY)
|
||||
if(CLANG_TIDY_EXE)
|
||||
set_target_properties(core_libs
|
||||
|
@ -28,8 +28,9 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef GNSS_SDR_SAMPLE_COUNTER_H_
|
||||
#define GNSS_SDR_SAMPLE_COUNTER_H_
|
||||
|
||||
#ifndef GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_
|
||||
#define GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_
|
||||
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/sync_decimator.h>
|
||||
@ -73,4 +74,4 @@ public:
|
||||
gr_vector_void_star &output_items);
|
||||
};
|
||||
|
||||
#endif /*GNSS_SDR_SAMPLE_COUNTER_H_*/
|
||||
#endif /*GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_*/
|
@ -28,8 +28,9 @@
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef GNSS_SDR_TIME_COUNTER_H_
|
||||
#define GNSS_SDR_TIME_COUNTER_H_
|
||||
|
||||
#ifndef GNSS_SDR_GNSS_SDR_TIME_COUNTER_H_
|
||||
#define GNSS_SDR_GNSS_SDR_TIME_COUNTER_H_
|
||||
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/block.h>
|
||||
@ -55,11 +56,11 @@ private:
|
||||
bool flag_days; // True if the receiver has been running for at least 1 day
|
||||
uint32_t current_days; // Receiver time in days since the beginning of the run
|
||||
int32_t report_interval_ms;
|
||||
friend gnss_sdr_time_counter_sptr gnss_sdr_make_time_counter();
|
||||
|
||||
public:
|
||||
friend gnss_sdr_time_counter_sptr gnss_sdr_make_time_counter();
|
||||
int general_work(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items __attribute__((unused)),
|
||||
gr_vector_const_void_star &input_items __attribute__((unused)), gr_vector_void_star &output_items);
|
||||
};
|
||||
|
||||
#endif /*GNSS_SDR_SAMPLE_COUNTER_H_*/
|
||||
#endif /*GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_*/
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file beidou_b1I.h
|
||||
* \file Beidou_B1I.h
|
||||
* \brief Defines system parameters for BeiDou B1I signal and DNAV data
|
||||
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
|
||||
* \author Damian Miralles, 2018. dmiralles2009@gmail.com
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*!
|
||||
* \file Galileo_E5a.h
|
||||
* \brief Defines system parameters for Galileo E5a signal and NAV data
|
||||
* \author Marc Sales, 2014. marcsales92@gmail.com
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \file gps_cnav_utc_model.h
|
||||
* \file gps_cnav_utc_model.cc
|
||||
* \brief Interface of a GPS CNAV UTC MODEL storage
|
||||
* \author Javier Arribas, 2015. jarribas(at)cttc.es
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file gps_utc_model.h
|
||||
* \file gps_cnav_utc_model.h
|
||||
* \brief Interface of a GPS UTC MODEL storage
|
||||
* \author Javier Arribas, 2013. jarribas(at)cttc.es
|
||||
*
|
||||
|
@ -550,7 +550,7 @@ endif()
|
||||
set(CMAKE_CTEST_COMMAND ctest -V)
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
|
||||
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(flowgraph_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_flowgraph_test.cc
|
||||
@ -589,7 +589,7 @@ endif()
|
||||
|
||||
|
||||
#########################################################
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(gnss_block_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/file_signal_source_test.cc
|
||||
@ -640,7 +640,7 @@ endif()
|
||||
|
||||
|
||||
#########################################################
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(gnuradio_block_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc
|
||||
@ -696,7 +696,7 @@ set_property(TEST matio_test PROPERTY TIMEOUT 30)
|
||||
|
||||
|
||||
#########################################################
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(acq_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_test.cc
|
||||
@ -734,7 +734,7 @@ endif()
|
||||
|
||||
|
||||
#########################################################
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(trk_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/galileo_e1_dll_pll_veml_tracking_test.cc
|
||||
@ -773,7 +773,7 @@ endif()
|
||||
|
||||
#########################################################
|
||||
|
||||
if(NOT ENABLE_PACKAGING)
|
||||
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
||||
add_executable(control_thread_test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/control_message_factory_test.cc
|
||||
@ -806,7 +806,11 @@ endif()
|
||||
|
||||
if(ENABLE_PACKAGING)
|
||||
add_dependencies(check matio_test)
|
||||
else()
|
||||
if(ENABLE_FPGA)
|
||||
add_dependencies(check matio_test)
|
||||
else()
|
||||
add_dependencies(check control_thread_test flowgraph_test gnss_block_test
|
||||
gnuradio_block_test acq_test trk_test matio_test)
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file tracking_tests_flags.h
|
||||
* \file observable_tests_flags.h
|
||||
* \brief Helper file for unit testing
|
||||
* \author Javier Arribas, 2018. jarribas(at)cttc.es
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file signal_generator_flags.h
|
||||
* \file position_test_flags.h
|
||||
* \brief Helper file for unit testing
|
||||
* \author Javier Arribas, 2018. jarribas(at)cttc.es
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file tlm_dump_reader.h
|
||||
* \file true_observables_reader.h
|
||||
* \brief Helper file for unit testing
|
||||
* \author Javier Arribas, 2017. jarribas(at)cttc.es
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user