1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-10-22 02:57:41 +00:00

Change blocks name from L2_M to L2C

This commit is contained in:
Carles Fernandez
2016-11-03 19:33:04 +01:00
parent e918da7785
commit 05f8b78751
12 changed files with 81 additions and 75 deletions

View File

@@ -178,18 +178,18 @@ Tracking_2S.order=3;
Tracking_2S.early_late_space_chips=0.5; Tracking_2S.early_late_space_chips=0.5;
;######### TELEMETRY DECODER GPS CONFIG ############ ;######### TELEMETRY DECODER GPS CONFIG ############
TelemetryDecoder_2S.implementation=GPS_L2_M_Telemetry_Decoder TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
TelemetryDecoder_2S.dump=false TelemetryDecoder_2S.dump=false
TelemetryDecoder_2S.decimation_factor=1; TelemetryDecoder_2S.decimation_factor=1;
;######### OBSERVABLES CONFIG ############. ;######### OBSERVABLES CONFIG ############.
Observables.implementation=GPS_L1_CA_Observables Observables.implementation=Hybrid_Observables
Observables.dump=false Observables.dump=false
Observables.dump_filename=./observables.dat Observables.dump_filename=./observables.dat
;######### PVT CONFIG ############ ;######### PVT CONFIG ############
PVT.implementation=GPS_L1_CA_PVT PVT.implementation=Hybrid_PVT
PVT.averaging_depth=10 PVT.averaging_depth=10
PVT.flag_averaging=true PVT.flag_averaging=true
PVT.output_rate_ms=100 PVT.output_rate_ms=100

View File

@@ -134,18 +134,18 @@ Tracking_2S.order=2;
Tracking_2S.early_late_space_chips=0.5; Tracking_2S.early_late_space_chips=0.5;
;######### TELEMETRY DECODER GPS CONFIG ############ ;######### TELEMETRY DECODER GPS CONFIG ############
TelemetryDecoder_2S.implementation=GPS_L2_M_Telemetry_Decoder TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
TelemetryDecoder_2S.dump=true TelemetryDecoder_2S.dump=true
TelemetryDecoder_2S.decimation_factor=1; TelemetryDecoder_2S.decimation_factor=1;
;######### OBSERVABLES CONFIG ############. ;######### OBSERVABLES CONFIG ############.
Observables.implementation=GPS_L1_CA_Observables Observables.implementation=Hybrid_Observables
Observables.dump=false Observables.dump=false
Observables.dump_filename=./observables.dat Observables.dump_filename=./observables.dat
;######### PVT CONFIG ############ ;######### PVT CONFIG ############
PVT.implementation=GPS_L1_CA_PVT PVT.implementation=Hybrid_PVT
PVT.averaging_depth=10 PVT.averaging_depth=10
PVT.flag_averaging=true PVT.flag_averaging=true
PVT.output_rate_ms=100 PVT.output_rate_ms=100

View File

@@ -438,14 +438,14 @@ TelemetryDecoder_1C.decimation_factor=20;
;######### TELEMETRY DECODER GPS L2 CONFIG ############ ;######### TELEMETRY DECODER GPS L2 CONFIG ############
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M ;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
TelemetryDecoder_2S.implementation=GPS_L2_M_Telemetry_Decoder TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
TelemetryDecoder_2S.dump=false TelemetryDecoder_2S.dump=false
TelemetryDecoder_2S.decimation_factor=1; TelemetryDecoder_2S.decimation_factor=1;
;######### OBSERVABLES CONFIG ############ ;######### OBSERVABLES CONFIG ############
;#implementation: Use [GPS_L1_CA_Observables] for GPS L1 C/A.Mixed_Observables ;#implementation: Use [GPS_L1_CA_Observables] for GPS L1 C/A.Mixed_Observables
Observables.implementation=GPS_L1_CA_Observables Observables.implementation=Hybrid_Observables
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false] ;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
Observables.dump=false Observables.dump=false
@@ -456,7 +456,7 @@ Observables.dump_filename=./observables.dat
;######### PVT CONFIG ############ ;######### PVT CONFIG ############
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version. ;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
PVT.implementation=GPS_L1_CA_PVT PVT.implementation=Hybrid_PVT
;#averaging_depth: Number of PVT observations in the moving average algorithm ;#averaging_depth: Number of PVT observations in the moving average algorithm
PVT.averaging_depth=10 PVT.averaging_depth=10

