mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 07:13:03 +00:00 
			
		
		
		
	Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
		| @@ -31,14 +31,19 @@ | ||||
|  | ||||
|  | ||||
| #include "geojson_printer.h" | ||||
| #include "pvt_solution.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #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 <boost/system/error_code.hpp>       // for error_code | ||||
| #include <glog/logging.h> | ||||
| #include <exception> | ||||
| #include <iomanip> | ||||
| #include <sstream> | ||||
| #include <cstdio>     // for remove | ||||
| #include <ctime>      // for tm | ||||
| #include <exception>  // for exception | ||||
| #include <iomanip>    // for operator<< | ||||
| #include <iostream>   // for cout, cerr | ||||
| #include <sstream>    // for stringstream | ||||
|  | ||||
|  | ||||
| GeoJSON_Printer::GeoJSON_Printer(const std::string& base_path) | ||||
|   | ||||
| @@ -33,11 +33,12 @@ | ||||
| #ifndef GNSS_SDR_GEOJSON_PRINTER_H_ | ||||
| #define GNSS_SDR_GEOJSON_PRINTER_H_ | ||||
|  | ||||
| #include "pvt_solution.h" | ||||
|  | ||||
| #include <fstream> | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| class Pvt_Solution; | ||||
|  | ||||
| /*! | ||||
|  * \brief Prints PVT solutions in GeoJSON format file | ||||
|   | ||||
| @@ -31,13 +31,19 @@ | ||||
|  | ||||
|  | ||||
| #include "gpx_printer.h" | ||||
| #include "rtklib_solver.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #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 <boost/system/error_code.hpp>       // for error_code | ||||
| #include <glog/logging.h> | ||||
| #include <exception> | ||||
| #include <sstream> | ||||
| #include <cstdio>     // for remove | ||||
| #include <ctime>      // for tm | ||||
| #include <exception>  // for exception | ||||
| #include <iomanip>    // for operator<< | ||||
| #include <iostream>   // for cout, cerr | ||||
| #include <sstream>    // for stringstream | ||||
|  | ||||
|  | ||||
| Gpx_Printer::Gpx_Printer(const std::string& base_path) | ||||
|   | ||||
| @@ -33,11 +33,12 @@ | ||||
| #ifndef GNSS_SDR_GPX_PRINTER_H_ | ||||
| #define GNSS_SDR_GPX_PRINTER_H_ | ||||
|  | ||||
| #include "rtklib_solver.h" | ||||
|  | ||||
| #include <fstream> | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| class Rtklib_Solver; | ||||
|  | ||||
| /*! | ||||
|  * \brief Prints PVT information to GPX format file | ||||
|   | ||||
| @@ -31,13 +31,19 @@ | ||||
|  */ | ||||
|  | ||||
| #include "kml_printer.h" | ||||
| #include "rtklib_solver.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #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 <boost/system/error_code.hpp>       // for error_code | ||||
| #include <glog/logging.h> | ||||
| #include <exception> | ||||
| #include <cstdio>     // for remove | ||||
| #include <ctime>      // for tm | ||||
| #include <exception>  // for exception | ||||
| #include <iostream>   // for cout, cerr | ||||
| #include <sstream> | ||||
| #include <string> | ||||
|  | ||||
|  | ||||
| Kml_Printer::Kml_Printer(const std::string& base_path) | ||||
|   | ||||
| @@ -33,12 +33,12 @@ | ||||
| #ifndef GNSS_SDR_KML_PRINTER_H_ | ||||
| #define GNSS_SDR_KML_PRINTER_H_ | ||||
|  | ||||
| #include "rtklib_solver.h" | ||||
| #include <fstream> | ||||
| #include <memory> | ||||
| #include <string> | ||||
| #include <fstream>   // for ofstream | ||||
| #include <memory>    // for shared_ptr | ||||
|  | ||||
|  | ||||
| class Rtklib_Solver; | ||||
|  | ||||
| /*! | ||||
|  * \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth) | ||||
|  * | ||||
|   | ||||
| @@ -35,14 +35,16 @@ | ||||
|  | ||||
| #include "nmea_printer.h" | ||||
| #include "rtklib_solution.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #include "rtklib_solver.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 <boost/system/error_code.hpp>       // for error_code | ||||
| #include <glog/logging.h> | ||||
| #include <cstdint> | ||||
| #include <exception> | ||||
| #include <fcntl.h> | ||||
| #include <iostream>  // for cout, cerr | ||||
| #include <termios.h> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -36,11 +36,12 @@ | ||||
| #ifndef GNSS_SDR_NMEA_PRINTER_H_ | ||||
| #define GNSS_SDR_NMEA_PRINTER_H_ | ||||
|  | ||||
| #include "rtklib_solver.h" | ||||
| #include <fstream> | ||||
| #include <memory> | ||||
| #include <string> | ||||
| #include <boost/date_time/posix_time/ptime.hpp>  // for ptime | ||||
| #include <fstream>                               // for ofstream | ||||
| #include <memory>                                // for shared_ptr | ||||
| #include <string>                                // for string | ||||
|  | ||||
| class Rtklib_Solver; | ||||
|  | ||||
| /*! | ||||
|  * \brief This class provides a implementation of a subset of the NMEA-0183 standard for interfacing | ||||
|   | ||||
| @@ -29,6 +29,27 @@ | ||||
|  */ | ||||
|  | ||||
| #include "rinex_printer.h" | ||||
| #include "Beidou_B1I.h" | ||||
| #include "GLONASS_L1_L2_CA.h" | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "Galileo_E1.h" | ||||
| #include "beidou_dnav_ephemeris.h" | ||||
| #include "beidou_dnav_iono.h" | ||||
| #include "beidou_dnav_utc_model.h" | ||||
| #include "galileo_ephemeris.h" | ||||
| #include "galileo_iono.h" | ||||
| #include "galileo_utc_model.h" | ||||
| #include "glonass_gnav_almanac.h" | ||||
| #include "glonass_gnav_ephemeris.h" | ||||
| #include "glonass_gnav_utc_model.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_cnav_ephemeris.h" | ||||
| #include "gps_cnav_iono.h" | ||||
| #include "gps_cnav_utc_model.h" | ||||
| #include "gps_ephemeris.h" | ||||
| #include "gps_iono.h" | ||||
| #include "gps_navigation_message.h" | ||||
| #include "gps_utc_model.h" | ||||
| #include <boost/date_time/gregorian/gregorian.hpp> | ||||
| #include <boost/date_time/local_time/local_time.hpp> | ||||
| #include <boost/date_time/time_zone_base.hpp> | ||||
| @@ -38,8 +59,9 @@ | ||||
| #include <glog/logging.h> | ||||
| #include <algorithm>  // for min and max | ||||
| #include <cmath>      // for floor | ||||
| #include <cstdlib>    // for getenv() | ||||
| #include <cstring>    // for memcpy | ||||
| #include <exception> | ||||
| #include <iostream>  // for cout | ||||
| #include <iterator> | ||||
| #include <ostream> | ||||
| #include <set> | ||||
|   | ||||
| @@ -51,25 +51,33 @@ | ||||
| #ifndef GNSS_SDR_RINEX_PRINTER_H_ | ||||
| #define GNSS_SDR_RINEX_PRINTER_H_ | ||||
|  | ||||
| #include "Beidou_B1I.h" | ||||
| #include "GLONASS_L1_L2_CA.h" | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "Galileo_E1.h" | ||||
| #include "beidou_dnav_navigation_message.h" | ||||
| #include "galileo_navigation_message.h" | ||||
| #include "glonass_gnav_navigation_message.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_cnav_navigation_message.h" | ||||
| #include "gps_navigation_message.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #include <cstdint> | ||||
| #include <fstream> | ||||
| #include <cstdint>  // for int32_t | ||||
| #include <cstdlib>  // for strtol, strtod | ||||
| #include <fstream>  // for fstream | ||||
| #include <iomanip>  // for setprecision | ||||
| #include <map> | ||||
| #include <map>      // for map | ||||
| #include <sstream>  // for stringstream | ||||
| #include <string> | ||||
| #include <string>   // for string | ||||
|  | ||||
| class Beidou_Dnav_Ephemeris; | ||||
| class Beidou_Dnav_Iono; | ||||
| class Beidou_Dnav_Utc_Model; | ||||
| class Galileo_Ephemeris; | ||||
| class Galileo_Iono; | ||||
| class Galileo_Utc_Model; | ||||
| class Glonass_Gnav_Almanac; | ||||
| class Glonass_Gnav_Ephemeris; | ||||
| class Glonass_Gnav_Utc_Model; | ||||
| class Gnss_Synchro; | ||||
| class Gps_CNAV_Ephemeris; | ||||
| class Gps_CNAV_Iono; | ||||
| class Gps_CNAV_Utc_Model; | ||||
| class Gps_Ephemeris; | ||||
| class Gps_Iono; | ||||
| class Gps_Navigation_Message; | ||||
| class Gps_Utc_Model; | ||||
|  | ||||
| class Sbas_Raw_Msg; | ||||
|  | ||||
| /*! | ||||
|  * \brief Class that handles the generation of Receiver | ||||
|   | ||||
| @@ -29,8 +29,11 @@ | ||||
|  */ | ||||
|  | ||||
| #include "rtcm.h" | ||||
| #include "GLONASS_L1_L2_CA.h" | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "GPS_L2C.h" | ||||
| #include "Galileo_E1.h" | ||||
| #include "Galileo_E5a.h" | ||||
| #include <boost/algorithm/string.hpp>  // for to_upper_copy | ||||
| #include <boost/crc.hpp> | ||||
| #include <boost/date_time/gregorian/gregorian.hpp> | ||||
| @@ -39,6 +42,7 @@ | ||||
| #include <chrono>     // std::chrono::seconds | ||||
| #include <cmath>      // for std::fmod | ||||
| #include <cstdlib>    // for strtol | ||||
| #include <iostream>   // for cout | ||||
| #include <sstream>    // for std::stringstream | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -34,11 +34,12 @@ | ||||
|  | ||||
|  | ||||
| #include "concurrent_queue.h" | ||||
| #include "galileo_fnav_message.h" | ||||
| #include "glonass_gnav_navigation_message.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_cnav_navigation_message.h" | ||||
| #include "gps_navigation_message.h" | ||||
| #include <galileo_ephemeris.h> | ||||
| #include <gps_ephemeris.h> | ||||
| #include <gps_cnav_ephemeris.h> | ||||
| #include <glonass_gnav_ephemeris.h> | ||||
| #include <glonass_gnav_utc_model.h> | ||||
| #include <boost/asio.hpp> | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #include <glog/logging.h> | ||||
|   | ||||
| @@ -32,17 +32,26 @@ | ||||
|  */ | ||||
|  | ||||
| #include "rtcm_printer.h" | ||||
| #include "galileo_ephemeris.h" | ||||
| #include "glonass_gnav_ephemeris.h" | ||||
| #include "glonass_gnav_utc_model.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_cnav_ephemeris.h" | ||||
| #include "gps_ephemeris.h" | ||||
| #include "rtcm.h" | ||||
| #include <boost/date_time/posix_time/posix_time.hpp> | ||||
| #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 <boost/system/error_code.hpp>       // for error_codes | ||||
| #include <glog/logging.h> | ||||
| #include <cstdint> | ||||
| #include <exception> | ||||
| #include <fcntl.h>  // for O_RDWR | ||||
| #include <iomanip> | ||||
| #include <cstdio>     // for remove | ||||
| #include <ctime>      // for tm | ||||
| #include <exception>  // for exception | ||||
| #include <fcntl.h>    // for O_RDWR | ||||
| #include <iostream>   // for cout, cerr | ||||
| #include <termios.h>  // for tcgetattr | ||||
| #include <utility> | ||||
| #include <unistd.h>   // for close, write | ||||
|  | ||||
|  | ||||
| Rtcm_Printer::Rtcm_Printer(const std::string& filename, bool flag_rtcm_file_dump, bool flag_rtcm_server, bool flag_rtcm_tty_port, uint16_t rtcm_tcp_port, uint16_t rtcm_station_id, const std::string& rtcm_dump_devname, bool time_tag_name, const std::string& base_path) | ||||
|   | ||||
| @@ -34,10 +34,18 @@ | ||||
| #ifndef GNSS_SDR_RTCM_PRINTER_H_ | ||||
| #define GNSS_SDR_RTCM_PRINTER_H_ | ||||
|  | ||||
| #include "rtcm.h" | ||||
| #include <fstream>  // std::ofstream | ||||
| #include <map> | ||||
| #include <memory>  // std::shared_ptr | ||||
| #include <cstdint>  // for int32_t | ||||
| #include <fstream>  // for std::ofstream | ||||
| #include <map>      // for std::map | ||||
| #include <memory>   // std::shared_ptr | ||||
|  | ||||
| class Galileo_Ephemeris; | ||||
| class Glonass_Gnav_Ephemeris; | ||||
| class Glonass_Gnav_Utc_Model; | ||||
| class Gnss_Synchro; | ||||
| class Gps_CNAV_Ephemeris; | ||||
| class Gps_Ephemeris; | ||||
| class Rtcm; | ||||
|  | ||||
| /*! | ||||
|  * \brief This class provides a implementation of a subset of the RTCM Standard 10403.2 messages | ||||
|   | ||||
| @@ -92,15 +92,17 @@ add_library(acquisition_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS}) | ||||
|  | ||||
| target_link_libraries(acquisition_adapters | ||||
|     PUBLIC | ||||
|         Gnuradio::blocks | ||||
|         algorithms_libs | ||||
|         gnss_sdr_flags | ||||
|         acquisition_gr_blocks | ||||
|         core_system_parameters | ||||
|         Gnuradio::blocks | ||||
|         Volk::volk | ||||
|     PRIVATE | ||||
|         Boost::boost | ||||
|         Gflags::gflags | ||||
|         Glog::glog | ||||
|         Gnuradio::fft | ||||
|         Volkgnsssdr::volkgnsssdr | ||||
|         acquisition_libs | ||||
| ) | ||||
|   | ||||
| @@ -34,7 +34,15 @@ | ||||
| #include "configuration_interface.h" | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.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( | ||||
|   | ||||
| @@ -34,14 +34,15 @@ | ||||
|  | ||||
| #include "acquisition_interface.h" | ||||
| #include "complex_byte_to_float_x2.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "pcps_acquisition_fpga.h" | ||||
| #include <gnuradio/blocks/float_to_complex.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> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -34,9 +34,15 @@ | ||||
| #include "configuration_interface.h" | ||||
| #include "galileo_e5_signal_processing.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include <boost/math/distributions/exponential.hpp> | ||||
| #include "gnss_synchro.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, | ||||
|   | ||||
| @@ -34,12 +34,15 @@ | ||||
|  | ||||
|  | ||||
| #include "acquisition_interface.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "pcps_acquisition_fpga.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> | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface | ||||
|   | ||||
| @@ -36,10 +36,16 @@ | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include <glog/logging.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 | ||||
|   | ||||
| @@ -36,11 +36,13 @@ | ||||
| #define GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FPGA_H_ | ||||
|  | ||||
| #include "acquisition_interface.h" | ||||
| #include "gnss_synchro.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> | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -35,9 +35,16 @@ | ||||
| #include "GPS_L2C.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_l2c_signal.h" | ||||
| #include <boost/math/distributions/exponential.hpp> | ||||
| #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 | ||||
|  | ||||
|   | ||||
| @@ -36,14 +36,15 @@ | ||||
|  | ||||
| #include "acquisition_interface.h" | ||||
| #include "complex_byte_to_float_x2.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "pcps_acquisition_fpga.h" | ||||
| #include <gnuradio/blocks/float_to_complex.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> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -36,9 +36,16 @@ | ||||
| #include "GPS_L5.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_l5_signal.h" | ||||
| #include <boost/math/distributions/exponential.hpp> | ||||
| #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 | ||||
|  | ||||
|   | ||||
| @@ -37,14 +37,15 @@ | ||||
|  | ||||
| #include "acquisition_interface.h" | ||||
| #include "complex_byte_to_float_x2.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "pcps_acquisition_fpga.h" | ||||
| #include <gnuradio/blocks/float_to_complex.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> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -36,13 +36,22 @@ | ||||
| #include "pcps_acquisition.h" | ||||
| #include "GLONASS_L1_L2_CA.h"  // for GLONASS_TWO_PI | ||||
| #include "GPS_L1_CA.h"         // for GPS_TWO_PI | ||||
| #include "gnss_frequencies.h" | ||||
| #include "gnss_sdr_create_directory.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <boost/filesystem/path.hpp> | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <matio.h> | ||||
| #include <pmt/pmt.h>        // for from_long | ||||
| #include <pmt/pmt_sugar.h>  // for mp | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cstring> | ||||
| #include <algorithm>  // for fill_n, min | ||||
| #include <cmath>      // for floor, fmod, rint, ceil | ||||
| #include <cstring>    // for memcpy | ||||
| #include <iostream> | ||||
| #include <map> | ||||
|  | ||||
|  | ||||
| pcps_acquisition_sptr pcps_make_acquisition(const Acq_Conf& conf_) | ||||
|   | ||||
| @@ -53,14 +53,17 @@ | ||||
| #define GNSS_SDR_PCPS_ACQUISITION_H_ | ||||
|  | ||||
| #include "acq_conf.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <armadillo> | ||||
| #include <gnuradio/block.h> | ||||
| #include <gnuradio/fft/fft.h> | ||||
| #include <volk/volk.h> | ||||
| #include <gnuradio/gr_complex.h>     // for gr_complex | ||||
| #include <gnuradio/thread/thread.h>  // for scoped_lock | ||||
| #include <gnuradio/types.h>          // for gr_vector_const_void_star | ||||
| #include <volk/volk_complex.h>       // for lv_16sc_t | ||||
| #include <cstdint> | ||||
| #include <string> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class pcps_acquisition; | ||||
|  | ||||
| using pcps_acquisition_sptr = boost::shared_ptr<pcps_acquisition>; | ||||
|   | ||||
| @@ -33,9 +33,15 @@ | ||||
|  | ||||
|  | ||||
| #include "pcps_acquisition_fpga.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <glog/logging.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 | ||||
|  | ||||
| @@ -133,7 +139,7 @@ void pcps_acquisition_fpga::set_state(int32_t state) | ||||
| void pcps_acquisition_fpga::send_positive_acquisition() | ||||
| { | ||||
|     // 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" | ||||
|                << ", satellite " << d_gnss_synchro->System << " " << d_gnss_synchro->PRN | ||||
|                << ", sample_stamp " << d_sample_counter | ||||
|   | ||||
| @@ -42,8 +42,15 @@ | ||||
|  | ||||
|  | ||||
| #include "fpga_acquisition.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <gnuradio/block.h> | ||||
| #include <boost/shared_ptr.hpp> | ||||
| #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 | ||||
| { | ||||
| @@ -78,9 +85,7 @@ pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_); | ||||
| class pcps_acquisition_fpga : public gr::block | ||||
| { | ||||
| private: | ||||
|     friend pcps_acquisition_fpga_sptr | ||||
|  | ||||
|     pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_); | ||||
|     friend pcps_acquisition_fpga_sptr pcps_make_acquisition_fpga(pcpsconf_fpga_t conf_); | ||||
|  | ||||
|     pcps_acquisition_fpga(pcpsconf_fpga_t conf_); | ||||
|  | ||||
| @@ -115,10 +120,10 @@ public: | ||||
|     ~pcps_acquisition_fpga(); | ||||
|  | ||||
|     /*! | ||||
|       * \brief Set acquisition/tracking common Gnss_Synchro object pointer | ||||
|       * to exchange synchronization data between acquisition and tracking blocks. | ||||
|       * \param p_gnss_synchro Satellite information shared by the processing blocks. | ||||
|       */ | ||||
|      * \brief Set acquisition/tracking common Gnss_Synchro object pointer | ||||
|      * to exchange synchronization data between acquisition and tracking blocks. | ||||
|      * \param p_gnss_synchro Satellite information shared by the processing blocks. | ||||
|      */ | ||||
|     inline void set_gnss_synchro(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(); | ||||
|  | ||||
|     /*! | ||||
|       * \brief Sets local code for PCPS acquisition algorithm. | ||||
|       * \param code - Pointer to the PRN code. | ||||
|       */ | ||||
|      * \brief Sets local code for PCPS acquisition algorithm. | ||||
|      * \param code - Pointer to the PRN code. | ||||
|      */ | ||||
|     void set_local_code(); | ||||
|  | ||||
|     /*! | ||||
|       * \brief If set to 1, ensures that acquisition starts at the | ||||
|       * first available sample. | ||||
|       * \param state - int=1 forces start of acquisition | ||||
|       */ | ||||
|      * \brief If set to 1, ensures that acquisition starts at the | ||||
|      * first available sample. | ||||
|      * \param state - int=1 forces start of acquisition | ||||
|      */ | ||||
|     void set_state(int32_t state); | ||||
|  | ||||
|     /*! | ||||
|       * \brief Starts acquisition algorithm, turning from standby mode to | ||||
|       * active mode | ||||
|       * \param active - bool that activates/deactivates the block. | ||||
|       */ | ||||
|      * \brief Starts acquisition algorithm, turning from standby mode to | ||||
|      * active mode | ||||
|      * \param active - bool that activates/deactivates the block. | ||||
|      */ | ||||
|     void set_active(bool active); | ||||
|  | ||||
|     /*! | ||||
|       * \brief Set acquisition channel unique ID | ||||
|       * \param channel - receiver channel. | ||||
|       */ | ||||
|      * \brief Set acquisition channel unique ID | ||||
|      * \param channel - receiver channel. | ||||
|      */ | ||||
|     inline void set_channel(uint32_t channel) | ||||
|     { | ||||
|         d_channel = channel; | ||||
|     } | ||||
|  | ||||
|     /*! | ||||
|       * \brief Set statistics threshold of PCPS algorithm. | ||||
|       * \param threshold - Threshold for signal detection (check \ref Navitec2012, | ||||
|       * Algorithm 1, for a definition of this threshold). | ||||
|       */ | ||||
|      * \brief Set statistics threshold of PCPS algorithm. | ||||
|      * \param threshold - Threshold for signal detection (check \ref Navitec2012, | ||||
|      * Algorithm 1, for a definition of this threshold). | ||||
|      */ | ||||
|     inline void set_threshold(float threshold) | ||||
|     { | ||||
|         d_threshold = threshold; | ||||
|     } | ||||
|  | ||||
|     /*! | ||||
|       * \brief Set maximum Doppler grid search | ||||
|       * \param doppler_max - Maximum Doppler shift considered in the grid search [Hz]. | ||||
|       */ | ||||
|      * \brief Set maximum Doppler grid search | ||||
|      * \param doppler_max - Maximum Doppler shift considered in the grid search [Hz]. | ||||
|      */ | ||||
|     inline void set_doppler_max(uint32_t doppler_max) | ||||
|     { | ||||
|         acq_parameters.doppler_max = doppler_max; | ||||
| @@ -187,22 +192,15 @@ public: | ||||
|     } | ||||
|  | ||||
|     /*! | ||||
|       * \brief Set Doppler steps for the grid search | ||||
|       * \param doppler_step - Frequency bin of the search grid [Hz]. | ||||
|       */ | ||||
|      * \brief Set Doppler steps for the grid search | ||||
|      * \param doppler_step - Frequency bin of the search grid [Hz]. | ||||
|      */ | ||||
|     inline void set_doppler_step(uint32_t doppler_step) | ||||
|     { | ||||
|         d_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. | ||||
|      */ | ||||
| @@ -212,6 +210,13 @@ public: | ||||
|      * \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); | ||||
|  | ||||
|     /*! | ||||
|      * \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_*/ | ||||
|   | ||||
| @@ -37,7 +37,6 @@ add_library(acquisition_libs | ||||
| target_link_libraries(acquisition_libs | ||||
|     PUBLIC | ||||
|         Volk::volk | ||||
|         Gnuradio::fft | ||||
|     PRIVATE | ||||
|         Gflags::gflags | ||||
|         Glog::glog | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| /*! | ||||
|  * \file fpga_acquisition.cc | ||||
|  * \brief High optimized FPGA vector correlator class | ||||
|  * \brief Highly optimized FPGA vector correlator class | ||||
|  * \authors <ul> | ||||
|  *          <li> Marc Majoral, 2019. mmajoral(at)cttc.cat | ||||
|  *          </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 | ||||
|  * | ||||
|  * ------------------------------------------------------------------------- | ||||
|  * | ||||
|  * 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 | ||||
|  *          Satellite Systems receiver | ||||
| @@ -34,13 +34,14 @@ | ||||
|  */ | ||||
|  | ||||
| #include "fpga_acquisition.h" | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include <glog/logging.h> | ||||
| #include <fcntl.h>  // libraries used by the GIPO | ||||
| #include <iostream> | ||||
| #include <sys/mman.h>  // libraries used by the GIPO | ||||
| #include <utility> | ||||
| #include "GPS_L1_CA.h"     // for GPS_TWO_PI | ||||
| #include <glog/logging.h>  // for LOG | ||||
| #include <cmath>           // for log2 | ||||
| #include <fcntl.h>         // libraries used by the GIPO | ||||
| #include <iostream>        // for operator<< | ||||
| #include <sys/mman.h>      // libraries used by the GIPO | ||||
| #include <unistd.h>        // for write, close, read, ssize_t | ||||
| #include <utility>         // for move | ||||
|  | ||||
|  | ||||
| // FPGA register parameters | ||||
| @@ -75,26 +76,6 @@ | ||||
|     }) | ||||
| #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, | ||||
|     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() | ||||
| { | ||||
|     // open communication with HW accelerator | ||||
| @@ -151,9 +156,6 @@ void Fpga_Acquisition::open_device() | ||||
| } | ||||
|  | ||||
|  | ||||
| Fpga_Acquisition::~Fpga_Acquisition() = default; | ||||
|  | ||||
|  | ||||
| bool Fpga_Acquisition::free() | ||||
| { | ||||
|     return true; | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| /*! | ||||
|  * \file fpga_acquisition.h | ||||
|  * \brief High optimized FPGA vector correlator class | ||||
|  * \brief Highly optimized FPGA vector correlator class | ||||
|  * \authors <ul> | ||||
|  *          <li> Marc Majoral, 2019. mmajoral(at)cttc.cat | ||||
|  *          </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 | ||||
|  * | ||||
|  * ------------------------------------------------------------------------- | ||||
| @@ -36,9 +36,9 @@ | ||||
| #ifndef GNSS_SDR_FPGA_ACQUISITION_H_ | ||||
| #define GNSS_SDR_FPGA_ACQUISITION_H_ | ||||
|  | ||||
| #include <gnuradio/fft/fft.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk/volk_complex.h>  // for lv_16sc_t | ||||
| #include <cstdint> | ||||
| #include <string> | ||||
|  | ||||
| /*! | ||||
|  * \brief Class that implements carrier wipe-off and correlators. | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
|  | ||||
| #include <complex> | ||||
| #include <cstdint> | ||||
| #include <iostream> | ||||
|  | ||||
|  | ||||
| //! 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); | ||||
|   | ||||
| @@ -33,12 +33,13 @@ | ||||
| #include "gnss_synchro.h" | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <cinttypes> | ||||
| #include <cmath> | ||||
| #include <fcntl.h>  // libraries used by the GIPO | ||||
| #include <iostream> | ||||
| #include <string> | ||||
| #include <sys/mman.h>  // libraries used by the GIPO | ||||
| #include <pmt/pmt.h>        // for from_double | ||||
| #include <pmt/pmt_sugar.h>  // for mp | ||||
| #include <cmath>            // for round | ||||
| #include <fcntl.h>          // for O_RDWR, libraries used by the GIPO | ||||
| #include <iostream>         // for operator<<, endl | ||||
| #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 | ||||
|   | ||||
| @@ -35,6 +35,7 @@ | ||||
|  | ||||
| #include <boost/shared_ptr.hpp> | ||||
| #include <gnuradio/block.h> | ||||
| #include <gnuradio/types.h>  // for gr_vector_const_void_star | ||||
| #include <cstdint> | ||||
| #include <string> | ||||
|  | ||||
|   | ||||
| @@ -32,9 +32,11 @@ | ||||
| #include "gnss_sdr_sample_counter.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <cmath> | ||||
| #include <iostream> | ||||
| #include <string> | ||||
| #include <pmt/pmt.h>        // for from_double | ||||
| #include <pmt/pmt_sugar.h>  // for mp | ||||
| #include <cmath>            // for round | ||||
| #include <iostream>         // for operator<< | ||||
| #include <string>           // for string | ||||
|  | ||||
| gnss_sdr_sample_counter::gnss_sdr_sample_counter( | ||||
|     double _fs, | ||||
|   | ||||
| @@ -33,6 +33,8 @@ | ||||
|  | ||||
| #include <boost/shared_ptr.hpp> | ||||
| #include <gnuradio/sync_decimator.h> | ||||
| #include <gnuradio/types.h>  // for gr_vector_const_void_star | ||||
| #include <cstddef>           // for size_t | ||||
| #include <cstdint> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -32,7 +32,6 @@ | ||||
| #include "gnss_sdr_time_counter.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <cmath> | ||||
| #include <iostream> | ||||
| #include <string> | ||||
|  | ||||
|   | ||||
| @@ -33,6 +33,7 @@ | ||||
|  | ||||
| #include <boost/shared_ptr.hpp> | ||||
| #include <gnuradio/block.h> | ||||
| #include <gnuradio/types.h>  // for gr_vector_const_void_star | ||||
| #include <cstdint> | ||||
|  | ||||
| class gnss_sdr_time_counter; | ||||
|   | ||||
| @@ -33,11 +33,9 @@ | ||||
|  | ||||
| #include "beidou_b1i_telemetry_decoder_gs.h" | ||||
| #include "Beidou_B1I.h" | ||||
| #include "beidou_dnav_almanac.h" | ||||
| #include "beidou_dnav_ephemeris.h" | ||||
| #include "beidou_dnav_iono.h" | ||||
| #include "beidou_dnav_utc_model.h" | ||||
| #include "convolutional.h" | ||||
| #include "display.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/io_signature.h> | ||||
| @@ -321,8 +319,12 @@ void beidou_b1i_telemetry_decoder_gs::set_satellite(const Gnss_Satellite &satell | ||||
|             volk_gnsssdr_free(d_secondary_code_symbols); | ||||
|             volk_gnsssdr_free(d_subframe_symbols); | ||||
|  | ||||
|             d_samples_per_symbol = (BEIDOU_B1I_CODE_RATE_HZ / BEIDOU_B1I_CODE_LENGTH_CHIPS) / BEIDOU_D2NAV_SYMBOL_RATE_SPS; | ||||
|             d_symbols_per_preamble = BEIDOU_DNAV_PREAMBLE_LENGTH_SYMBOLS; | ||||
|             d_samples_per_preamble = BEIDOU_DNAV_PREAMBLE_LENGTH_SYMBOLS * d_samples_per_symbol; | ||||
|             d_secondary_code_symbols = nullptr; | ||||
|             d_preamble_samples = static_cast<int32_t *>(volk_gnsssdr_malloc(d_samples_per_preamble * sizeof(int32_t), volk_gnsssdr_get_alignment())); | ||||
|             d_preamble_period_samples = BEIDOU_DNAV_PREAMBLE_PERIOD_SYMBOLS * d_samples_per_symbol; | ||||
|  | ||||
|             // Setting samples of preamble code | ||||
|             int32_t n = 0; | ||||
|   | ||||
| @@ -33,18 +33,11 @@ | ||||
| #define GNSS_SDR_GALILEO_TELEMETRY_DECODER_GS_H | ||||
|  | ||||
|  | ||||
| //#include "Galileo_E1.h" | ||||
| //#include "Galileo_E5a.h" | ||||
| //#include "galileo_almanac_helper.h" | ||||
| //#include "galileo_ephemeris.h" | ||||
| #include "galileo_fnav_message.h" | ||||
| #include <boost/shared_ptr.hpp>  // for boost::shared_ptr | ||||
| #include <gnuradio/types.h>      // for gr_vector_const_void_star | ||||
| //#include "galileo_iono.h" | ||||
| #include "galileo_navigation_message.h" | ||||
| //#include "galileo_utc_model.h" | ||||
| #include "gnss_satellite.h" | ||||
| //#include "gnss_synchro.h" | ||||
| #include <boost/circular_buffer.hpp> | ||||
| #include <gnuradio/block.h> | ||||
| #include <fstream> | ||||
|   | ||||
| @@ -30,7 +30,6 @@ | ||||
|  */ | ||||
|  | ||||
| #include "gps_l1_ca_telemetry_decoder_gs.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_ephemeris.h"  // for Gps_Ephemeris | ||||
| #include "gps_iono.h"       // for Gps_Iono | ||||
| #include "gps_utc_model.h"  // for Gps_Utc_Model | ||||
|   | ||||
| @@ -32,11 +32,10 @@ | ||||
| #define GNSS_SDR_SBAS_L1_TELEMETRY_DECODER_GS_H | ||||
|  | ||||
| #include "gnss_satellite.h" | ||||
| #include <boost/crc.hpp> | ||||
| #include <boost/crc.hpp>         // for crc_optimal | ||||
| #include <boost/shared_ptr.hpp>  // for boost::shared_ptr | ||||
| #include <gnuradio/block.h> | ||||
| #include <gnuradio/types.h>  // for gr_vector_const_void_star | ||||
| #include <algorithm>         // for copy | ||||
| #include <cstddef>           // for size_t | ||||
| #include <cstdint> | ||||
| #include <deque> | ||||
|   | ||||
| @@ -98,6 +98,7 @@ target_link_libraries(tracking_adapters | ||||
|         tracking_gr_blocks | ||||
|         algorithms_libs | ||||
|         gnss_sdr_flags | ||||
|         Gnuradio::runtime | ||||
|     PRIVATE | ||||
|         Volkgnsssdr::volkgnsssdr | ||||
| ) | ||||
|   | ||||
| @@ -38,10 +38,15 @@ | ||||
| #include "Galileo_E1.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "display.h" | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <glog/logging.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cmath>     // for round | ||||
| #include <cstring>   // for memcpy | ||||
| #include <iostream>  // for operator<<, | ||||
|  | ||||
|  | ||||
| GalileoE1DllPllVemlTrackingFpga::GalileoE1DllPllVemlTrackingFpga( | ||||
|   | ||||
| @@ -39,9 +39,12 @@ | ||||
|  | ||||
| #include "dll_pll_veml_tracking_fpga.h" | ||||
| #include "tracking_interface.h" | ||||
| #include <gnuradio/runtime_types.h>  // for basic_block_sptr, top_block_... | ||||
| #include <cstddef>                   // for size_t | ||||
| #include <cstdint> | ||||
| #include <string> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -33,10 +33,17 @@ | ||||
| #include "Galileo_E5a.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "display.h" | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "galileo_e5_signal_processing.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/gr_complex.h>  // for gr_complex | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cmath>  // for round | ||||
| #include <complex> | ||||
| #include <cstring>  // for memcpy | ||||
| #include <iostream> | ||||
|  | ||||
|  | ||||
| GalileoE5aDllPllTrackingFpga::GalileoE5aDllPllTrackingFpga( | ||||
|   | ||||
| @@ -34,9 +34,12 @@ | ||||
|  | ||||
| #include "dll_pll_veml_tracking_fpga.h" | ||||
| #include "tracking_interface.h" | ||||
| #include <string> | ||||
| #include <gnuradio/runtime_types.h>  // for basic_block_sptr | ||||
| #include <cstdint> | ||||
| #include <stddef.h>  // for size_t | ||||
| #include <string> | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -38,10 +38,15 @@ | ||||
| #include "GPS_L1_CA.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "display.h" | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include <glog/logging.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cmath>    // for round | ||||
| #include <cstring>  // for memcpy | ||||
| #include <iostream> | ||||
|  | ||||
| #define NUM_PRNs 32 | ||||
|  | ||||
|   | ||||
| @@ -39,9 +39,12 @@ | ||||
|  | ||||
| #include "dll_pll_veml_tracking_fpga.h" | ||||
| #include "tracking_interface.h" | ||||
| #include <gnuradio/runtime_types.h> | ||||
| #include <cstddef> | ||||
| #include <string> | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -39,10 +39,16 @@ | ||||
| #include "GPS_L2C.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "display.h" | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_l2c_signal.h" | ||||
| #include <glog/logging.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cmath>    // for round | ||||
| #include <cstring>  // for memcpy | ||||
| #include <iostream> | ||||
|  | ||||
|  | ||||
| #define NUM_PRNs 32 | ||||
|  | ||||
|   | ||||
| @@ -37,11 +37,13 @@ | ||||
| #ifndef GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_ | ||||
| #define GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_ | ||||
|  | ||||
| #include "tracking_interface.h" | ||||
| //#include "dll_pll_veml_tracking.h" | ||||
| #include "dll_pll_veml_tracking_fpga.h" | ||||
| #include "tracking_interface.h" | ||||
| #include <gnuradio/runtime_types.h> | ||||
| #include <cstddef> | ||||
| #include <string> | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -40,10 +40,15 @@ | ||||
| #include "GPS_L5.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "display.h" | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_l5_signal.h" | ||||
| #include <glog/logging.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <cmath>    // for round | ||||
| #include <cstring>  // for memcpy | ||||
| #include <iostream> | ||||
|  | ||||
| #define NUM_PRNs 32 | ||||
|  | ||||
|   | ||||
| @@ -40,8 +40,12 @@ | ||||
|  | ||||
| #include "dll_pll_veml_tracking_fpga.h" | ||||
| #include "tracking_interface.h" | ||||
| #include <gnuradio/runtime_types.h> | ||||
| #include <cstddef> | ||||
| #include <cstdint> | ||||
| #include <string> | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| /*! | ||||
|   | ||||
| @@ -45,6 +45,7 @@ | ||||
| #include "beidou_b1i_signal_processing.h" | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "galileo_e5_signal_processing.h" | ||||
| #include "gnss_satellite.h" | ||||
| #include "gnss_sdr_create_directory.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_l2c_signal.h" | ||||
| @@ -61,9 +62,11 @@ | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <algorithm>  // for fill_n | ||||
| #include <cmath>      // for fmod, round, floor | ||||
| #include <complex>    // for complex | ||||
| #include <cstdlib>    // for abs, size_t | ||||
| #include <exception>  // for exception | ||||
| #include <iostream>   // for cout, cerr | ||||
| #include <map> | ||||
| #include <map>        // for map | ||||
|  | ||||
|  | ||||
| dll_pll_veml_tracking_sptr dll_pll_veml_make_tracking(const Dll_Pll_Conf &conf_) | ||||
|   | ||||
| @@ -44,8 +44,10 @@ | ||||
| #include <pmt/pmt.h>              // for pmt_t | ||||
| #include <cstdint>                // for int32_t | ||||
| #include <fstream>                // for string, ofstream | ||||
| #include <string>                 // for string | ||||
| #include <utility>                // for pair | ||||
|  | ||||
|  | ||||
| class Gnss_Synchro; | ||||
| class dll_pll_veml_tracking; | ||||
|  | ||||
|   | ||||
| @@ -41,25 +41,25 @@ | ||||
| #include "Galileo_E1.h" | ||||
| #include "Galileo_E5a.h" | ||||
| #include "MATH_CONSTANTS.h" | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "galileo_e5_signal_processing.h" | ||||
| #include "fpga_multicorrelator.h" | ||||
| #include "gnss_satellite.h" | ||||
| #include "gnss_sdr_create_directory.h" | ||||
| #include "gps_l2c_signal.h" | ||||
| #include "gps_l5_signal.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "lock_detectors.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include <boost/filesystem/path.hpp> | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <matio.h> | ||||
| #include <pmt/pmt_sugar.h>  // for mp | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <algorithm> | ||||
| #include <cmath> | ||||
| #include <complex> | ||||
| #include <cstdlib>  // for abs, size_t | ||||
| #include <exception> | ||||
| #include <iostream> | ||||
| #include <numeric> | ||||
| #include <sstream> | ||||
| #include <map> | ||||
|  | ||||
|  | ||||
| dll_pll_veml_tracking_fpga_sptr dll_pll_veml_make_tracking_fpga(const Dll_Pll_Conf_Fpga &conf_) | ||||
|   | ||||
| @@ -33,18 +33,23 @@ | ||||
| #define GNSS_SDR_DLL_PLL_VEML_TRACKING_FPGA_H | ||||
|  | ||||
| #include "dll_pll_conf_fpga.h" | ||||
| #include "fpga_multicorrelator.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "tracking_2nd_DLL_filter.h" | ||||
| #include "tracking_2nd_PLL_filter.h" | ||||
| #include <boost/circular_buffer.hpp> | ||||
| #include <boost/shared_ptr.hpp> | ||||
| #include <gnuradio/block.h> | ||||
| #include <fstream> | ||||
| #include <map> | ||||
| #include <queue> | ||||
| #include <gnuradio/gr_complex.h>  // for gr_complex | ||||
| #include <gnuradio/types.h>       // for gr_vector_const_void_star | ||||
| #include <pmt/pmt.h>              // for pmt_t | ||||
| #include <cstdint> | ||||
| #include <deque>    // for deque | ||||
| #include <fstream>  // for ofstream | ||||
| #include <memory>   // for shared_ptr | ||||
| #include <string> | ||||
| #include <utility> | ||||
| //#include <string> | ||||
|  | ||||
| class Fpga_Multicorrelator_8sc; | ||||
| class Gnss_Synchro; | ||||
| class dll_pll_veml_tracking_fpga; | ||||
|  | ||||
| using dll_pll_veml_tracking_fpga_sptr = boost::shared_ptr<dll_pll_veml_tracking_fpga>; | ||||
|   | ||||
| @@ -31,6 +31,7 @@ | ||||
|  | ||||
| #include "nmea_printer.h" | ||||
| #include "rtklib_rtkpos.h" | ||||
| #include "rtklib_solver.h" | ||||
| #include <cstdio> | ||||
| #include <fstream> | ||||
| #include <string> | ||||
|   | ||||
| @@ -30,20 +30,21 @@ | ||||
|  */ | ||||
|  | ||||
| #include "front_end_cal.h" | ||||
| #include "GPS_L1_CA.h"  // for GPS_L1_FREQ_HZ | ||||
| #include "concurrent_map.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "gnss_sdr_supl_client.h" | ||||
| #include "gps_acq_assist.h"  // for Gps_Acq_Assist | ||||
| #include "gps_almanac.h" | ||||
| #include "gps_cnav_ephemeris.h" | ||||
| #include "gps_cnav_iono.h" | ||||
| #include "gps_ephemeris.h" | ||||
| #include "gps_iono.h" | ||||
| #include "gps_navigation_message.h" | ||||
| #include "gps_utc_model.h" | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <glog/logging.h> | ||||
| #include <algorithm>  // for min | ||||
| #include <cmath> | ||||
| #include <exception> | ||||
| #include <memory> | ||||
| #include <iostream>  // for operator<< | ||||
| #include <map> | ||||
| #include <utility> | ||||
|  | ||||
| extern Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map; | ||||
|   | ||||
| @@ -32,9 +32,11 @@ | ||||
| #ifndef GNSS_SDR_FRONT_END_CAL_H_ | ||||
| #define GNSS_SDR_FRONT_END_CAL_H_ | ||||
|  | ||||
| #include "file_configuration.h" | ||||
| #include <armadillo> | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| class ConfigurationInterface; | ||||
|  | ||||
| class FrontEndCal | ||||
| { | ||||
|   | ||||
| @@ -32,51 +32,57 @@ | ||||
| #define FRONT_END_CAL_VERSION "0.0.1" | ||||
| #endif | ||||
|  | ||||
| #include "GPS_L1_CA.h"  // for GPS_L1_CA_COD... | ||||
| #include "concurrent_map.h" | ||||
| #include "concurrent_queue.h" | ||||
| #include "configuration_interface.h"  // for Configuration... | ||||
| #include "file_configuration.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_interface.h"  // for GNSSBlockInte... | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnss_sdr_supl_client.h" | ||||
| #include "gnss_signal.h" | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_acq_assist.h"  // for Gps_Acq_Assist | ||||
| #include "gps_almanac.h" | ||||
| #include "gps_cnav_ephemeris.h" | ||||
| #include "gps_cnav_iono.h" | ||||
| #include "gps_ephemeris.h" | ||||
| #include "gps_iono.h" | ||||
| #include "gps_l1_ca_pcps_acquisition_fine_doppler.h" | ||||
| #include "gps_navigation_message.h" | ||||
| #include "gps_utc_model.h" | ||||
| #include "sbas_ephemeris.h" | ||||
| #include <boost/exception/detail/exception_ptr.hpp> | ||||
| #include <boost/any.hpp>  // for bad_any_cast | ||||
| #include <boost/bind.hpp> | ||||
| #include <boost/exception/exception.hpp> | ||||
| #include <boost/filesystem.hpp> | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gflags/gflags.h> | ||||
| #include <glog/logging.h> | ||||
| #include <gnuradio/block.h>  // for block | ||||
| #include <gnuradio/blocks/file_sink.h> | ||||
| #include <gnuradio/blocks/file_source.h> | ||||
| #include <gnuradio/blocks/head.h> | ||||
| #include <gnuradio/blocks/null_sink.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/runtime_types.h>  // for block_sptr | ||||
| #include <gnuradio/top_block.h> | ||||
| #include <pmt/pmt.h>        // for pmt_t, to_long | ||||
| #include <pmt/pmt_sugar.h>  // for mp | ||||
| #include <chrono> | ||||
| #include <cmath>  // for round | ||||
| #include <cstdint> | ||||
| #include <cstdlib> | ||||
| #include <ctime>  // for ctime | ||||
| #include <exception> | ||||
| #include <iostream> | ||||
| #include <map> | ||||
| #include <memory> | ||||
| #include <queue> | ||||
| #include <stdexcept>  // for logic_error | ||||
| #include <string> | ||||
| #include <thread> | ||||
| #include <utility> | ||||
| #include <vector> | ||||
|  | ||||
|  | ||||
| DECLARE_string(log_dir); | ||||
|  | ||||
| Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map; | ||||
|   | ||||
| @@ -29,10 +29,10 @@ | ||||
| clearvars; | ||||
| close all; | ||||
| addpath('./libs'); | ||||
| samplingFreq       = 6625000;     %[Hz] | ||||
| channels=5; | ||||
| path='/archive/'; | ||||
| observables_log_path=[path 'glo_observables.dat']; | ||||
| samplingFreq       = 25000000;     %[Hz] | ||||
| channels=10; | ||||
| path='/home/dmiralles/Documents/gnss-sdr/'; | ||||
| observables_log_path=[path 'observables.dat']; | ||||
| GNSS_observables= read_hybrid_observables_dump(channels,observables_log_path); | ||||
|  | ||||
| %% | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez