20#ifndef GNSS_SDR_GLONASS_GNAV_EPHEMERIS_H
21#define GNSS_SDR_GLONASS_GNAV_EPHEMERIS_H
25#include <boost/date_time/posix_time/ptime.hpp>
26#include <boost/serialization/nvp.hpp>
109 boost::posix_time::ptime
glot_to_utc(
double offset_time,
double glot2utc_corr)
const;
120 void glot_to_gpst(
double tod_offset,
double glot2utc_corr,
double glot2gpst_corr, int32_t* WN,
double* TOW)
const;
122 template <
class Archive>
128 void serialize(Archive& archive,
const uint32_t version)
135 archive& BOOST_SERIALIZATION_NVP(
PRN);
137 archive& BOOST_SERIALIZATION_NVP(
d_m);
138 archive& BOOST_SERIALIZATION_NVP(
d_t_k);
139 archive& BOOST_SERIALIZATION_NVP(
d_t_b);
140 archive& BOOST_SERIALIZATION_NVP(
d_M);
141 archive& BOOST_SERIALIZATION_NVP(
d_gamma_n);
142 archive& BOOST_SERIALIZATION_NVP(
d_tau_n);
143 archive& BOOST_SERIALIZATION_NVP(
d_Xn);
144 archive& BOOST_SERIALIZATION_NVP(
d_Yn);
145 archive& BOOST_SERIALIZATION_NVP(
d_Zn);
146 archive& BOOST_SERIALIZATION_NVP(
d_VXn);
147 archive& BOOST_SERIALIZATION_NVP(
d_VYn);
148 archive& BOOST_SERIALIZATION_NVP(
d_VZn);
149 archive& BOOST_SERIALIZATION_NVP(
d_AXn);
150 archive& BOOST_SERIALIZATION_NVP(
d_AYn);
151 archive& BOOST_SERIALIZATION_NVP(
d_AZn);
152 archive& BOOST_SERIALIZATION_NVP(
d_B_n);
153 archive& BOOST_SERIALIZATION_NVP(
d_P);
154 archive& BOOST_SERIALIZATION_NVP(
d_N_T);
155 archive& BOOST_SERIALIZATION_NVP(
d_F_T);
156 archive& BOOST_SERIALIZATION_NVP(
d_n);
158 archive& BOOST_SERIALIZATION_NVP(
d_E_n);
159 archive& BOOST_SERIALIZATION_NVP(
d_P_1);
160 archive& BOOST_SERIALIZATION_NVP(
d_P_2);
161 archive& BOOST_SERIALIZATION_NVP(
d_P_3);
162 archive& BOOST_SERIALIZATION_NVP(
d_P_4);
163 archive& BOOST_SERIALIZATION_NVP(
d_l3rd_n);
164 archive& BOOST_SERIALIZATION_NVP(
d_l5th_n);
174 double check_t(
double time);
double d_Yn
Earth-fixed coordinate y of the satellite in PZ-90.02 coordinate system [km].
double d_Xn
Earth-fixed coordinate x of the satellite in PZ-90.02 coordinate system [km].
double d_gamma_n
Relative deviation of predicted carrier frequency value of n- satellite from nominal value at the ins...
double d_VYn
Earth-fixed velocity coordinate y of the satellite in PZ-90.02 coordinate system [km/s].
double d_P
Technological parameter of control segment, indication the satellite operation mode in respect of tim...
double d_AYn
Earth-fixed acceleration coordinate y of the satellite in PZ-90.02 coordinate system [km/s^2].
bool d_l5th_n
Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfu...
Glonass_Gnav_Ephemeris()=default
double d_AXn
Earth-fixed acceleration coordinate x of the satellite in PZ-90.02 coordinate system [km/s^2].
bool d_P_4
Flag to show that ephemeris parameters are present. "1" indicates that updated ephemeris or frequency...
double d_M
Type of satellite transmitting navigation signal [dimensionless].
double d_tau_n
Correction to the nth satellite time (tn) relative to GLONASS time (te),.
bool d_P_2
Flag of oddness ("1") or evenness ("0") of the value of (tb) [dimensionless].
double d_n
Index of the satellite transmitting given navigation signal. It corresponds to a slot number within G...
double d_tau_c
GLONASST 2 UTC correction (todo) may be eliminated.
double d_tod
Time of Day since ephemeris where decoded.
bool d_l3rd_n
Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfu...
bool d_P_3
Flag indicating a number of satellites for which almanac is transmitted within given frame: "1" corre...
void serialize(Archive &archive, const uint32_t version)
Serialize is a boost standard method to be called by the boost XML serialization. Here is used to sav...
double d_satClkDrift
GLONASS clock error.
double d_AZn
Earth-fixed acceleration coordinate z of the satellite in PZ-90.02 coordinate system [km/s^2].
uint32_t i_satellite_slot_number
SV Slot Number.
double d_VZn
Earth-fixed velocity coordinate z of the satellite in PZ-90.02 coordinate system [km/s].
double d_VXn
Earth-fixed velocity coordinate x of the satellite in PZ-90.02 coordinate system [km/s].
double d_TOW
GLONASST IN GPST seconds of week.
double d_iode
Issue of data, ephemeris (Bit 0-6 of tb).
int32_t i_satellite_freq_channel
SV Frequency Channel Number.
double d_m
String number within frame [dimensionless].
double d_t_b
Reference ephemeris relative time in GLONASS Time (UTC(SU) + 3 h). Index of a time interval within cu...
double d_Zn
Earth-fixed coordinate z of the satellite in PZ-90.02 coordinate system [km].
boost::posix_time::ptime compute_GLONASS_time(double offset_time) const
Computes the GLONASS System Time and returns a boost::posix_time::ptime object \ param offset_time Is...
double d_Delta_tau_n
Time difference between navigation RF signal transmitted in L2 sub- band and aviation RF signal trans...
double d_F_T
Parameter that provides the predicted satellite user range accuracy at time tb [dimensionless].
double d_E_n
Characterises "age" of a current information [days].
int32_t d_WN
GLONASST IN GPST week number of the start of frame.
void glot_to_gpst(double tod_offset, double glot2utc_corr, double glot2gpst_corr, int32_t *WN, double *TOW) const
Converts from GLONASST to GPST.
double d_t_k
GLONASS Time (UTC(SU) + 3 h) referenced to the beginning of the frame within the current day [s].
uint32_t PRN
SV PRN Number, equivalent to slot number for compatibility with GPS.
double d_N_T
Current date, calendar number of day within four-year interval starting from the 1-st of January in a...
boost::posix_time::ptime glot_to_utc(double offset_time, double glot2utc_corr) const
Converts from GLONASST to UTC.
double sv_clock_drift(double transmitTime, double timeCorrUTC)
Sets (d_satClkDrift)and returns the clock drift in seconds according to the User Algorithm for SV Clo...
double d_P_1
Flag of the immediate data updating [minutes].
double d_B_n
Health flag [dimensionless].
double d_dtr
relativistic clock correction term
Interface of a GLONASS GNAV UTC MODEL storage.