1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-04 17:16:26 +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 ############ ;######### SIGNAL_SOURCE CONFIG ############
SignalSource.implementation=File_Signal_Source 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.item_type=ishort
SignalSource.sampling_frequency=25000000 SignalSource.sampling_frequency=25000000
SignalSource.samples=0 SignalSource.samples=0

View File

@ -38,7 +38,7 @@ Resampler.sample_freq_out=5000000
Resampler.item_type=gr_complex Resampler.item_type=gr_complex
;######### CHANNELS GLOBAL CONFIG ############ ;######### CHANNELS GLOBAL CONFIG ############
Channels_B1.count=3 Channels_B1.count=5
Channels.in_acquisition=1 Channels.in_acquisition=1
Channel.signal=B1 Channel.signal=B1
@ -50,7 +50,7 @@ Acquisition_B1.coherent_integration_time_ms=1
Acquisition_B1.threshold=20 Acquisition_B1.threshold=20
;Acquisition_B1.pfa=0.000001 ;Acquisition_B1.pfa=0.000001
Acquisition_B1.doppler_max=10000 Acquisition_B1.doppler_max=10000
Acquisition_B1.doppler_step=2500 Acquisition_B1.doppler_step=50
Acquisition_B1.dump=true Acquisition_B1.dump=true
Acquisition_B1.dump_filename=./acq_dump.dat Acquisition_B1.dump_filename=./acq_dump.dat
Acquisition_B1.blocking=false; 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; << ", GLONASS GNAV Slot Number =" << glonass_gnav_almanac->d_n_A;
} }
// ************* BEIDOU telemetry ***************** // ************* 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 ### // ### BEIDOU EPHEMERIS ###
std::shared_ptr<Beidou_Ephemeris> beidou_eph; std::shared_ptr<Beidou_Dnav_Ephemeris> beidou_eph;
beidou_eph = boost::any_cast<std::shared_ptr<Beidou_Ephemeris>>(pmt::any_ref(msg)); beidou_eph = boost::any_cast<std::shared_ptr<Beidou_Dnav_Ephemeris>>(pmt::any_ref(msg));
DLOG(INFO) << "Ephemeris record has arrived from SAT ID " DLOG(INFO) << "Ephemeris record has arrived from SAT ID "
<< beidou_eph->i_satellite_PRN << " (Block " << beidou_eph->i_satellite_PRN << " (Block "
<< beidou_eph->satelliteBlock[beidou_eph->i_satellite_PRN] << ")" << 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 // update/insert new ephemeris record to the global ephemeris map
d_ls_pvt->beidou_ephemeris_map[beidou_eph->i_satellite_PRN] = *beidou_eph; 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 ### // ### BEIDOU IONO ###
std::shared_ptr<Beidou_Iono> beidou_iono; std::shared_ptr<Beidou_Dnav_Iono> beidou_iono;
beidou_iono = boost::any_cast<std::shared_ptr<Beidou_Iono>>(pmt::any_ref(msg)); beidou_iono = boost::any_cast<std::shared_ptr<Beidou_Dnav_Iono>>(pmt::any_ref(msg));
d_ls_pvt->beidou_iono = *beidou_iono; d_ls_pvt->beidou_iono = *beidou_iono;
DLOG(INFO) << "New IONO record has arrived "; 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 ### // ### BEIDOU UTC MODEL ###
std::shared_ptr<Beidou_Utc_Model> beidou_utc_model; std::shared_ptr<Beidou_Dnav_Utc_Model> beidou_utc_model;
beidou_utc_model = boost::any_cast<std::shared_ptr<Beidou_Utc_Model>>(pmt::any_ref(msg)); 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; d_ls_pvt->beidou_utc_model = *beidou_utc_model;
DLOG(INFO) << "New UTC record has arrived "; 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_Ephemeris>::const_iterator gps_ephemeris_iter;
std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_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, 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; 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_Ephemeris>::const_iterator gps_ephemeris_iter;
std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_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, 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; 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_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, 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, 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_Utc_Model galileo_utc_model;
Galileo_Iono galileo_iono; 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_Utc_Model glonass_gnav_utc_model; //!< Map storing GLONASS GNAV UTC Model
Glonass_Gnav_Almanac glonass_gnav_almanac; //!< Map storing GLONASS GNAV Almanac Model Glonass_Gnav_Almanac glonass_gnav_almanac; //!< Map storing GLONASS GNAV Almanac Model
Beidou_Utc_Model beidou_utc_model; Beidou_Dnav_Utc_Model beidou_utc_model;
Beidou_Iono beidou_iono; Beidou_Dnav_Iono beidou_iono;
Beidou_Almanac beidou_almanac; Beidou_Dnav_Almanac beidou_almanac;
int count_valid_position; int count_valid_position;
}; };

