1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-25 22:43:14 +00:00

beidou b1i: renaming objects of nav decoding

This commit is contained in:
Damian Miralles 2018-10-22 15:12:50 -05:00
parent 8c16d945f8
commit e22f8e57c1
26 changed files with 135 additions and 174 deletions

View File

@ -16,7 +16,7 @@ ControlThread.wait_for_flowgraph=false
;######### SIGNAL_SOURCE CONFIG ############
SignalSource.implementation=File_Signal_Source
SignalSource.filename=/home/sergi/gnss-sdr/data/USRP_BDS_B1I_201805171123_fs_25e6_if0e3_ishort.bin
SignalSource.filename=/media/dmiralles/Seagate Backup Plus Drive/GNSS Data/USRP_BDS_B1I_201805171123_fs_25e6_if0e3_ishort.bin
SignalSource.item_type=ishort
SignalSource.sampling_frequency=25000000
SignalSource.samples=0

View File

@ -38,7 +38,7 @@ Resampler.sample_freq_out=5000000
Resampler.item_type=gr_complex
;######### CHANNELS GLOBAL CONFIG ############
Channels_B1.count=3
Channels_B1.count=5
Channels.in_acquisition=1
Channel.signal=B1
@ -50,7 +50,7 @@ Acquisition_B1.coherent_integration_time_ms=1
Acquisition_B1.threshold=20
;Acquisition_B1.pfa=0.000001
Acquisition_B1.doppler_max=10000
Acquisition_B1.doppler_step=2500
Acquisition_B1.doppler_step=50
Acquisition_B1.dump=true
Acquisition_B1.dump_filename=./acq_dump.dat
Acquisition_B1.blocking=false;

View File

@ -232,11 +232,11 @@ void rtklib_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg)
<< ", GLONASS GNAV Slot Number =" << glonass_gnav_almanac->d_n_A;
}
// ************* BEIDOU telemetry *****************
if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Ephemeris>))
if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Dnav_Ephemeris>))
{
// ### BEIDOU EPHEMERIS ###
std::shared_ptr<Beidou_Ephemeris> beidou_eph;
beidou_eph = boost::any_cast<std::shared_ptr<Beidou_Ephemeris>>(pmt::any_ref(msg));
std::shared_ptr<Beidou_Dnav_Ephemeris> beidou_eph;
beidou_eph = boost::any_cast<std::shared_ptr<Beidou_Dnav_Ephemeris>>(pmt::any_ref(msg));
DLOG(INFO) << "Ephemeris record has arrived from SAT ID "
<< beidou_eph->i_satellite_PRN << " (Block "
<< beidou_eph->satelliteBlock[beidou_eph->i_satellite_PRN] << ")"
@ -245,19 +245,19 @@ void rtklib_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg)
// update/insert new ephemeris record to the global ephemeris map
d_ls_pvt->beidou_ephemeris_map[beidou_eph->i_satellite_PRN] = *beidou_eph;
}
else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Iono>))
else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Dnav_Iono>))
{
// ### BEIDOU IONO ###
std::shared_ptr<Beidou_Iono> beidou_iono;
beidou_iono = boost::any_cast<std::shared_ptr<Beidou_Iono>>(pmt::any_ref(msg));
std::shared_ptr<Beidou_Dnav_Iono> beidou_iono;
beidou_iono = boost::any_cast<std::shared_ptr<Beidou_Dnav_Iono>>(pmt::any_ref(msg));
d_ls_pvt->beidou_iono = *beidou_iono;
DLOG(INFO) << "New IONO record has arrived ";
}
else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Utc_Model>))
else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Dnav_Utc_Model>))
{
// ### BEIDOU UTC MODEL ###
std::shared_ptr<Beidou_Utc_Model> beidou_utc_model;
beidou_utc_model = boost::any_cast<std::shared_ptr<Beidou_Utc_Model>>(pmt::any_ref(msg));
std::shared_ptr<Beidou_Dnav_Utc_Model> beidou_utc_model;
beidou_utc_model = boost::any_cast<std::shared_ptr<Beidou_Dnav_Utc_Model>>(pmt::any_ref(msg));
d_ls_pvt->beidou_utc_model = *beidou_utc_model;
DLOG(INFO) << "New UTC record has arrived ";
}
@ -942,7 +942,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
std::map<int, Gps_Ephemeris>::const_iterator gps_ephemeris_iter;
std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter;
std::map<int, Glonass_Gnav_Ephemeris>::const_iterator glonass_gnav_ephemeris_iter;
std::map<int, Beidou_Ephemeris>::const_iterator beidou_ephemeris_iter;
std::map<int, Beidou_Dnav_Ephemeris>::const_iterator beidou_ephemeris_iter;
std::map<int, Gnss_Synchro>::const_iterator gnss_observables_iter;

