From 305d9f14c13980729af1a6140d2319fe17b0ccce Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 19 Jan 2012 19:30:05 +0000 Subject: [PATCH] Class Gnss_Satellite extended to tracking git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@133 64b25241-fba3-4117-9849-534c7e92360d --- src/algorithms/channel/adapters/channel.cc | 2 +- .../gps_l1_ca_dll_fll_pll_tracking.cc | 4 +-- .../adapters/gps_l1_ca_dll_fll_pll_tracking.h | 4 +-- .../adapters/gps_l1_ca_dll_pll_tracking.cc | 4 +-- .../adapters/gps_l1_ca_dll_pll_tracking.h | 4 +-- .../gps_l1_ca_dll_fll_pll_tracking_cc.cc | 14 +++++------ .../gps_l1_ca_dll_fll_pll_tracking_cc.h | 23 +++++++++-------- .../gps_l1_ca_dll_pll_tracking_cc.cc | 14 +++++------ .../gps_l1_ca_dll_pll_tracking_cc.h | 25 +++++++++++-------- src/core/interfaces/acquisition_interface.h | 2 +- src/core/interfaces/tracking_interface.h | 3 ++- 11 files changed, 53 insertions(+), 46 deletions(-) diff --git a/src/algorithms/channel/adapters/channel.cc b/src/algorithms/channel/adapters/channel.cc index 18bc6b278..12a68c0ae 100644 --- a/src/algorithms/channel/adapters/channel.cc +++ b/src/algorithms/channel/adapters/channel.cc @@ -172,7 +172,7 @@ void Channel::set_satellite(Gnss_Satellite satellite) { gnss_satellite_ = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); acq_->set_satellite(gnss_satellite_); - trk_->set_satellite(satellite.get_PRN()); + trk_->set_satellite(gnss_satellite_); nav_->set_satellite(satellite.get_PRN()); } diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.cc index 4ef998faa..4864a5a44 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.cc @@ -122,9 +122,9 @@ void GpsL1CaDllFllPllTracking::start_tracking() tracking_->start_tracking(); } -void GpsL1CaDllFllPllTracking::set_satellite(unsigned int satellite) +void GpsL1CaDllFllPllTracking::set_satellite(Gnss_Satellite satellite) { - satellite_ = satellite; + satellite_ = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); tracking_->set_satellite(satellite); DLOG(INFO) << "satellite set to " << satellite_; } diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.h b/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.h index 603d9c0b4..f3e261887 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_fll_pll_tracking.h @@ -76,7 +76,7 @@ public: gr_basic_block_sptr get_left_block(); gr_basic_block_sptr get_right_block(); - void set_satellite(unsigned int satellite); + void set_satellite(Gnss_Satellite satellite); void set_channel(unsigned int channel); void set_prn_code_phase(signed int phase_samples); void set_doppler_freq_shift(float doppler_freq_hz); @@ -91,7 +91,7 @@ private: gps_l1_ca_dll_fll_pll_tracking_cc_sptr tracking_; size_t item_size_; - unsigned int satellite_; + Gnss_Satellite satellite_; unsigned int channel_; std::string role_; diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc index 938675855..59aaaa17b 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc @@ -115,9 +115,9 @@ void GpsL1CaDllPllTracking::start_tracking() /* * Set satellite ID */ -void GpsL1CaDllPllTracking::set_satellite(unsigned int satellite) +void GpsL1CaDllPllTracking::set_satellite(Gnss_Satellite satellite) { - satellite_ = satellite; + satellite_ = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); tracking_->set_satellite(satellite); DLOG(INFO) << "satellite set to " << satellite_; } diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h index ab34ba94a..6d4c4e8d9 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h @@ -81,7 +81,7 @@ public: /*! * \brief Set satellite ID */ - void set_satellite(unsigned int satellite); + void set_satellite(Gnss_Satellite satellite); /*! * \brief Set tracking channel unique ID @@ -116,7 +116,7 @@ private: gps_l1_ca_dll_pll_tracking_cc_sptr tracking_; size_t item_size_; - unsigned int satellite_; + Gnss_Satellite satellite_; unsigned int channel_; std::string role_; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.cc index 32cfdbce7..85670b2bf 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.cc @@ -61,7 +61,7 @@ using google::LogMessage; gps_l1_ca_dll_fll_pll_tracking_cc_sptr -gps_l1_ca_dll_fll_pll_make_tracking_cc(unsigned int satellite, long if_freq, long fs_in, unsigned +gps_l1_ca_dll_fll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int order, float fll_bw_hz, float pll_bw_hz, float dll_bw_hz, float early_late_space_chips) { @@ -82,7 +82,7 @@ void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::forecast (int noutput_items, gr_vector_i -Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(unsigned int satellite, +Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int order, float fll_bw_hz, float pll_bw_hz, float dll_bw_hz, float early_late_space_chips) : @@ -94,7 +94,7 @@ Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(unsigned in // initialize internal vars d_queue = queue; d_dump = dump; - d_satellite = satellite; + d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); d_if_freq = if_freq; d_fs_in = fs_in; d_vector_length = vector_length; @@ -181,7 +181,7 @@ void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::start_tracking() d_FLL_wait = 1; // generate local reference ALWAYS starting at chip 1 (1 sample per chip) - code_gen_conplex(&d_ca_code[1], d_satellite, 0); + code_gen_conplex(&d_ca_code[1], d_satellite.get_PRN(), 0); d_ca_code[0] = d_ca_code[(int)GPS_L1_CA_CODE_LENGTH_CHIPS]; d_ca_code[(int)GPS_L1_CA_CODE_LENGTH_CHIPS + 1] = d_ca_code[1]; @@ -198,7 +198,7 @@ void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::start_tracking() d_code_phase_samples = d_acq_code_phase_samples; // DEBUG OUTPUT - std::cout << "Tracking start on channel " << d_channel << " for satellite ID* " << this->d_satellite << std::endl; + std::cout << "Tracking start on channel " << d_channel << " for satellite " << this->d_satellite << std::endl; DLOG(INFO) << "Start tracking for satellite " << this->d_satellite << " received "; // enable tracking @@ -591,9 +591,9 @@ void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::set_acq_doppler(float doppler) -void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::set_satellite(unsigned int satellite) +void Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc::set_satellite(Gnss_Satellite satellite) { - d_satellite = satellite; + d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); DLOG(INFO) << "Tracking Satellite set to " << d_satellite; } diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.h index 28253e6fa..1f9110a99 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_fll_pll_tracking_cc.h @@ -38,15 +38,18 @@ #define GNSS_SDR_GPS_L1_CA_DLL_FLL_PLL_TRACKING_CC_H #include -#include -#include -//#include -#include "gps_sdr_signal_processing.h" -#include "tracking_FLL_PLL_filter.h" #include #include #include +#include +#include +//#include #include "concurrent_queue.h" +#include "gps_sdr_signal_processing.h" +#include "gnss_satellite.h" +#include "tracking_FLL_PLL_filter.h" + + //#include "GPS_L1_CA.h" class Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc; @@ -54,7 +57,7 @@ typedef boost::shared_ptr gps_l1_ca_dll_fll_pll_tracking_cc_sptr; gps_l1_ca_dll_fll_pll_tracking_cc_sptr -gps_l1_ca_dll_fll_pll_make_tracking_cc(unsigned int satellite, +gps_l1_ca_dll_fll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, @@ -78,7 +81,7 @@ public: ~Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(); - void set_satellite(unsigned int satellite); + void set_satellite(Gnss_Satellite satellite); void set_channel(unsigned int channel); void set_acq_code_phase(float code_phase); void set_acq_doppler(float doppler); @@ -109,7 +112,7 @@ public: private: friend gps_l1_ca_dll_fll_pll_tracking_cc_sptr - gps_l1_ca_dll_fll_pll_make_tracking_cc(unsigned int satellite, + gps_l1_ca_dll_fll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, @@ -122,7 +125,7 @@ private: float dll_bw_hz, float early_late_space_chips); - Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(unsigned int satellite, + Gps_L1_Ca_Dll_Fll_Pll_Tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, @@ -142,7 +145,7 @@ private: concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; - unsigned int d_satellite; + Gnss_Satellite d_satellite; unsigned int d_channel; int d_last_seg; long d_if_freq; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc index 123c730ea..da40376b7 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc @@ -63,7 +63,7 @@ using google::LogMessage; gps_l1_ca_dll_pll_tracking_cc_sptr -gps_l1_ca_dll_pll_make_tracking_cc(unsigned int satellite, long if_freq, long fs_in, unsigned +gps_l1_ca_dll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, float pll_bw_hz, float dll_bw_hz, float early_late_space_chips) { @@ -81,7 +81,7 @@ void Gps_L1_Ca_Dll_Pll_Tracking_cc::forecast (int noutput_items, -Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc(unsigned int satellite, long if_freq, long fs_in, unsigned +Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, float pll_bw_hz, float dll_bw_hz, float early_late_space_chips) : gr_block ("Gps_L1_Ca_Dll_Pll_Tracking_cc", gr_make_io_signature (1, 1, sizeof(gr_complex)), gr_make_io_signature(5, 5, sizeof(double))) @@ -92,7 +92,7 @@ Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc(unsigned int satell // initialize internal vars d_queue = queue; d_dump = dump; - d_satellite = satellite; + d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); d_if_freq = if_freq; d_fs_in = fs_in; d_vector_length = vector_length; @@ -197,7 +197,7 @@ void Gps_L1_Ca_Dll_Pll_Tracking_cc::start_tracking() d_code_loop_filter.initialize(d_acq_code_phase_samples); //initialize the code filter // generate local reference ALWAYS starting at chip 1 (1 sample per chip) - code_gen_conplex(&d_ca_code[1], d_satellite, 0); + code_gen_conplex(&d_ca_code[1], d_satellite.get_PRN(), 0); d_ca_code[0] = d_ca_code[(int)GPS_L1_CA_CODE_LENGTH_CHIPS]; d_ca_code[(int)GPS_L1_CA_CODE_LENGTH_CHIPS + 1] = d_ca_code[1]; @@ -211,7 +211,7 @@ void Gps_L1_Ca_Dll_Pll_Tracking_cc::start_tracking() d_code_phase_samples = d_acq_code_phase_samples; // DEBUG OUTPUT - std::cout << "Tracking start on channel " << d_channel << " for satellite ID* " << this->d_satellite << std::endl; + std::cout << "Tracking start on channel " << d_channel << " for satellite " << this->d_satellite << std::endl; DLOG(INFO) << "Start tracking for satellite " << this->d_satellite << " received" << std::endl; // enable tracking @@ -606,9 +606,9 @@ void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_acq_doppler(float doppler) -void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_satellite(unsigned int satellite) +void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_satellite(Gnss_Satellite satellite) { - d_satellite = satellite; + d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG_AT_LEVEL(INFO) << "Tracking Satellite set to " << d_satellite; } diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h index 2f7c94bc7..97b873079 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h @@ -37,23 +37,26 @@ #define GNSS_SDR_GPS_L1_CA_DLL_PLL_TRACKING_CC_H #include -#include -#include -//#include -#include "gps_sdr_signal_processing.h" -#include "tracking_2nd_DLL_filter.h" -#include "tracking_2nd_PLL_filter.h" #include #include #include +#include +#include +//#include #include "concurrent_queue.h" +#include "gps_sdr_signal_processing.h" +#include "gnss_satellite.h" +#include "tracking_2nd_DLL_filter.h" +#include "tracking_2nd_PLL_filter.h" + + class Gps_L1_Ca_Dll_Pll_Tracking_cc; typedef boost::shared_ptr gps_l1_ca_dll_pll_tracking_cc_sptr; gps_l1_ca_dll_pll_tracking_cc_sptr -gps_l1_ca_dll_pll_make_tracking_cc(unsigned int satellite, long if_freq, +gps_l1_ca_dll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, @@ -74,7 +77,7 @@ public: ~Gps_L1_Ca_Dll_Pll_Tracking_cc(); - void set_satellite(unsigned int satellite); + void set_satellite(Gnss_Satellite satellite); void set_channel(unsigned int channel); void set_acq_code_phase(float code_phase); void set_acq_doppler(float doppler); @@ -102,7 +105,7 @@ public: private: friend gps_l1_ca_dll_pll_tracking_cc_sptr - gps_l1_ca_dll_pll_make_tracking_cc(unsigned int satellite, long if_freq, + gps_l1_ca_dll_pll_make_tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, @@ -112,7 +115,7 @@ private: float dll_bw_hz, float early_late_space_chips); - Gps_L1_Ca_Dll_Pll_Tracking_cc(unsigned int satellite, long if_freq, + Gps_L1_Ca_Dll_Pll_Tracking_cc(Gnss_Satellite satellite, long if_freq, long fs_in, unsigned int vector_length, gr_msg_queue_sptr queue, @@ -129,7 +132,7 @@ private: concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; - unsigned int d_satellite; + Gnss_Satellite d_satellite; unsigned int d_channel; int d_last_seg; long d_if_freq; diff --git a/src/core/interfaces/acquisition_interface.h b/src/core/interfaces/acquisition_interface.h index 8c26e8ccb..b27bb45cd 100644 --- a/src/core/interfaces/acquisition_interface.h +++ b/src/core/interfaces/acquisition_interface.h @@ -56,7 +56,7 @@ class AcquisitionInterface: public GNSSBlockInterface public: //virtual void set_active(bool active) = 0; - virtual void set_satellite(Gnss_Satellite sat) = 0; + virtual void set_satellite(Gnss_Satellite sat) = 0; virtual void set_channel(unsigned int channel) = 0; virtual void set_threshold(float threshold) = 0; virtual void set_doppler_max(unsigned int doppler_max) = 0; diff --git a/src/core/interfaces/tracking_interface.h b/src/core/interfaces/tracking_interface.h index 9eb1a36d9..6ffa79682 100644 --- a/src/core/interfaces/tracking_interface.h +++ b/src/core/interfaces/tracking_interface.h @@ -38,6 +38,7 @@ #define GNSS_SDR_TRACKING_INTERFACE_H_ #include "gnss_block_interface.h" +#include "gnss_satellite.h" templateclass concurrent_queue; @@ -56,7 +57,7 @@ class TrackingInterface : public GNSSBlockInterface public: virtual void start_tracking() = 0; - virtual void set_satellite(unsigned int satellite) = 0; + virtual void set_satellite(Gnss_Satellite sat) = 0; virtual void set_channel(unsigned int channel) = 0; virtual void set_prn_code_phase(signed int phase_samples) = 0; virtual void set_doppler_freq_shift(float doppler_freq_hz) = 0;