View File

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

View File

@ -30,7 +30,7 @@ add_subdirectory(rtklib)
glonass_l2_signal_processing.cc glonass_l2_signal_processing.cc
pass_through.cc pass_through.cc
galileo_e5_signal_processing.cc galileo_e5_signal_processing.cc
beidou_b1I_signal_processing.cc beidou_b1i_signal_processing.cc
complex_byte_to_float_x2.cc complex_byte_to_float_x2.cc
byte_x2_to_complex_byte.cc byte_x2_to_complex_byte.cc
cshort_to_float_x2.cc cshort_to_float_x2.cc
@ -53,7 +53,7 @@ set(GNSS_SPLIBS_HEADERS
glonass_l2_signal_processing.h glonass_l2_signal_processing.h
pass_through.h pass_through.h
galileo_e5_signal_processing.h galileo_e5_signal_processing.h
beidou_b1I_signal_processing.h beidou_b1i_signal_processing.h
complex_byte_to_float_x2.h complex_byte_to_float_x2.h
byte_x2_to_complex_byte.h byte_x2_to_complex_byte.h
cshort_to_float_x2.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 * \brief This class implements various functions for BeiDou B1I signal
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com * \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)); }; 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 * \brief This class implements various functions for BeiDou B1I signals
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com * \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; 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, 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 }; 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 Galileo_Ephemeris& gal_eph);
eph_t eph_to_rtklib(const Gps_Ephemeris& gps_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 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 * \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) // 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)); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
} }
/* break; /* 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) */ 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)); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
} }
if (d_BEIDOU_FSM.d_nav.flag_utc_model_valid == true) 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::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)); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj));
} }
/* break; /* break;

View File

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

View File

@ -70,13 +70,13 @@ public:
int i_channel_ID; //!< Channel id int i_channel_ID; //!< Channel id
unsigned int i_satellite_PRN; //!< Satellite PRN number 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 // GPS SV and System parameters
Beidou_Ephemeris ephemeris; //!< Object that handles GPS ephemeris parameters Beidou_Dnav_Ephemeris ephemeris; //!< Object that handles GPS ephemeris parameters
Beidou_Almanac almanac; //!< Object that handles GPS almanac data Beidou_Dnav_Almanac almanac; //!< Object that handles GPS almanac data
Beidou_Utc_Model utc_model; //!< Object that handles UTM model parameters Beidou_Dnav_Utc_Model utc_model; //!< Object that handles UTM model parameters
Beidou_Iono iono; //!< Object that handles ionospheric parameters Beidou_Dnav_Iono iono; //!< Object that handles ionospheric parameters
char d_subframe[BEIDOU_SUBFRAME_LENGTH]; char d_subframe[BEIDOU_SUBFRAME_LENGTH];
int d_subframe_ID; int d_subframe_ID;

View File

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

View File

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

View File

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

View File

@ -36,7 +36,7 @@
#include "Beidou_B1I.h" #include "Beidou_B1I.h"
#include "gnss_satellite.h" #include "gnss_satellite.h"
Beidou_Ephemeris::Beidou_Ephemeris() Beidou_Dnav_Ephemeris::Beidou_Dnav_Ephemeris()
{ {
i_satellite_PRN = 0; i_satellite_PRN = 0;
d_TOW = 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 corrTime;
double half_week = 302400.0; // seconds 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. // 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; double dt;
dt = check_t(transmitTime - d_Toc); dt = check_t(transmitTime - d_Toc);
@ -130,7 +130,7 @@ double Beidou_Ephemeris::sv_clock_drift(double transmitTime)
// compute the relativistic correction term // 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 tk;
double a; 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 tk;
double a; double a;

View File

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

View File

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

View File

@ -29,8 +29,8 @@
*/ */
#ifndef GNSS_SDR_BEIDOU_IONO_H_ #ifndef GNSS_SDR_BEIDOU_DNAV_IONO_H_
#define GNSS_SDR_BEIDOU_IONO_H_ #define GNSS_SDR_BEIDOU_DNAV_IONO_H_
#include "boost/assign.hpp" #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 * \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: public:
bool valid; //!< Valid flag 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_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] 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> template<class Archive>