View File

@ -141,7 +141,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
std::map<int, Gps_Ephemeris>::const_iterator gps_ephemeris_iter;
std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter;
std::map<int, Glonass_Gnav_Ephemeris>::const_iterator glonass_gnav_ephemeris_iter;
std::map<int, Beidou_Ephemeris>::const_iterator beidou_ephemeris_iter;
std::map<int, Beidou_Dnav_Ephemeris>::const_iterator beidou_ephemeris_iter;
const Glonass_Gnav_Utc_Model gnav_utc = this->glonass_gnav_utc_model;

View File

@ -97,7 +97,7 @@ public:
std::map<int, Gps_Ephemeris> gps_ephemeris_map; //!< Map storing new GPS_Ephemeris
std::map<int, Gps_CNAV_Ephemeris> gps_cnav_ephemeris_map; //!< Map storing new GPS_CNAV_Ephemeris
std::map<int, Glonass_Gnav_Ephemeris> glonass_gnav_ephemeris_map; //!< Map storing new GLONASS GNAV Ephmeris
std::map<int, Beidou_Ephemeris> beidou_ephemeris_map; //!< Map storing new GLONASS GNAV Ephmeris
std::map<int, Beidou_Dnav_Ephemeris> beidou_ephemeris_map; //!< Map storing new GLONASS GNAV Ephmeris
Galileo_Utc_Model galileo_utc_model;
Galileo_Iono galileo_iono;
@ -112,9 +112,9 @@ public:
Glonass_Gnav_Utc_Model glonass_gnav_utc_model; //!< Map storing GLONASS GNAV UTC Model
Glonass_Gnav_Almanac glonass_gnav_almanac; //!< Map storing GLONASS GNAV Almanac Model
Beidou_Utc_Model beidou_utc_model;
Beidou_Iono beidou_iono;
Beidou_Almanac beidou_almanac;
Beidou_Dnav_Utc_Model beidou_utc_model;
Beidou_Dnav_Iono beidou_iono;
Beidou_Dnav_Almanac beidou_almanac;
int count_valid_position;
};

View File

@ -33,11 +33,12 @@
#include "beidou_b1i_pcps_acquisition.h"
#include "configuration_interface.h"
#include "beidou_b1I_signal_processing.h"
#include "gnss_sdr_flags.h"
#include "acq_conf.h"
#include <boost/math/distributions/exponential.hpp>
#include <glog/logging.h>
#include "../../libs/beidou_b1i_signal_processing.h"
#include "Beidou_B1I.h"

View File