View File

@@ -440,7 +440,7 @@ TelemetryDecoder_1C.decimation_factor=20;
;######### TELEMETRY DECODER GPS L2 CONFIG ############ ;######### TELEMETRY DECODER GPS L2 CONFIG ############
;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M ;#implementation: Use [GPS_L1_CA_Telemetry_Decoder] for GPS L2 M
TelemetryDecoder_2S.implementation=GPS_L2_M_Telemetry_Decoder TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
TelemetryDecoder_2S.dump=false TelemetryDecoder_2S.dump=false
TelemetryDecoder_2S.decimation_factor=1; TelemetryDecoder_2S.decimation_factor=1;

View File

@@ -378,14 +378,14 @@ TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
TelemetryDecoder_1C.dump=false TelemetryDecoder_1C.dump=false
TelemetryDecoder_1C.decimation_factor=20; TelemetryDecoder_1C.decimation_factor=20;
TelemetryDecoder_2S.implementation=GPS_L2_M_Telemetry_Decoder TelemetryDecoder_2S.implementation=GPS_L2C_Telemetry_Decoder
TelemetryDecoder_2S.dump=false TelemetryDecoder_2S.dump=false
TelemetryDecoder_2S.decimation_factor=1; TelemetryDecoder_2S.decimation_factor=1;
;######### OBSERVABLES CONFIG ############ ;######### OBSERVABLES CONFIG ############
;#implementation: Use [GPS_L1_CA_Observables] for GPS L1 C/A. ;#implementation: Use [GPS_L1_CA_Observables] for GPS L1 C/A.
Observables.implementation=GPS_L1_CA_Observables Observables.implementation=Hybrid_Observables
;#dump: Enable or disable the Observables internal binary data file logging [true] or [false] ;#dump: Enable or disable the Observables internal binary data file logging [true] or [false]
Observables.dump=false Observables.dump=false
@@ -396,7 +396,7 @@ Observables.dump_filename=./observables.dat
;######### PVT CONFIG ############ ;######### PVT CONFIG ############
;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version. ;#implementation: Position Velocity and Time (PVT) implementation algorithm: Use [GPS_L1_CA_PVT] in this version.
PVT.implementation=GPS_L1_CA_PVT PVT.implementation=Hybrid_PVT
;#averaging_depth: Number of PVT observations in the moving average algorithm ;#averaging_depth: Number of PVT observations in the moving average algorithm
PVT.averaging_depth=10 PVT.averaging_depth=10

View File