View File

@ -36,7 +36,7 @@ m * \file beidou_navigation_message.cc
#include <gnss_satellite.h> #include <gnss_satellite.h>
void Beidou_Navigation_Message_D1::reset() void Beidou_Dnav_Navigation_Message::reset()
{ {
b_valid_ephemeris_set_flag = false; b_valid_ephemeris_set_flag = false;
d_SOW = 0; 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(); 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 << " Word =";
std::cout << std::bitset<32>(BEIDOU_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; 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; unsigned long int value = 0;
int num_of_slices = parameter.size(); int num_of_slices = parameter.size();
@ -217,7 +217,7 @@ unsigned long int Beidou_Navigation_Message_D1::read_navigation_unsigned(std::bi
return value; 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; signed long int value = 0;
int num_of_slices = parameter.size(); int num_of_slices = parameter.size();
@ -276,7 +276,7 @@ signed long int Beidou_Navigation_Message_D1::read_navigation_signed(std::bitset
return value; return value;
} }
double Beidou_Navigation_Message_D1::check_t(double time) double Beidou_Dnav_Navigation_Message::check_t(double time)
{ {
double corrTime; double corrTime;
double half_week = 302400; // seconds double half_week = 302400; // seconds
@ -293,7 +293,7 @@ double Beidou_Navigation_Message_D1::check_t(double time)
} }
// User Algorithm for SV Clock Correction. // 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; double dt;
dt = check_t(transmitTime - d_Toc); dt = check_t(transmitTime - d_Toc);
@ -302,7 +302,7 @@ double Beidou_Navigation_Message_D1::sv_clock_correction(double transmitTime)
return correctedTime; return correctedTime;
} }
void Beidou_Navigation_Message_D1::satellitePosition(double transmitTime) void Beidou_Dnav_Navigation_Message::satellitePosition(double transmitTime)
{ {
double tk; double tk;
double a; 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; int subframe_ID = 0;
std::bitset<BEIDOU_SUBFRAME_BITS> mysubframe_bits; 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;
double t_utc_daytime; 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.i_satellite_PRN = i_satellite_PRN;
ephemeris.d_TOW = d_SOW; ephemeris.d_TOW = d_SOW;
ephemeris.d_Crs = d_Crs; 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_alpha0 = d_alpha0;
iono.d_alpha1 = d_alpha1; iono.d_alpha1 = d_alpha1;
iono.d_alpha2 = d_alpha2; 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_model.valid = flag_utc_model_valid;
// UTC parameters // UTC parameters
utc_model.d_A1 = d_A1UTC; 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; bool flag_data_valid = false;
b_valid_ephemeris_set_flag = false; b_valid_ephemeris_set_flag = false;

View File

@ -29,8 +29,8 @@
*/ */
#ifndef GNSS_SDR_BEIDOU_NAVIGATION_MESSAGE_H_ #ifndef GNSS_SDR_BEIDOU_DNAV_NAVIGATION_MESSAGE_H_
#define GNSS_SDR_BEIDOU_NAVIGATION_MESSAGE_H_ #define GNSS_SDR_BEIDOU_DNAV_NAVIGATION_MESSAGE_H_
#include <bitset> #include <bitset>
@ -51,7 +51,7 @@
* *
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II * See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/ */
class Beidou_Navigation_Message_D1 class Beidou_Dnav_Navigation_Message
{ {
private: private:
unsigned long int read_navigation_unsigned(std::bitset<BEIDOU_SUBFRAME_BITS> bits, const std::vector<std::pair<int,int>> parameter); 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 * \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 * \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 * \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 * Default constructor
*/ */
Beidou_Navigation_Message_D1(); Beidou_Dnav_Navigation_Message();
}; };
#endif #endif

View File

@ -33,7 +33,7 @@
#include <cmath> #include <cmath>
Beidou_Utc_Model::Beidou_Utc_Model() Beidou_Dnav_Utc_Model::Beidou_Dnav_Utc_Model()
{ {
valid = false; valid = false;
d_A1 = 0; d_A1 = 0;
@ -46,7 +46,7 @@ Beidou_Utc_Model::Beidou_Utc_Model()
d_DeltaT_LSF = 0; 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;
double t_utc_daytime; double t_utc_daytime;

View File

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

View File

@ -623,89 +623,47 @@ std::string Gnss_Satellite::what_block(const std::string& system_, uint32_t PRN_
// Check https://en.wikipedia.org/wiki/List_of_BeiDou_satellites // Check https://en.wikipedia.org/wiki/List_of_BeiDou_satellites
switch ( PRN_ ) 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: case 19:
block_ = std::string("BeiDou-3 M1"); block_ = std::string("BEIDOU-3 M1"); //!<Slot B-7; launched 2017/11/05
break; break;
case 20: case 20:
block_ = std::string("BeiDou-3 M2"); block_ = std::string("BEIDOU-3 M2"); //!<Slot B-5; launched 2017/11/05
break; break;
case 21: case 21:
block_ = std::string("BeiDou-3 M3"); block_ = std::string("BEIDOU 3M5"); //!<Slot B-?; launched 2018/02/12
break; break;
case 22: case 22:
block_ = std::string("BeiDou-3 M4"); 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; break;
case 27: case 27:
block_ = std::string("BeiDou-3 M7"); block_ = std::string("BEIDOU 3M3"); //!<Slot A-?; launched 2018/01/11
break; break;
case 28: case 28:
block_ = std::string("BeiDou-3 M8"); block_ = std::string("BEIDOU 3M4"); //!<Slot A-?; launched 2018/01/11
break; break;
case 29: case 29:
block_ = std::string("BeiDou-3 M9"); block_ = std::string("BEIDOU 3M7"); //!<Slot A-?; launched 2018/03/29
break; break;
case 30: case 30:
block_ = std::string("BeiDou-3 M10"); block_ = std::string("BEIDOU 3M8"); //!<Slot A-?; launched 2018/03/29
break;
case 31:
block_ = std::string("BDS I1-S");
break; break;
case 32: case 32:
block_ = std::string("BDS I2-S"); block_ = std::string("BEIDOU 3M13"); //!<Slot B-1?; launched 2018/09/19
break; break;
case 33: case 33:
block_ = std::string("BDS M1-S"); block_ = std::string("BEIDOU 3M14"); //!<Slot B-3; launched 2018/09/19
break;
case 34:
block_ = std::string("BDS M2-S");
break;
case 35:
block_ = std::string("BDS M3-S");
break; break;
default: default:
block_ = std::string("Unknown(Simulated)"); block_ = std::string("Unknown(Simulated)");