@ -30,7 +30,7 @@ add_subdirectory(rtklib)
glonass_l2_signal_processing.cc
pass_through.cc
galileo_e5_signal_processing.cc
beidou_b1I_signal_processing.cc
beidou_b1i_signal_processing.cc
complex_byte_to_float_x2.cc
byte_x2_to_complex_byte.cc
cshort_to_float_x2.cc
@ -53,7 +53,7 @@ set(GNSS_SPLIBS_HEADERS
glonass_l2_signal_processing.h
pass_through.h
galileo_e5_signal_processing.h
beidou_b1I_signal_processing.h
beidou_b1i_signal_processing.h
complex_byte_to_float_x2.h
byte_x2_to_complex_byte.h
cshort_to_float_x2.h

View File

@ -1,5 +1,5 @@
/*!
* \file beidou_b1I_signal_processing.cc
* \file beidou_b1i_signal_processing.cc
* \brief This class implements various functions for BeiDou B1I signal
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
*
@ -30,7 +30,7 @@
* -------------------------------------------------------------------------
*/
#include "beidou_b1I_signal_processing.h"
#include "beidou_b1i_signal_processing.h"
auto auxCeil = [](float x) { return static_cast<int>(static_cast<long>((x) + 1)); };

View File

@ -1,5 +1,5 @@
/*!
* \file beidou_b1I_signal_processing.h
* \file beidou_b1i_signal_processing.h
* \brief This class implements various functions for BeiDou B1I signals
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
*

View File

@ -230,7 +230,7 @@ eph_t eph_to_rtklib(const Gps_Ephemeris& gps_eph)
return rtklib_sat;
}
eph_t eph_to_rtklib(const Beidou_Ephemeris& bei_eph)
eph_t eph_to_rtklib(const Beidou_Dnav_Ephemeris& bei_eph)
{
eph_t rtklib_sat = {0, 0, 0, 0, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, {}, {}, 0.0, 0.0 };

View File

@ -43,7 +43,7 @@
eph_t eph_to_rtklib(const Galileo_Ephemeris& gal_eph);
eph_t eph_to_rtklib(const Gps_Ephemeris& gps_eph);
eph_t eph_to_rtklib(const Gps_CNAV_Ephemeris& gps_cnav_eph);
eph_t eph_to_rtklib(const Beidou_Ephemeris& bei_eph);
eph_t eph_to_rtklib(const Beidou_Dnav_Ephemeris& bei_eph);
/*!
* \brief Transforms a Glonass_Gnav_Ephemeris to its RTKLIB counterpart

View File

@ -463,7 +463,7 @@ int beidou_b1i_telemetry_decoder_cc::general_work(int noutput_items __attribute_
{
// get ephemeris object for this SV (mandatory)
std::shared_ptr<Beidou_Ephemeris> tmp_obj = std::make_shared<Beidou_Ephemeris>(d_BEIDOU_FSM.d_nav.get_ephemeris());
std::shared_ptr<Beidou_Dnav_Ephemeris> tmp_obj = std::make_shared<Beidou_Dnav_Ephemeris>(d_BEIDOU_FSM.d_nav.get_ephemeris());
this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
}
/* break;
@ -471,14 +471,14 @@ int beidou_b1i_telemetry_decoder_cc::general_work(int noutput_items __attribute_
*/ if (d_BEIDOU_FSM.d_nav.flag_iono_valid == true)
{
std::shared_ptr<Beidou_Iono> tmp_obj = std::make_shared<Beidou_Iono>(d_BEIDOU_FSM.d_nav.get_iono());
std::shared_ptr<Beidou_Dnav_Iono> tmp_obj = std::make_shared<Beidou_Dnav_Iono>(d_BEIDOU_FSM.d_nav.get_iono());
this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
}
if (d_BEIDOU_FSM.d_nav.flag_utc_model_valid == true)
{
std::cout << " we have a new set of utc data for the current SV "<< std::endl;
std::shared_ptr<Beidou_Utc_Model> tmp_obj = std::make_shared<Beidou_Utc_Model>(d_BEIDOU_FSM.d_nav.get_utc_model());
std::shared_ptr<Beidou_Dnav_Utc_Model> tmp_obj = std::make_shared<Beidou_Dnav_Utc_Model>(d_BEIDOU_FSM.d_nav.get_utc_model());
this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
}
/* break;

View File

@ -105,7 +105,7 @@ private:
int d_word_number;
// navigation message vars
Beidou_Navigation_Message_D1 d_nav;
Beidou_Dnav_Navigation_Message d_nav;
BeidouB1iSubframeFsm d_BEIDOU_FSM;
bool d_dump;

View File

@ -70,13 +70,13 @@ public:
int i_channel_ID; //!< Channel id
unsigned int i_satellite_PRN; //!< Satellite PRN number
Beidou_Navigation_Message_D1 d_nav; //!< GPS L1 C/A navigation message object
Beidou_Dnav_Navigation_Message d_nav; //!< GPS L1 C/A navigation message object
// GPS SV and System parameters
Beidou_Ephemeris ephemeris; //!< Object that handles GPS ephemeris parameters
Beidou_Almanac almanac; //!< Object that handles GPS almanac data
Beidou_Utc_Model utc_model; //!< Object that handles UTM model parameters
Beidou_Iono iono; //!< Object that handles ionospheric parameters
Beidou_Dnav_Ephemeris ephemeris; //!< Object that handles GPS ephemeris parameters
Beidou_Dnav_Almanac almanac; //!< Object that handles GPS almanac data
Beidou_Dnav_Utc_Model utc_model; //!< Object that handles UTM model parameters
Beidou_Dnav_Iono iono; //!< Object that handles ionospheric parameters
char d_subframe[BEIDOU_SUBFRAME_LENGTH];
int d_subframe_ID;

View File

@ -49,7 +49,6 @@
#include "gps_l2c_signal.h"
#include "GPS_L5.h"
#include "gps_l5_signal.h"
#include "beidou_b1I_signal_processing.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
@ -61,6 +60,7 @@
#include <sstream>
#include <numeric>
#include "../../../core/system_parameters/Beidou_B1I.h"
#include "../../libs/beidou_b1i_signal_processing.h"
using google::LogMessage;

View File

@ -1,6 +1,6 @@
/*!
* \file gps_almanac.cc
* \brief Interface of a BEIDOU ALMANAC storage
* \file beidou_dnav_almanac.cc
* \brief Interface of a Beidou DNAV Almanac storage
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
@ -32,7 +32,7 @@
#include "beidou_dnav_almanac.h"
Beidou_Almanac::Beidou_Almanac()
Beidou_Dnav_Almanac::Beidou_Dnav_Almanac()
{
i_satellite_PRN = 0;
d_Delta_i = 0.0;

View File

@ -1,7 +1,9 @@
/*!
* \file gps_almanac.h
* \brief Interface of a GPS ALMANAC storage
* \author Javier Arribas, 2013. jarribas(at)cttc.es
* \file beidou_dnav_almanac.h
* \brief Interface of a Beidou DNAV Almanac storage
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
*
* -------------------------------------------------------------------------
*
@ -38,7 +40,7 @@
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/
class Beidou_Almanac
class Beidou_Dnav_Almanac
{
public:
unsigned int i_satellite_PRN; //!< SV PRN NUMBER
@ -57,7 +59,7 @@ public:
/*!
* Default constructor
*/
Beidou_Almanac();
Beidou_Dnav_Almanac();
};
#endif