@@ -18,7 +18,7 @@
set(TELEMETRY_DECODER_ADAPTER_SOURCES set(TELEMETRY_DECODER_ADAPTER_SOURCES
gps_l1_ca_telemetry_decoder.cc gps_l1_ca_telemetry_decoder.cc
gps_l2_m_telemetry_decoder.cc gps_l2c_telemetry_decoder.cc
galileo_e1b_telemetry_decoder.cc galileo_e1b_telemetry_decoder.cc
sbas_l1_telemetry_decoder.cc sbas_l1_telemetry_decoder.cc
galileo_e5a_telemetry_decoder.cc galileo_e5a_telemetry_decoder.cc

View File

@@ -1,5 +1,5 @@
/*! /*!
* \file gps_l2_m_telemetry_decoder.cc * \file gps_l2c_telemetry_decoder.cc
* \brief Implementation of an adapter of a GPS L2C M NAV data decoder block * \brief Implementation of an adapter of a GPS L2C M NAV data decoder block
* to a TelemetryDecoderInterface * to a TelemetryDecoderInterface
* \author Javier Arribas, 2015. jarribas(at)cttc.es * \author Javier Arribas, 2015. jarribas(at)cttc.es
@@ -30,7 +30,7 @@
*/ */
#include "gps_l2_m_telemetry_decoder.h" #include "gps_l2c_telemetry_decoder.h"
#include <gnuradio/io_signature.h> #include <gnuradio/io_signature.h>
#include <glog/logging.h> #include <glog/logging.h>
#include "concurrent_queue.h" #include "concurrent_queue.h"
@@ -43,7 +43,7 @@
using google::LogMessage; using google::LogMessage;
GpsL2MTelemetryDecoder::GpsL2MTelemetryDecoder(ConfigurationInterface* configuration, GpsL2CTelemetryDecoder::GpsL2CTelemetryDecoder(ConfigurationInterface* configuration,
std::string role, std::string role,
unsigned int in_streams, unsigned int in_streams,
unsigned int out_streams) : unsigned int out_streams) :
@@ -56,7 +56,7 @@ GpsL2MTelemetryDecoder::GpsL2MTelemetryDecoder(ConfigurationInterface* configura
dump_ = configuration->property(role + ".dump", false); dump_ = configuration->property(role + ".dump", false);
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
// make telemetry decoder object // make telemetry decoder object
telemetry_decoder_ = gps_l2_m_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me telemetry_decoder_ = gps_l2c_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me
DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")";
//decimation factor //decimation factor
@@ -67,11 +67,11 @@ GpsL2MTelemetryDecoder::GpsL2MTelemetryDecoder(ConfigurationInterface* configura
} }
GpsL2MTelemetryDecoder::~GpsL2MTelemetryDecoder() GpsL2CTelemetryDecoder::~GpsL2CTelemetryDecoder()
{} {}
void GpsL2MTelemetryDecoder::set_satellite(Gnss_Satellite satellite) void GpsL2CTelemetryDecoder::set_satellite(Gnss_Satellite satellite)
{ {
satellite_ = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); satellite_ = Gnss_Satellite(satellite.get_system(), satellite.get_PRN());
telemetry_decoder_->set_satellite(satellite_); telemetry_decoder_->set_satellite(satellite_);
@@ -79,7 +79,7 @@ void GpsL2MTelemetryDecoder::set_satellite(Gnss_Satellite satellite)
} }
void GpsL2MTelemetryDecoder::connect(gr::top_block_sptr top_block) void GpsL2CTelemetryDecoder::connect(gr::top_block_sptr top_block)
{ {
if(top_block) { /* top_block is not null */}; if(top_block) { /* top_block is not null */};
// Nothing to connect internally // Nothing to connect internally
@@ -87,20 +87,20 @@ void GpsL2MTelemetryDecoder::connect(gr::top_block_sptr top_block)
} }
void GpsL2MTelemetryDecoder::disconnect(gr::top_block_sptr top_block) void GpsL2CTelemetryDecoder::disconnect(gr::top_block_sptr top_block)
{ {
if(top_block) { /* top_block is not null */}; if(top_block) { /* top_block is not null */};
// Nothing to disconnect // Nothing to disconnect
} }
gr::basic_block_sptr GpsL2MTelemetryDecoder::get_left_block() gr::basic_block_sptr GpsL2CTelemetryDecoder::get_left_block()
{ {
return telemetry_decoder_; return telemetry_decoder_;
} }
gr::basic_block_sptr GpsL2MTelemetryDecoder::get_right_block() gr::basic_block_sptr GpsL2CTelemetryDecoder::get_right_block()
{ {
return telemetry_decoder_; return telemetry_decoder_;
} }

View File

@@ -1,6 +1,6 @@
/*! /*!
* \file gps_l2_m_telemetry_decoder.h * \file gps_l2c_telemetry_decoder.h
* \brief Interface of an adapter of a GPS L1 C/A NAV data decoder block * \brief Interface of an adapter of a GPS L2C (CNAV) data decoder block
* to a TelemetryDecoderInterface * to a TelemetryDecoderInterface
* \author Javier Arribas, 2015. jarribas(at)cttc.es * \author Javier Arribas, 2015. jarribas(at)cttc.es
* *
@@ -30,12 +30,12 @@
*/ */
#ifndef GNSS_SDR_GPS_L2_M_TELEMETRY_DECODER_H_ #ifndef GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_H_
#define GNSS_SDR_GPS_L2_M_TELEMETRY_DECODER_H_ #define GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_H_
#include <string> #include <string>
#include "telemetry_decoder_interface.h" #include "telemetry_decoder_interface.h"
#include "gps_l2_m_telemetry_decoder_cc.h" #include "gps_l2c_telemetry_decoder_cc.h"
class ConfigurationInterface; class ConfigurationInterface;
@@ -43,24 +43,24 @@ class ConfigurationInterface;
/*! /*!
* \brief This class implements a NAV data decoder for GPS L2 M * \brief This class implements a NAV data decoder for GPS L2 M
*/ */
class GpsL2MTelemetryDecoder : public TelemetryDecoderInterface class GpsL2CTelemetryDecoder : public TelemetryDecoderInterface
{ {
public: public:
GpsL2MTelemetryDecoder(ConfigurationInterface* configuration, GpsL2CTelemetryDecoder(ConfigurationInterface* configuration,
std::string role, std::string role,
unsigned int in_streams, unsigned int in_streams,
unsigned int out_streams); unsigned int out_streams);
virtual ~GpsL2MTelemetryDecoder(); virtual ~GpsL2CTelemetryDecoder();
std::string role() std::string role()
{ {
return role_; return role_;
} }
//! Returns "GPS_L2_M_Telemetry_Decoder" //! Returns "GPS_L2C_Telemetry_Decoder"
std::string implementation() std::string implementation()
{ {
return "GPS_L2_M_Telemetry_Decoder"; return "GPS_L2C_Telemetry_Decoder";
} }
void connect(gr::top_block_sptr top_block); void connect(gr::top_block_sptr top_block);
void disconnect(gr::top_block_sptr top_block); void disconnect(gr::top_block_sptr top_block);
@@ -78,7 +78,7 @@ public:
} }
private: private:
gps_l2_m_telemetry_decoder_cc_sptr telemetry_decoder_; gps_l2c_telemetry_decoder_cc_sptr telemetry_decoder_;
Gnss_Satellite satellite_; Gnss_Satellite satellite_;
int channel_; int channel_;
bool dump_; bool dump_;

View File

@@ -18,7 +18,7 @@
set(TELEMETRY_DECODER_GR_BLOCKS_SOURCES set(TELEMETRY_DECODER_GR_BLOCKS_SOURCES
gps_l1_ca_telemetry_decoder_cc.cc gps_l1_ca_telemetry_decoder_cc.cc
gps_l2_m_telemetry_decoder_cc.cc gps_l2c_telemetry_decoder_cc.cc
galileo_e1b_telemetry_decoder_cc.cc galileo_e1b_telemetry_decoder_cc.cc
sbas_l1_telemetry_decoder_cc.cc sbas_l1_telemetry_decoder_cc.cc
galileo_e5a_telemetry_decoder_cc.cc galileo_e5a_telemetry_decoder_cc.cc

View File

@@ -1,5 +1,5 @@
/*! /*!
* \file gps_l2_m_telemetry_decoder_cc.cc * \file gps_l2c_telemetry_decoder_cc.cc
* \brief Implementation of a NAV message demodulator block based on * \brief Implementation of a NAV message demodulator block based on
* Kay Borre book MATLAB-based GPS receiver * Kay Borre book MATLAB-based GPS receiver
* \author Javier Arribas, 2015. jarribas(at)cttc.es * \author Javier Arribas, 2015. jarribas(at)cttc.es
@@ -35,7 +35,7 @@
#include <glog/logging.h> #include <glog/logging.h>
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
#include "gnss_synchro.h" #include "gnss_synchro.h"
#include "gps_l2_m_telemetry_decoder_cc.h" #include "gps_l2c_telemetry_decoder_cc.h"
using google::LogMessage; using google::LogMessage;
@@ -47,18 +47,18 @@ using google::LogMessage;
gps_l2_m_telemetry_decoder_cc_sptr gps_l2c_telemetry_decoder_cc_sptr
gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) gps_l2c_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump)
{ {
return gps_l2_m_telemetry_decoder_cc_sptr(new gps_l2_m_telemetry_decoder_cc(satellite, dump)); return gps_l2c_telemetry_decoder_cc_sptr(new gps_l2c_telemetry_decoder_cc(satellite, dump));
} }
gps_l2_m_telemetry_decoder_cc::gps_l2_m_telemetry_decoder_cc( gps_l2c_telemetry_decoder_cc::gps_l2c_telemetry_decoder_cc(
Gnss_Satellite satellite, Gnss_Satellite satellite,
bool dump) : bool dump) :
gr::block("gps_l2_m_telemetry_decoder_cc", gr::block("gps_l2c_telemetry_decoder_cc",
gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)),
gr::io_signature::make(1, 1, sizeof(Gnss_Synchro))) gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)))
{ {
@@ -85,13 +85,13 @@ gps_l2_m_telemetry_decoder_cc::gps_l2_m_telemetry_decoder_cc(
gps_l2_m_telemetry_decoder_cc::~gps_l2_m_telemetry_decoder_cc() gps_l2c_telemetry_decoder_cc::~gps_l2c_telemetry_decoder_cc()
{ {
d_dump_file.close(); d_dump_file.close();
} }
void gps_l2_m_telemetry_decoder_cc::forecast (int noutput_items, gr_vector_int &ninput_items_required) void gps_l2c_telemetry_decoder_cc::forecast (int noutput_items, gr_vector_int &ninput_items_required)
{ {
if (noutput_items != 0) if (noutput_items != 0)
{ {
@@ -103,13 +103,13 @@ void gps_l2_m_telemetry_decoder_cc::forecast (int noutput_items, gr_vector_int &
} }
void gps_l2_m_telemetry_decoder_cc::set_decimation(int decimation) void gps_l2c_telemetry_decoder_cc::set_decimation(int decimation)
{ {
d_decimation_output_factor = decimation; d_decimation_output_factor = decimation;
} }
int gps_l2_m_telemetry_decoder_cc::general_work (int noutput_items __attribute__((unused)), gr_vector_int &ninput_items __attribute__((unused)), int gps_l2c_telemetry_decoder_cc::general_work (int noutput_items __attribute__((unused)), gr_vector_int &ninput_items __attribute__((unused)),
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
{ {
// get pointers on in- and output gnss-synchro objects // get pointers on in- and output gnss-synchro objects
@@ -276,7 +276,7 @@ int gps_l2_m_telemetry_decoder_cc::general_work (int noutput_items __attribute__
void gps_l2_m_telemetry_decoder_cc::set_satellite(Gnss_Satellite satellite) void gps_l2c_telemetry_decoder_cc::set_satellite(Gnss_Satellite satellite)
{ {
d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN());
LOG(INFO) << "GPS L2C CNAV telemetry decoder in channel " << this->d_channel << " set to satellite " << d_satellite; LOG(INFO) << "GPS L2C CNAV telemetry decoder in channel " << this->d_channel << " set to satellite " << d_satellite;
@@ -284,7 +284,7 @@ void gps_l2_m_telemetry_decoder_cc::set_satellite(Gnss_Satellite satellite)
void gps_l2_m_telemetry_decoder_cc::set_channel(int channel) void gps_l2c_telemetry_decoder_cc::set_channel(int channel)
{ {
d_channel = channel; d_channel = channel;
LOG(INFO) << "GPS L2C CNAV channel set to " << channel; LOG(INFO) << "GPS L2C CNAV channel set to " << channel;
@@ -292,7 +292,7 @@ void gps_l2_m_telemetry_decoder_cc::set_channel(int channel)
// ### helper class for symbol alignment and viterbi decoding ### // ### helper class for symbol alignment and viterbi decoding ###
gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::symbol_aligner_and_decoder() gps_l2c_telemetry_decoder_cc::symbol_aligner_and_decoder::symbol_aligner_and_decoder()
{ {
// convolutional code properties // convolutional code properties
d_KK = 7; d_KK = 7;
@@ -307,14 +307,14 @@ gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::symbol_aligner_and_de
} }
gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::~symbol_aligner_and_decoder() gps_l2c_telemetry_decoder_cc::symbol_aligner_and_decoder::~symbol_aligner_and_decoder()
{ {
delete d_vd1; delete d_vd1;
delete d_vd2; delete d_vd2;
} }
void gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::reset() void gps_l2c_telemetry_decoder_cc::symbol_aligner_and_decoder::reset()
{ {
d_past_symbol = 0; d_past_symbol = 0;
d_vd1->reset(); d_vd1->reset();
@@ -322,7 +322,7 @@ void gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::reset()
} }
bool gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::get_bits(const std::vector<double> & symbols, std::vector<int> & bits) bool gps_l2c_telemetry_decoder_cc::symbol_aligner_and_decoder::get_bits(const std::vector<double> & symbols, std::vector<int> & bits)
{ {
const int traceback_depth = 5 * d_KK; const int traceback_depth = 5 * d_KK;
int nbits_requested = symbols.size() / GPS_L2_SYMBOLS_PER_BIT; int nbits_requested = symbols.size() / GPS_L2_SYMBOLS_PER_BIT;
@@ -362,13 +362,13 @@ bool gps_l2_m_telemetry_decoder_cc::symbol_aligner_and_decoder::get_bits(const s
// ### helper class for detecting the preamble and collect the corresponding message candidates ### // ### helper class for detecting the preamble and collect the corresponding message candidates ###
void gps_l2_m_telemetry_decoder_cc::frame_detector::reset() void gps_l2c_telemetry_decoder_cc::frame_detector::reset()
{ {
d_buffer.clear(); d_buffer.clear();
} }
void gps_l2_m_telemetry_decoder_cc::frame_detector::get_frame_candidates(const std::vector<int> & bits, std::vector<std::pair<int,std::vector<int>>> & msg_candidates) void gps_l2c_telemetry_decoder_cc::frame_detector::get_frame_candidates(const std::vector<int> & bits, std::vector<std::pair<int,std::vector<int>>> & msg_candidates)
{ {
//std::stringstream ss; //std::stringstream ss;
unsigned int cnav_msg_length = 300; unsigned int cnav_msg_length = 300;
@@ -426,12 +426,12 @@ void gps_l2_m_telemetry_decoder_cc::frame_detector::get_frame_candidates(const s
// ### helper class for checking the CRC of the message candidates ### // ### helper class for checking the CRC of the message candidates ###
void gps_l2_m_telemetry_decoder_cc::crc_verifier::reset() void gps_l2c_telemetry_decoder_cc::crc_verifier::reset()
{ {
} }
void gps_l2_m_telemetry_decoder_cc::crc_verifier::get_valid_frames(const std::vector<msg_candiate_int_t> & msg_candidates, std::vector<msg_candiate_int_t> & valid_msgs) void gps_l2c_telemetry_decoder_cc::crc_verifier::get_valid_frames(const std::vector<msg_candiate_int_t> & msg_candidates, std::vector<msg_candiate_int_t> & valid_msgs)
{ {
std::vector <unsigned char> tmp_msg; std::vector <unsigned char> tmp_msg;
LOG(INFO) << "get_valid_frames(): " << "msg_candidates.size()=" << msg_candidates.size(); LOG(INFO) << "get_valid_frames(): " << "msg_candidates.size()=" << msg_candidates.size();
@@ -457,7 +457,7 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::get_valid_frames(const std::ve
} }
void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_back_and_convert_to_bytes(const std::vector<int> & msg_candidate, std::vector<unsigned char> & bytes) void gps_l2c_telemetry_decoder_cc::crc_verifier::zerropad_back_and_convert_to_bytes(const std::vector<int> & msg_candidate, std::vector<unsigned char> & bytes)
{ {
//std::stringstream ss; //std::stringstream ss;
const size_t bits_per_byte = 8; const size_t bits_per_byte = 8;
@@ -482,7 +482,7 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_back_and_convert_to_b
// << std::setfill(' ') << std::resetiosflags(std::ios::hex); // << std::setfill(' ') << std::resetiosflags(std::ios::hex);
} }
void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_front_and_convert_to_bytes(const std::vector<int> & msg_candidate, std::vector<unsigned char> & bytes) void gps_l2c_telemetry_decoder_cc::crc_verifier::zerropad_front_and_convert_to_bytes(const std::vector<int> & msg_candidate, std::vector<unsigned char> & bytes)
{ {
//std::stringstream ss; //std::stringstream ss;
const size_t bits_per_byte = 8; const size_t bits_per_byte = 8;

View File

@@ -1,6 +1,6 @@
/*! /*!
* \file gps_l2_m_telemetry_decoder_cc.h * \file gps_l2c_telemetry_decoder_cc.h
* \brief Interface of a NAV message demodulator block based on * \brief Interface of a CNAV message demodulator block based on
* Kay Borre book MATLAB-based GPS receiver * Kay Borre book MATLAB-based GPS receiver
* \author Javier Arribas, 2015. jarribas(at)cttc.es * \author Javier Arribas, 2015. jarribas(at)cttc.es
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
@@ -28,8 +28,8 @@
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
*/ */
#ifndef GNSS_SDR_GPS_L2_M_TELEMETRY_DECODER_CC_H #ifndef GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_CC_H
#define GNSS_SDR_GPS_L2_M_TELEMETRY_DECODER_CC_H #define GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_CC_H
#include <algorithm> // for copy #include <algorithm> // for copy
#include <deque> #include <deque>
@@ -47,21 +47,21 @@
#include "concurrent_queue.h" #include "concurrent_queue.h"
#include "GPS_L2C.h" #include "GPS_L2C.h"
class gps_l2_m_telemetry_decoder_cc; class gps_l2c_telemetry_decoder_cc;
typedef boost::shared_ptr<gps_l2_m_telemetry_decoder_cc> gps_l2_m_telemetry_decoder_cc_sptr; typedef boost::shared_ptr<gps_l2c_telemetry_decoder_cc> gps_l2c_telemetry_decoder_cc_sptr;
gps_l2_m_telemetry_decoder_cc_sptr gps_l2c_telemetry_decoder_cc_sptr
gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); gps_l2c_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump);
/*! /*!
* \brief This class implements a block that decodes the SBAS integrity and corrections data defined in RTCA MOPS DO-229 * \brief This class implements a block that decodes the SBAS integrity and corrections data defined in RTCA MOPS DO-229
* *
*/ */
class gps_l2_m_telemetry_decoder_cc : public gr::block class gps_l2c_telemetry_decoder_cc : public gr::block
{ {
public: public:
~gps_l2_m_telemetry_decoder_cc(); ~gps_l2c_telemetry_decoder_cc();
void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN
void set_channel(int channel); //!< Set receiver's channel void set_channel(int channel); //!< Set receiver's channel
void set_decimation(int decimation); void set_decimation(int decimation);
@@ -79,9 +79,9 @@ public:
void forecast (int noutput_items, gr_vector_int &ninput_items_required); void forecast (int noutput_items, gr_vector_int &ninput_items_required);
private: private:
friend gps_l2_m_telemetry_decoder_cc_sptr friend gps_l2c_telemetry_decoder_cc_sptr
gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); gps_l2c_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump);
gps_l2_m_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); gps_l2c_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump);
void viterbi_decoder(double *page_part_symbols, int *page_part_bits); void viterbi_decoder(double *page_part_symbols, int *page_part_bits);
void align_samples(); void align_samples();

