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:
parent
8c16d945f8
commit
e22f8e57c1
@ -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
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)); };
|
||||||
|
|
@ -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
|
||||||
*
|
*
|
@ -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 };
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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>
|
||||||
/*
|
/*
|
||||||
|
@ -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)");
|
||||||
|
Loading…
Reference in New Issue
Block a user