mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 20:20:35 +00:00
Improve includes (IWYU)
This commit is contained in:
parent
361a5d471d
commit
5b8ab9f591
@ -92,15 +92,17 @@ add_library(acquisition_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS})
|
|||||||
|
|
||||||
target_link_libraries(acquisition_adapters
|
target_link_libraries(acquisition_adapters
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Gnuradio::blocks
|
|
||||||
algorithms_libs
|
algorithms_libs
|
||||||
gnss_sdr_flags
|
gnss_sdr_flags
|
||||||
acquisition_gr_blocks
|
acquisition_gr_blocks
|
||||||
core_system_parameters
|
core_system_parameters
|
||||||
|
Gnuradio::blocks
|
||||||
|
Volk::volk
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Boost::boost
|
Boost::boost
|
||||||
Gflags::gflags
|
Gflags::gflags
|
||||||
Glog::glog
|
Glog::glog
|
||||||
|
Gnuradio::fft
|
||||||
Volkgnsssdr::volkgnsssdr
|
Volkgnsssdr::volkgnsssdr
|
||||||
acquisition_libs
|
acquisition_libs
|
||||||
)
|
)
|
||||||
|
@ -34,7 +34,15 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "galileo_e1_signal_processing.h"
|
#include "galileo_e1_signal_processing.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/fft/fft.h> // for fft_complex
|
||||||
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <cmath> // for abs, pow, floor
|
||||||
|
#include <complex> // for complex
|
||||||
|
#include <cstring> // for memcpy
|
||||||
|
|
||||||
|
|
||||||
GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||||
|
@ -34,14 +34,15 @@
|
|||||||
|
|
||||||
#include "acquisition_interface.h"
|
#include "acquisition_interface.h"
|
||||||
#include "complex_byte_to_float_x2.h"
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||||
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
|
#include <cstddef> // for size_t
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -34,9 +34,15 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "galileo_e5_signal_processing.h"
|
#include "galileo_e5_signal_processing.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include "gnss_synchro.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
#include <gnuradio/fft/fft.h> // for fft_complex
|
||||||
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <cmath> // for abs, pow, floor
|
||||||
|
#include <complex> // for complex
|
||||||
|
#include <cstring> // for strcpy, memcpy
|
||||||
|
|
||||||
|
|
||||||
GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||||
|
@ -34,12 +34,15 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "acquisition_interface.h"
|
#include "acquisition_interface.h"
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||||
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
|
#include <cstddef> // for size_t
|
||||||
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface
|
class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface
|
||||||
|
@ -36,10 +36,16 @@
|
|||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
#include "gps_sdr_signal_processing.h"
|
#include "gps_sdr_signal_processing.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/fft/fft.h>
|
#include <gnuradio/fft/fft.h>
|
||||||
#include <new>
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <cmath> // for abs, pow, floor
|
||||||
|
#include <complex> // for complex
|
||||||
|
#include <cstring> // for memcpy
|
||||||
|
|
||||||
|
|
||||||
#define NUM_PRNs 32
|
#define NUM_PRNs 32
|
||||||
|
@ -36,11 +36,13 @@
|
|||||||
#define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FPGA_H_
|
#define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FPGA_H_
|
||||||
|
|
||||||
#include "acquisition_interface.h"
|
#include "acquisition_interface.h"
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.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 <string>
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -35,9 +35,16 @@
|
|||||||
#include "GPS_L2C.h"
|
#include "GPS_L2C.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
#include "gps_l2c_signal.h"
|
#include "gps_l2c_signal.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/fft/fft.h> // for fft_complex
|
||||||
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <cmath> // for abs, pow, floor
|
||||||
|
#include <complex> // for complex
|
||||||
|
#include <cstring> // for memcpy
|
||||||
|
|
||||||
#define NUM_PRNs 32
|
#define NUM_PRNs 32
|
||||||
|
|
||||||
|
@ -36,14 +36,15 @@
|
|||||||
|
|
||||||
#include "acquisition_interface.h"
|
#include "acquisition_interface.h"
|
||||||
#include "complex_byte_to_float_x2.h"
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <gnuradio/runtime_types.h>
|
||||||
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
|
#include <cstddef>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -36,9 +36,16 @@
|
|||||||
#include "GPS_L5.h"
|
#include "GPS_L5.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
#include "gps_l5_signal.h"
|
#include "gps_l5_signal.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/fft/fft.h> // for fft_complex
|
||||||
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <cmath> // for abs, pow, floor
|
||||||
|
#include <complex> // for complex
|
||||||
|
#include <cstring> // for memcpy
|
||||||
|
|
||||||
#define NUM_PRNs 32
|
#define NUM_PRNs 32
|
||||||
|
|
||||||
|
@ -37,14 +37,15 @@
|
|||||||
|
|
||||||
#include "acquisition_interface.h"
|
#include "acquisition_interface.h"
|
||||||
#include "complex_byte_to_float_x2.h"
|
#include "complex_byte_to_float_x2.h"
|
||||||
#include "gnss_synchro.h"
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include <gnuradio/blocks/float_to_complex.h>
|
#include <gnuradio/blocks/float_to_complex.h>
|
||||||
#include <gnuradio/blocks/stream_to_vector.h>
|
#include <gnuradio/blocks/stream_to_vector.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
|
||||||
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
|
#include <cstddef> // for size_t
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
class ConfigurationInterface;
|
class ConfigurationInterface;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -33,9 +33,15 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
|
#include "gnss_synchro.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <utility>
|
#include <pmt/pmt.h> // for from_long
|
||||||
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
|
#include <cmath> // for ceil
|
||||||
|
#include <iostream> // for operator<<
|
||||||
|
#include <utility> // for move
|
||||||
|
|
||||||
|
|
||||||
#define AQ_DOWNSAMPLING_DELAY 40 // delay due to the downsampling filter in the acquisition
|
#define AQ_DOWNSAMPLING_DELAY 40 // delay due to the downsampling filter in the acquisition
|
||||||
|
|
||||||
@ -133,7 +139,7 @@ void pcps_acquisition_fpga::set_state(int32_t state)
|
|||||||
void pcps_acquisition_fpga::send_positive_acquisition()
|
void pcps_acquisition_fpga::send_positive_acquisition()
|
||||||
{
|
{
|
||||||
// Declare positive acquisition using a message port
|
// Declare positive acquisition using a message port
|
||||||
//0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
|
// 0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
|
||||||
DLOG(INFO) << "positive acquisition"
|
DLOG(INFO) << "positive acquisition"
|
||||||
<< ", satellite " << d_gnss_synchro->System << " " << d_gnss_synchro->PRN
|
<< ", satellite " << d_gnss_synchro->System << " " << d_gnss_synchro->PRN
|
||||||
<< ", sample_stamp " << d_sample_counter
|
<< ", sample_stamp " << d_sample_counter
|
||||||
|
@ -42,8 +42,15 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "fpga_acquisition.h"
|
#include "fpga_acquisition.h"
|
||||||
#include "gnss_synchro.h"
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h> // for block
|
||||||
|
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
||||||
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
|
#include <cstdint> // for uint32_t
|
||||||
|
#include <memory> // for shared_ptr
|
||||||
|
#include <string> // for string
|
||||||
|
|
||||||
|
class Gnss_Synchro;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -78,9 +85,7 @@ pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_);
|
|||||||
class pcps_acquisition_fpga : public gr::block
|
class pcps_acquisition_fpga : public gr::block
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
friend pcps_acquisition_fpga_sptr
|
friend pcps_acquisition_fpga_sptr pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_);
|
||||||
|
|
||||||
pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_);
|
|
||||||
|
|
||||||
pcps_acquisition_fpga(pcpsconf_fpga_t conf_);
|
pcps_acquisition_fpga(pcpsconf_fpga_t conf_);
|
||||||
|
|
||||||
@ -115,10 +120,10 @@ public:
|
|||||||
~pcps_acquisition_fpga();
|
~pcps_acquisition_fpga();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
|
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
|
||||||
* to exchange synchronization data between acquisition and tracking blocks.
|
* to exchange synchronization data between acquisition and tracking blocks.
|
||||||
* \param p_gnss_synchro Satellite information shared by the processing blocks.
|
* \param p_gnss_synchro Satellite information shared by the processing blocks.
|
||||||
*/
|
*/
|
||||||
inline void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro)
|
inline void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro)
|
||||||
{
|
{
|
||||||
d_gnss_synchro = p_gnss_synchro;
|
d_gnss_synchro = p_gnss_synchro;
|
||||||
@ -133,53 +138,53 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Initializes acquisition algorithm.
|
* \brief Initializes acquisition algorithm.
|
||||||
*/
|
*/
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets local code for PCPS acquisition algorithm.
|
* \brief Sets local code for PCPS acquisition algorithm.
|
||||||
* \param code - Pointer to the PRN code.
|
* \param code - Pointer to the PRN code.
|
||||||
*/
|
*/
|
||||||
void set_local_code();
|
void set_local_code();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief If set to 1, ensures that acquisition starts at the
|
* \brief If set to 1, ensures that acquisition starts at the
|
||||||
* first available sample.
|
* first available sample.
|
||||||
* \param state - int=1 forces start of acquisition
|
* \param state - int=1 forces start of acquisition
|
||||||
*/
|
*/
|
||||||
void set_state(int32_t state);
|
void set_state(int32_t state);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Starts acquisition algorithm, turning from standby mode to
|
* \brief Starts acquisition algorithm, turning from standby mode to
|
||||||
* active mode
|
* active mode
|
||||||
* \param active - bool that activates/deactivates the block.
|
* \param active - bool that activates/deactivates the block.
|
||||||
*/
|
*/
|
||||||
void set_active(bool active);
|
void set_active(bool active);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set acquisition channel unique ID
|
* \brief Set acquisition channel unique ID
|
||||||
* \param channel - receiver channel.
|
* \param channel - receiver channel.
|
||||||
*/
|
*/
|
||||||
inline void set_channel(uint32_t channel)
|
inline void set_channel(uint32_t channel)
|
||||||
{
|
{
|
||||||
d_channel = channel;
|
d_channel = channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set statistics threshold of PCPS algorithm.
|
* \brief Set statistics threshold of PCPS algorithm.
|
||||||
* \param threshold - Threshold for signal detection (check \ref Navitec2012,
|
* \param threshold - Threshold for signal detection (check \ref Navitec2012,
|
||||||
* Algorithm 1, for a definition of this threshold).
|
* Algorithm 1, for a definition of this threshold).
|
||||||
*/
|
*/
|
||||||
inline void set_threshold(float threshold)
|
inline void set_threshold(float threshold)
|
||||||
{
|
{
|
||||||
d_threshold = threshold;
|
d_threshold = threshold;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set maximum Doppler grid search
|
* \brief Set maximum Doppler grid search
|
||||||
* \param doppler_max - Maximum Doppler shift considered in the grid search [Hz].
|
* \param doppler_max - Maximum Doppler shift considered in the grid search [Hz].
|
||||||
*/
|
*/
|
||||||
inline void set_doppler_max(uint32_t doppler_max)
|
inline void set_doppler_max(uint32_t doppler_max)
|
||||||
{
|
{
|
||||||
acq_parameters.doppler_max = doppler_max;
|
acq_parameters.doppler_max = doppler_max;
|
||||||
@ -187,22 +192,15 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set Doppler steps for the grid search
|
* \brief Set Doppler steps for the grid search
|
||||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||||
*/
|
*/
|
||||||
inline void set_doppler_step(uint32_t doppler_step)
|
inline void set_doppler_step(uint32_t doppler_step)
|
||||||
{
|
{
|
||||||
d_doppler_step = doppler_step;
|
d_doppler_step = doppler_step;
|
||||||
acquisition_fpga->set_doppler_step(doppler_step);
|
acquisition_fpga->set_doppler_step(doppler_step);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
|
||||||
*/
|
|
||||||
int general_work(int noutput_items, gr_vector_int& ninput_items,
|
|
||||||
gr_vector_const_void_star& input_items,
|
|
||||||
gr_vector_void_star& output_items);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This funciton triggers a HW reset of the FPGA PL.
|
* \brief This funciton triggers a HW reset of the FPGA PL.
|
||||||
*/
|
*/
|
||||||
@ -212,6 +210,13 @@ public:
|
|||||||
* \brief This funciton is only used for the unit tests
|
* \brief This funciton is only used for the unit tests
|
||||||
*/
|
*/
|
||||||
void read_fpga_total_scale_factor(uint32_t* total_scale_factor, uint32_t* fw_scale_factor);
|
void read_fpga_total_scale_factor(uint32_t* total_scale_factor, uint32_t* fw_scale_factor);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||||
|
*/
|
||||||
|
int general_work(int noutput_items, gr_vector_int& ninput_items,
|
||||||
|
gr_vector_const_void_star& input_items,
|
||||||
|
gr_vector_void_star& output_items);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* GNSS_SDR_PCPS_ACQUISITION_FPGA_H_*/
|
#endif /* GNSS_SDR_PCPS_ACQUISITION_FPGA_H_*/
|
||||||
|
@ -37,7 +37,6 @@ add_library(acquisition_libs
|
|||||||
target_link_libraries(acquisition_libs
|
target_link_libraries(acquisition_libs
|
||||||
PUBLIC
|
PUBLIC
|
||||||
Volk::volk
|
Volk::volk
|
||||||
Gnuradio::fft
|
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Gflags::gflags
|
Gflags::gflags
|
||||||
Glog::glog
|
Glog::glog
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file fpga_acquisition.cc
|
* \file fpga_acquisition.cc
|
||||||
* \brief High optimized FPGA vector correlator class
|
* \brief Highly optimized FPGA vector correlator class
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
|
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* Class that controls and executes a high optimized acquisition HW
|
* Class that controls and executes a highly optimized acquisition HW
|
||||||
* accelerator in the FPGA
|
* accelerator in the FPGA
|
||||||
*
|
*
|
||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2018 (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
|
* GNSS-SDR is a software defined Global Navigation
|
||||||
* Satellite Systems receiver
|
* Satellite Systems receiver
|
||||||
@ -34,13 +34,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fpga_acquisition.h"
|
#include "fpga_acquisition.h"
|
||||||
#include "GPS_L1_CA.h"
|
#include "GPS_L1_CA.h" // for GPS_TWO_PI
|
||||||
#include "gps_sdr_signal_processing.h"
|
#include <glog/logging.h> // for LOG
|
||||||
#include <glog/logging.h>
|
#include <cmath> // for log2
|
||||||
#include <fcntl.h> // libraries used by the GIPO
|
#include <fcntl.h> // libraries used by the GIPO
|
||||||
#include <iostream>
|
#include <iostream> // for operator<<
|
||||||
#include <sys/mman.h> // libraries used by the GIPO
|
#include <sys/mman.h> // libraries used by the GIPO
|
||||||
#include <utility>
|
#include <unistd.h> // for write, close, read, ssize_t
|
||||||
|
#include <utility> // for move
|
||||||
|
|
||||||
|
|
||||||
// FPGA register parameters
|
// FPGA register parameters
|
||||||
@ -75,26 +76,6 @@
|
|||||||
})
|
})
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool Fpga_Acquisition::init()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Fpga_Acquisition::set_local_code(uint32_t PRN)
|
|
||||||
{
|
|
||||||
// select the code with the chosen PRN
|
|
||||||
d_PRN = PRN;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Fpga_Acquisition::write_local_code()
|
|
||||||
{
|
|
||||||
Fpga_Acquisition::fpga_configure_acquisition_local_code(
|
|
||||||
&d_all_fft_codes[d_nsamples_total * (d_PRN - 1)]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Fpga_Acquisition::Fpga_Acquisition(std::string device_name,
|
Fpga_Acquisition::Fpga_Acquisition(std::string device_name,
|
||||||
uint32_t nsamples,
|
uint32_t nsamples,
|
||||||
@ -132,6 +113,30 @@ Fpga_Acquisition::Fpga_Acquisition(std::string device_name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Fpga_Acquisition::~Fpga_Acquisition() = default;
|
||||||
|
|
||||||
|
|
||||||
|
bool Fpga_Acquisition::init()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Fpga_Acquisition::set_local_code(uint32_t PRN)
|
||||||
|
{
|
||||||
|
// select the code with the chosen PRN
|
||||||
|
d_PRN = PRN;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Fpga_Acquisition::write_local_code()
|
||||||
|
{
|
||||||
|
Fpga_Acquisition::fpga_configure_acquisition_local_code(
|
||||||
|
&d_all_fft_codes[d_nsamples_total * (d_PRN - 1)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Fpga_Acquisition::open_device()
|
void Fpga_Acquisition::open_device()
|
||||||
{
|
{
|
||||||
// open communication with HW accelerator
|
// open communication with HW accelerator
|
||||||
@ -151,9 +156,6 @@ void Fpga_Acquisition::open_device()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Fpga_Acquisition::~Fpga_Acquisition() = default;
|
|
||||||
|
|
||||||
|
|
||||||
bool Fpga_Acquisition::free()
|
bool Fpga_Acquisition::free()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file fpga_acquisition.h
|
* \file fpga_acquisition.h
|
||||||
* \brief High optimized FPGA vector correlator class
|
* \brief Highly optimized FPGA vector correlator class
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
|
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* Class that controls and executes a high optimized acquisition HW
|
* Class that controls and executes a highly optimized acquisition HW
|
||||||
* accelerator in the FPGA
|
* accelerator in the FPGA
|
||||||
*
|
*
|
||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
@ -36,9 +36,9 @@
|
|||||||
#ifndef GNSS_SDR_FPGA_ACQUISITION_H_
|
#ifndef GNSS_SDR_FPGA_ACQUISITION_H_
|
||||||
#define GNSS_SDR_FPGA_ACQUISITION_H_
|
#define GNSS_SDR_FPGA_ACQUISITION_H_
|
||||||
|
|
||||||
#include <gnuradio/fft/fft.h>
|
#include <volk/volk_complex.h> // for lv_16sc_t
|
||||||
#include <volk/volk.h>
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Class that implements carrier wipe-off and correlators.
|
* \brief Class that implements carrier wipe-off and correlators.
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
//! 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(int32_t* _dest, int32_t _prn, uint32_t _chip_shift);
|
void beidou_b1i_code_gen_int(int32_t* _dest, int32_t _prn, uint32_t _chip_shift);
|
||||||
|
@ -33,12 +33,13 @@
|
|||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <cinttypes>
|
#include <pmt/pmt.h> // for from_double
|
||||||
#include <cmath>
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <fcntl.h> // libraries used by the GIPO
|
#include <cmath> // for round
|
||||||
#include <iostream>
|
#include <fcntl.h> // for O_RDWR, libraries used by the GIPO
|
||||||
#include <string>
|
#include <iostream> // for operator<<, endl
|
||||||
#include <sys/mman.h> // libraries used by the GIPO
|
#include <sys/mman.h> // libraries used by the GIPO
|
||||||
|
#include <unistd.h> // for write, close, read, ssize_t
|
||||||
|
|
||||||
|
|
||||||
#define PAGE_SIZE 0x10000 // default page size for the multicorrelator memory map
|
#define PAGE_SIZE 0x10000 // default page size for the multicorrelator memory map
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
|
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -32,9 +32,11 @@
|
|||||||
#include "gnss_sdr_sample_counter.h"
|
#include "gnss_sdr_sample_counter.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <cmath>
|
#include <pmt/pmt.h> // for from_double
|
||||||
#include <iostream>
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <string>
|
#include <cmath> // for round
|
||||||
|
#include <iostream> // for operator<<
|
||||||
|
#include <string> // for string
|
||||||
|
|
||||||
gnss_sdr_sample_counter::gnss_sdr_sample_counter(
|
gnss_sdr_sample_counter::gnss_sdr_sample_counter(
|
||||||
double _fs,
|
double _fs,
|
||||||
|
@ -33,6 +33,8 @@
|
|||||||
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <gnuradio/sync_decimator.h>
|
#include <gnuradio/sync_decimator.h>
|
||||||
|
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
||||||
|
#include <cstddef> // for size_t
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
#include "gnss_sdr_time_counter.h"
|
#include "gnss_sdr_time_counter.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <cmath>
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
|
#include <gnuradio/types.h> // for gr_vector_const_void_star
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
class gnss_sdr_time_counter;
|
class gnss_sdr_time_counter;
|
||||||
|
@ -30,20 +30,21 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "front_end_cal.h"
|
#include "front_end_cal.h"
|
||||||
|
#include "GPS_L1_CA.h" // for GPS_L1_FREQ_HZ
|
||||||
#include "concurrent_map.h"
|
#include "concurrent_map.h"
|
||||||
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_supl_client.h"
|
#include "gnss_sdr_supl_client.h"
|
||||||
|
#include "gps_acq_assist.h" // for Gps_Acq_Assist
|
||||||
#include "gps_almanac.h"
|
#include "gps_almanac.h"
|
||||||
#include "gps_cnav_ephemeris.h"
|
|
||||||
#include "gps_cnav_iono.h"
|
|
||||||
#include "gps_ephemeris.h"
|
#include "gps_ephemeris.h"
|
||||||
#include "gps_iono.h"
|
#include "gps_iono.h"
|
||||||
#include "gps_navigation_message.h"
|
|
||||||
#include "gps_utc_model.h"
|
#include "gps_utc_model.h"
|
||||||
#include <boost/lexical_cast.hpp>
|
#include <boost/lexical_cast.hpp>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <algorithm> // for min
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <exception>
|
#include <iostream> // for operator<<
|
||||||
#include <memory>
|
#include <map>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
extern Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
extern Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
||||||
|
@ -32,9 +32,11 @@
|
|||||||
#ifndef GNSS_SDR_FRONT_END_CAL_H_
|
#ifndef GNSS_SDR_FRONT_END_CAL_H_
|
||||||
#define GNSS_SDR_FRONT_END_CAL_H_
|
#define GNSS_SDR_FRONT_END_CAL_H_
|
||||||
|
|
||||||
#include "file_configuration.h"
|
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
class ConfigurationInterface;
|
||||||
|
|
||||||
class FrontEndCal
|
class FrontEndCal
|
||||||
{
|
{
|
||||||
|
@ -32,51 +32,57 @@
|
|||||||
#define FRONT_END_CAL_VERSION "0.0.1"
|
#define FRONT_END_CAL_VERSION "0.0.1"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "GPS_L1_CA.h" // for GPS_L1_CA_COD...
|
||||||
#include "concurrent_map.h"
|
#include "concurrent_map.h"
|
||||||
#include "concurrent_queue.h"
|
#include "concurrent_queue.h"
|
||||||
|
#include "configuration_interface.h" // for Configuration...
|
||||||
#include "file_configuration.h"
|
#include "file_configuration.h"
|
||||||
#include "front_end_cal.h"
|
#include "front_end_cal.h"
|
||||||
#include "galileo_almanac.h"
|
|
||||||
#include "galileo_ephemeris.h"
|
|
||||||
#include "galileo_iono.h"
|
|
||||||
#include "galileo_utc_model.h"
|
|
||||||
#include "gnss_block_factory.h"
|
#include "gnss_block_factory.h"
|
||||||
|
#include "gnss_block_interface.h" // for GNSSBlockInte...
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gnss_sdr_supl_client.h"
|
|
||||||
#include "gnss_signal.h"
|
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
|
#include "gps_acq_assist.h" // for Gps_Acq_Assist
|
||||||
#include "gps_almanac.h"
|
#include "gps_almanac.h"
|
||||||
#include "gps_cnav_ephemeris.h"
|
|
||||||
#include "gps_cnav_iono.h"
|
|
||||||
#include "gps_ephemeris.h"
|
#include "gps_ephemeris.h"
|
||||||
#include "gps_iono.h"
|
#include "gps_iono.h"
|
||||||
#include "gps_l1_ca_pcps_acquisition_fine_doppler.h"
|
#include "gps_l1_ca_pcps_acquisition_fine_doppler.h"
|
||||||
#include "gps_navigation_message.h"
|
|
||||||
#include "gps_utc_model.h"
|
#include "gps_utc_model.h"
|
||||||
#include "sbas_ephemeris.h"
|
#include <boost/any.hpp> // for bad_any_cast
|
||||||
#include <boost/exception/detail/exception_ptr.hpp>
|
#include <boost/bind.hpp>
|
||||||
|
#include <boost/exception/exception.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/lexical_cast.hpp>
|
#include <boost/lexical_cast.hpp>
|
||||||
|
#include <gflags/gflags.h>
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/block.h> // for block
|
||||||
#include <gnuradio/blocks/file_sink.h>
|
#include <gnuradio/blocks/file_sink.h>
|
||||||
#include <gnuradio/blocks/file_source.h>
|
#include <gnuradio/blocks/file_source.h>
|
||||||
#include <gnuradio/blocks/head.h>
|
#include <gnuradio/blocks/head.h>
|
||||||
#include <gnuradio/blocks/null_sink.h>
|
#include <gnuradio/blocks/null_sink.h>
|
||||||
#include <gnuradio/blocks/skiphead.h>
|
#include <gnuradio/blocks/skiphead.h>
|
||||||
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
|
#include <gnuradio/io_signature.h> // for io_signature
|
||||||
#include <gnuradio/msg_queue.h>
|
#include <gnuradio/msg_queue.h>
|
||||||
|
#include <gnuradio/runtime_types.h> // for block_sptr
|
||||||
#include <gnuradio/top_block.h>
|
#include <gnuradio/top_block.h>
|
||||||
|
#include <pmt/pmt.h> // for pmt_t, to_long
|
||||||
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
#include <cmath> // for round
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <ctime> // for ctime
|
#include <ctime> // for ctime
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
#include <iostream>
|
||||||
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <queue>
|
#include <stdexcept> // for logic_error
|
||||||
|
#include <string>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
DECLARE_string(log_dir);
|
DECLARE_string(log_dir);
|
||||||
|
|
||||||
Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
||||||
|
Loading…
Reference in New Issue
Block a user