View File

@@ -85,7 +85,7 @@
#include "galileo_e5a_dll_pll_tracking.h" #include "galileo_e5a_dll_pll_tracking.h"
#include "gps_l2_m_dll_pll_tracking.h" #include "gps_l2_m_dll_pll_tracking.h"
#include "gps_l1_ca_telemetry_decoder.h" #include "gps_l1_ca_telemetry_decoder.h"
#include "gps_l2_m_telemetry_decoder.h" #include "gps_l2c_telemetry_decoder.h"
#include "galileo_e1b_telemetry_decoder.h" #include "galileo_e1b_telemetry_decoder.h"
#include "galileo_e5a_telemetry_decoder.h" #include "galileo_e5a_telemetry_decoder.h"
#include "sbas_l1_telemetry_decoder.h" #include "sbas_l1_telemetry_decoder.h"
@@ -1031,6 +1031,12 @@ std::unique_ptr<GNSSBlockInterface> GNSSBlockFactory::GetBlock(
out_streams)); out_streams));
block = std::move(block_); block = std::move(block_);
} }
else if (implementation.compare("GPS_L2C_Telemetry_Decoder") == 0)
{
std::unique_ptr<GNSSBlockInterface> block_(new GpsL2CTelemetryDecoder(configuration.get(), role, in_streams,
out_streams));
block = std::move(block_);
}
else if (implementation.compare("Galileo_E1B_Telemetry_Decoder") == 0) else if (implementation.compare("Galileo_E1B_Telemetry_Decoder") == 0)
{ {
std::unique_ptr<GNSSBlockInterface> block_(new GalileoE1BTelemetryDecoder(configuration.get(), role, in_streams, std::unique_ptr<GNSSBlockInterface> block_(new GalileoE1BTelemetryDecoder(configuration.get(), role, in_streams,
@@ -1324,9 +1330,9 @@ std::unique_ptr<TelemetryDecoderInterface> GNSSBlockFactory::GetTlmBlock(
out_streams)); out_streams));
block = std::move(block_); block = std::move(block_);
} }
else if (implementation.compare("GPS_L2_M_Telemetry_Decoder") == 0) else if (implementation.compare("GPS_L2C_Telemetry_Decoder") == 0)
{ {
std::unique_ptr<TelemetryDecoderInterface> block_(new GpsL2MTelemetryDecoder(configuration.get(), role, in_streams, std::unique_ptr<TelemetryDecoderInterface> block_(new GpsL2CTelemetryDecoder(configuration.get(), role, in_streams,
out_streams)); out_streams));
block = std::move(block_); block = std::move(block_);
} }