mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-04-13 06:13:17 +00:00
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
This commit is contained in:
parent
0704e664e5
commit
305d9f14c1
@ -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());
|
||||
}
|
||||
|
||||
|
@ -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_;
|
||||
}
|
||||
|
@ -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_;
|
||||
|
@ -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_;
|
||||
}
|
||||
|
@ -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_;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -38,15 +38,18 @@
|
||||
#define GNSS_SDR_GPS_L1_CA_DLL_FLL_PLL_TRACKING_CC_H
|
||||
|
||||
#include <fstream>
|
||||
#include <gnuradio/gr_block.h>
|
||||
#include <gnuradio/gr_msg_queue.h>
|
||||
//#include <gnuradio/gr_sync_decimator.h>
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "tracking_FLL_PLL_filter.h"
|
||||
#include <queue>
|
||||
#include <boost/thread/mutex.hpp>
|
||||
#include <boost/thread/thread.hpp>
|
||||
#include <gnuradio/gr_block.h>
|
||||
#include <gnuradio/gr_msg_queue.h>
|
||||
//#include <gnuradio/gr_sync_decimator.h>
|
||||
#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>
|
||||
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<int> *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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -37,23 +37,26 @@
|
||||
#define GNSS_SDR_GPS_L1_CA_DLL_PLL_TRACKING_CC_H
|
||||
|
||||
#include <fstream>
|
||||
#include <gnuradio/gr_block.h>
|
||||
#include <gnuradio/gr_msg_queue.h>
|
||||
//#include <gnuradio/gr_sync_decimator.h>
|
||||
#include "gps_sdr_signal_processing.h"
|
||||
#include "tracking_2nd_DLL_filter.h"
|
||||
#include "tracking_2nd_PLL_filter.h"
|
||||
#include <queue>
|
||||
#include <boost/thread/mutex.hpp>
|
||||
#include <boost/thread/thread.hpp>
|
||||
#include <gnuradio/gr_block.h>
|
||||
#include <gnuradio/gr_msg_queue.h>
|
||||
//#include <gnuradio/gr_sync_decimator.h>
|
||||
#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>
|
||||
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<int> *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;
|
||||
|
@ -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;
|
||||
|
@ -38,6 +38,7 @@
|
||||
#define GNSS_SDR_TRACKING_INTERFACE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gnss_satellite.h"
|
||||
|
||||
template<typename Data>class 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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user