View File

@ -36,7 +36,7 @@
#include "Beidou_B1I.h"
#include "gnss_satellite.h"
Beidou_Ephemeris::Beidou_Ephemeris()
Beidou_Dnav_Ephemeris::Beidou_Dnav_Ephemeris()
{
i_satellite_PRN = 0;
d_TOW = 0;
@ -96,7 +96,7 @@ Beidou_Ephemeris::Beidou_Ephemeris()
}
double Beidou_Ephemeris::check_t(double time)
double Beidou_Dnav_Ephemeris::check_t(double time)
{
double corrTime;
double half_week = 302400.0; // seconds
@ -114,7 +114,7 @@ double Beidou_Ephemeris::check_t(double time)
// 20.3.3.3.3.1 User Algorithm for SV Clock Correction.
double Beidou_Ephemeris::sv_clock_drift(double transmitTime)
double Beidou_Dnav_Ephemeris::sv_clock_drift(double transmitTime)
{
double dt;
dt = check_t(transmitTime - d_Toc);
@ -130,7 +130,7 @@ double Beidou_Ephemeris::sv_clock_drift(double transmitTime)
// compute the relativistic correction term
double Beidou_Ephemeris::sv_clock_relativistic_term(double transmitTime)
double Beidou_Dnav_Ephemeris::sv_clock_relativistic_term(double transmitTime)
{
double tk;
double a;
@ -179,7 +179,7 @@ double Beidou_Ephemeris::sv_clock_relativistic_term(double transmitTime)
}
double Beidou_Ephemeris::satellitePosition(double transmitTime)
double Beidou_Dnav_Ephemeris::satellitePosition(double transmitTime)
{
double tk;
double a;

View File

@ -29,8 +29,8 @@
*/
#ifndef GNSS_SDR_BEIDOU_EPHEMERIS_H_
#define GNSS_SDR_BEIDOU_EPHEMERIS_H_
#ifndef GNSS_SDR_BEIDOU_DNAV_EPHEMERIS_H_
#define GNSS_SDR_BEIDOU_DNAV_EPHEMERIS_H_
#include <map>
@ -45,7 +45,7 @@
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/
class Beidou_Ephemeris
class Beidou_Dnav_Ephemeris
{
private:
/*
@ -199,7 +199,7 @@ public:
/*!
* Default constructor
*/
Beidou_Ephemeris();
Beidou_Dnav_Ephemeris();
};
#endif

View File

@ -31,7 +31,7 @@
#include "beidou_dnav_iono.h"
Beidou_Iono::Beidou_Iono()
Beidou_Dnav_Iono::Beidou_Dnav_Iono()
{
valid = false;
d_alpha0 = 0.0;

View File

@ -29,8 +29,8 @@
*/
#ifndef GNSS_SDR_BEIDOU_IONO_H_
#define GNSS_SDR_BEIDOU_IONO_H_
#ifndef GNSS_SDR_BEIDOU_DNAV_IONO_H_
#define GNSS_SDR_BEIDOU_DNAV_IONO_H_
#include "boost/assign.hpp"
@ -41,7 +41,7 @@
* \brief This class is a storage for the BEIDOU IONOSPHERIC data as described in ICD v2.1
*
*/
class Beidou_Iono
class Beidou_Dnav_Iono
{
public:
bool valid; //!< Valid flag
@ -55,7 +55,7 @@ public:
double d_beta2; //!< Coefficient 2 of a cubic equation representing the period of the model [s(semi-circle)^2]
double d_beta3; //!< Coefficient 3 of a cubic equation representing the period of the model [s(semi-circle)^3]
Beidou_Iono(); //!< Default constructor
Beidou_Dnav_Iono(); //!< Default constructor
template<class Archive>

View File

@ -36,7 +36,7 @@ m * \file beidou_navigation_message.cc
#include <gnss_satellite.h>
void Beidou_Navigation_Message_D1::reset()
void Beidou_Dnav_Navigation_Message::reset()
{
b_valid_ephemeris_set_flag = false;
d_SOW = 0;
@ -167,14 +167,14 @@ void Beidou_Navigation_Message_D1::reset()
Beidou_Navigation_Message_D1::Beidou_Navigation_Message_D1()
Beidou_Dnav_Navigation_Message::Beidou_Dnav_Navigation_Message()
{
reset();
}
void Beidou_Navigation_Message_D1::print_beidou_word_bytes(unsigned int BEIDOU_word)
void Beidou_Dnav_Navigation_Message::print_beidou_word_bytes(unsigned int BEIDOU_word)
{
std::cout << " Word =";
std::cout << std::bitset<32>(BEIDOU_word);
@ -183,7 +183,7 @@ void Beidou_Navigation_Message_D1::print_beidou_word_bytes(unsigned int BEIDOU_w
bool Beidou_Navigation_Message_D1::read_navigation_bool(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
bool Beidou_Dnav_Navigation_Message::read_navigation_bool(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
{
bool value;
@ -199,7 +199,7 @@ bool Beidou_Navigation_Message_D1::read_navigation_bool(std::bitset<BEIDOU_SUBFR
}
unsigned long int Beidou_Navigation_Message_D1::read_navigation_unsigned(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
unsigned long int Beidou_Dnav_Navigation_Message::read_navigation_unsigned(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
{
unsigned long int value = 0;
int num_of_slices = parameter.size();
@ -217,7 +217,7 @@ unsigned long int Beidou_Navigation_Message_D1::read_navigation_unsigned(std::bi
return value;
}
signed long int Beidou_Navigation_Message_D1::read_navigation_signed(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
signed long int Beidou_Dnav_Navigation_Message::read_navigation_signed(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter)
{
signed long int value = 0;
int num_of_slices = parameter.size();
@ -276,7 +276,7 @@ signed long int Beidou_Navigation_Message_D1::read_navigation_signed(std::bitset
return value;
}
double Beidou_Navigation_Message_D1::check_t(double time)
double Beidou_Dnav_Navigation_Message::check_t(double time)
{
double corrTime;
double half_week = 302400; // seconds
@ -293,7 +293,7 @@ double Beidou_Navigation_Message_D1::check_t(double time)
}
// User Algorithm for SV Clock Correction.
double Beidou_Navigation_Message_D1::sv_clock_correction(double transmitTime)
double Beidou_Dnav_Navigation_Message::sv_clock_correction(double transmitTime)
{
double dt;
dt = check_t(transmitTime - d_Toc);
@ -302,7 +302,7 @@ double Beidou_Navigation_Message_D1::sv_clock_correction(double transmitTime)
return correctedTime;
}
void Beidou_Navigation_Message_D1::satellitePosition(double transmitTime)
void Beidou_Dnav_Navigation_Message::satellitePosition(double transmitTime)
{
double tk;
double a;
@ -400,7 +400,7 @@ void Beidou_Navigation_Message_D1::satellitePosition(double transmitTime)
int Beidou_Navigation_Message_D1::subframe_decoder(char *subframe)
int Beidou_Dnav_Navigation_Message::subframe_decoder(char *subframe)
{
int subframe_ID = 0;
std::bitset<BEIDOU_SUBFRAME_BITS> mysubframe_bits;
@ -789,7 +789,7 @@ int Beidou_Navigation_Message_D1::subframe_decoder(char *subframe)
double Beidou_Navigation_Message_D1::utc_time(const double beidoutime_corrected) const
double Beidou_Dnav_Navigation_Message::utc_time(const double beidoutime_corrected) const
{
double t_utc;
double t_utc_daytime;
@ -838,9 +838,9 @@ double Beidou_Navigation_Message_D1::utc_time(const double beidoutime_corrected)
Beidou_Ephemeris Beidou_Navigation_Message_D1::get_ephemeris()
Beidou_Dnav_Ephemeris Beidou_Dnav_Navigation_Message::get_ephemeris()
{
Beidou_Ephemeris ephemeris;
Beidou_Dnav_Ephemeris ephemeris;
ephemeris.i_satellite_PRN = i_satellite_PRN;
ephemeris.d_TOW = d_SOW;
ephemeris.d_Crs = d_Crs;
@ -890,9 +890,9 @@ Beidou_Ephemeris Beidou_Navigation_Message_D1::get_ephemeris()
}
Beidou_Iono Beidou_Navigation_Message_D1::get_iono()
Beidou_Dnav_Iono Beidou_Dnav_Navigation_Message::get_iono()
{
Beidou_Iono iono;
Beidou_Dnav_Iono iono;
iono.d_alpha0 = d_alpha0;
iono.d_alpha1 = d_alpha1;
iono.d_alpha2 = d_alpha2;
@ -908,9 +908,9 @@ Beidou_Iono Beidou_Navigation_Message_D1::get_iono()
}
Beidou_Utc_Model Beidou_Navigation_Message_D1::get_utc_model()
Beidou_Dnav_Utc_Model Beidou_Dnav_Navigation_Message::get_utc_model()
{
Beidou_Utc_Model utc_model;
Beidou_Dnav_Utc_Model utc_model;
utc_model.valid = flag_utc_model_valid;
// UTC parameters
utc_model.d_A1 = d_A1UTC;
@ -927,7 +927,7 @@ Beidou_Utc_Model Beidou_Navigation_Message_D1::get_utc_model()
}
bool Beidou_Navigation_Message_D1::satellite_validation()
bool Beidou_Dnav_Navigation_Message::satellite_validation()
{
bool flag_data_valid = false;
b_valid_ephemeris_set_flag = false;

View File

@ -29,8 +29,8 @@
*/
#ifndef GNSS_SDR_BEIDOU_NAVIGATION_MESSAGE_H_
#define GNSS_SDR_BEIDOU_NAVIGATION_MESSAGE_H_
#ifndef GNSS_SDR_BEIDOU_DNAV_NAVIGATION_MESSAGE_H_
#define GNSS_SDR_BEIDOU_DNAV_NAVIGATION_MESSAGE_H_
#include <bitset>
@ -51,7 +51,7 @@
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/
class Beidou_Navigation_Message_D1
class Beidou_Dnav_Navigation_Message
{
private:
unsigned long int read_navigation_unsigned(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter);
@ -224,17 +224,17 @@ public:
/*!
* \brief Obtain a GPS SV Ephemeris class filled with current SV data
*/
Beidou_Ephemeris get_ephemeris();
Beidou_Dnav_Ephemeris get_ephemeris();
/*!
* \brief Obtain a GPS ionospheric correction parameters class filled with current SV data
*/
Beidou_Iono get_iono();
Beidou_Dnav_Iono get_iono();
/*!
* \brief Obtain a GPS UTC model parameters class filled with current SV data
*/
Beidou_Utc_Model get_utc_model();
Beidou_Dnav_Utc_Model get_utc_model();
/*!
@ -266,7 +266,7 @@ public:
/*!
* Default constructor
*/
Beidou_Navigation_Message_D1();
Beidou_Dnav_Navigation_Message();
};
#endif

View File

@ -33,7 +33,7 @@
#include <cmath>
Beidou_Utc_Model::Beidou_Utc_Model()
Beidou_Dnav_Utc_Model::Beidou_Dnav_Utc_Model()
{
valid = false;
d_A1 = 0;
@ -46,7 +46,7 @@ Beidou_Utc_Model::Beidou_Utc_Model()
d_DeltaT_LSF = 0;
}
double Beidou_Utc_Model::utc_time(double beidoutime_corrected, int i_BEIDOU_week)
double Beidou_Dnav_Utc_Model::utc_time(double beidoutime_corrected, int i_BEIDOU_week)
{
double t_utc;
double t_utc_daytime;

View File

@ -29,8 +29,8 @@
*/
#ifndef GNSS_SDR_BEIDOU_UTC_MODEL_H_
#define GNSS_SDR_BEIDOU_UTC_MODEL_H_
#ifndef GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H_
#define GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>
@ -41,7 +41,7 @@
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/
class Beidou_Utc_Model
class Beidou_Dnav_Utc_Model
{
public:
bool valid;
@ -58,7 +58,7 @@ public:
/*!
* Default constructor
*/
Beidou_Utc_Model();
Beidou_Dnav_Utc_Model();
template <class Archive>
/*

View File

@ -622,91 +622,49 @@ std::string Gnss_Satellite::what_block(const std::string& system_, uint32_t PRN_
{
// Check https://en.wikipedia.org/wiki/List_of_BeiDou_satellites
switch ( PRN_ )
{
case 1:
block_ = std::string("Compass-G1");
break;
case 2:
block_ = std::string("Compass-G6");
break;
case 3:
block_ = std::string("Compass-G3");
break;
case 4:
block_ = std::string("Compass-G4");
break;
case 5:
block_ = std::string("Compass-G5");
break;
case 6:
block_ = std::string("Compass-IGSO1");
break;
case 7:
block_ = std::string("Compass-IGSO2");
break;
case 8:
block_ = std::string("Compass-IGSO3");
break;
case 9:
block_ = std::string("Compass-IGSO4");
break;
case 10:
block_ = std::string("Compass-IGSO5");
break;
case 11:
block_ = std::string("Compass-M3");
break;
case 12:
block_ = std::string("Compass-M4");
break;
case 13:
block_ = std::string("Compass-M2");
break;
case 14:
block_ = std::string("Compass-M5");
break;
case 17:
block_ = std::string("Compass-G7");
break;
case 19:
block_ = std::string("BeiDou-3 M1");
break;
case 20:
block_ = std::string("BeiDou-3 M2");
break;
case 21:
block_ = std::string("BeiDou-3 M3");
break;
case 22:
block_ = std::string("BeiDou-3 M4");
break;
case 27:
block_ = std::string("BeiDou-3 M7");
break;
case 28:
block_ = std::string("BeiDou-3 M8");
break;
case 29:
block_ = std::string("BeiDou-3 M9");
break;
case 30:
block_ = std::string("BeiDou-3 M10");
break;
case 31:
block_ = std::string("BDS I1-S");
break;
case 32:
block_ = std::string("BDS I2-S");
break;
case 33:
block_ = std::string("BDS M1-S");
break;
case 34:
block_ = std::string("BDS M2-S");
break;
case 35:
block_ = std::string("BDS M3-S");
break;
{
case 19:
block_ = std::string("BEIDOU-3 M1"); //!<Slot B-7; launched 2017/11/05
break;
case 20:
block_ = std::string("BEIDOU-3 M2"); //!<Slot B-5; launched 2017/11/05
break;
case 21:
block_ = std::string("BEIDOU 3M5"); //!<Slot B-?; launched 2018/02/12
break;
case 22:
block_ = std::string("BEIDOU 3M6"); //!<Slot B-6; launched 2018/02/12
break;
case 23:
block_ = std::string("BEIDOU 3M9"); //!<Slot C-7; launched 2018/07/29
break;
case 24:
block_ = std::string("BEIDOU 3M10"); //!<Slot C-1; launched 2018/07/29
break;
case 25:
block_ = std::string("BEIDOU 3M12"); //!<Slot C-8; launched 2018/08/24
break;
case 26:
block_ = std::string("BEIDOU 3M11"); //!<Slot C-2; launched 2018/08/24
break;
case 27:
block_ = std::string("BEIDOU 3M3"); //!<Slot A-?; launched 2018/01/11
break;
case 28:
block_ = std::string("BEIDOU 3M4"); //!<Slot A-?; launched 2018/01/11
break;
case 29:
block_ = std::string("BEIDOU 3M7"); //!<Slot A-?; launched 2018/03/29
break;
case 30:
block_ = std::string("BEIDOU 3M8"); //!<Slot A-?; launched 2018/03/29
break;
case 32:
block_ = std::string("BEIDOU 3M13"); //!<Slot B-1?; launched 2018/09/19
break;
case 33:
block_ = std::string("BEIDOU 3M14"); //!<Slot B-3; launched 2018/09/19
break;
default:
block_ = std::string("Unknown(Simulated)");
}