![]() |
GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
|
This class is a storage and orbital model functions for the GLONASS SV ephemeris data as described in GLONASS ICD (Edition 5.1). More...
#include <glonass_gnav_ephemeris.h>
Public Member Functions | |
| Glonass_Gnav_Ephemeris ()=default | |
| 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 Clock Correction. | |
| 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 the start of day offset to compute the time. | |
| boost::posix_time::ptime | glot_to_utc (double offset_time, double glot2utc_corr) const |
| Converts from GLONASST to UTC. | |
| void | glot_to_gpst (double tod_offset, double glot2utc_corr, double glot2gpst_corr, int32_t *WN, double *TOW) const |
| Converts from GLONASST to GPST. | |
| template<class Archive> | |
| 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 save the ephemeris data on disk file. | |
Public Attributes | |
| double | d_m {} |
| String number within frame [dimensionless]. | |
| double | d_t_k {} |
| GLONASS Time (UTC(SU) + 3 h) referenced to the beginning of the frame within the current day [s]. | |
| double | d_t_b {} |
| Reference ephemeris relative time in GLONASS Time (UTC(SU) + 3 h). Index of a time interval within current day according to UTC(SU) + 03 hours 00 min. [s]. | |
| double | d_M {} |
| Type of satellite transmitting navigation signal [dimensionless]. | |
| double | d_gamma_n {} |
| Relative deviation of predicted carrier frequency value of n- satellite from nominal value at the instant tb [dimensionless]. | |
| double | d_tau_n {} |
| Correction to the nth satellite time (tn) relative to GLONASS time (te),. | |
| double | d_Xn {} |
| Earth-fixed coordinate x of the satellite in PZ-90.02 coordinate system [km]. | |
| double | d_Yn {} |
| Earth-fixed coordinate y of the satellite in PZ-90.02 coordinate system [km]. | |
| double | d_Zn {} |
| Earth-fixed coordinate z of the satellite in PZ-90.02 coordinate system [km]. | |
| double | d_VXn {} |
| Earth-fixed velocity coordinate x of the satellite in PZ-90.02 coordinate system [km/s]. | |
| double | d_VYn {} |
| Earth-fixed velocity coordinate y of the satellite in PZ-90.02 coordinate system [km/s]. | |
| double | d_VZn {} |
| Earth-fixed velocity coordinate z of the satellite in PZ-90.02 coordinate system [km/s]. | |
| double | d_AXn {} |
| Earth-fixed acceleration coordinate x of the satellite in PZ-90.02 coordinate system [km/s^2]. | |
| double | d_AYn {} |
| Earth-fixed acceleration coordinate y of the satellite in PZ-90.02 coordinate system [km/s^2]. | |
| double | d_AZn {} |
| Earth-fixed acceleration coordinate z of the satellite in PZ-90.02 coordinate system [km/s^2]. | |
| double | d_B_n {} |
| Health flag [dimensionless]. | |
| double | d_P {} |
| Technological parameter of control segment, indication the satellite operation mode in respect of time parameters [dimensionless]. | |
| double | d_N_T {} |
| Current date, calendar number of day within four-year interval starting from the 1-st of January in a leap year [days]. | |
| double | d_F_T {} |
| Parameter that provides the predicted satellite user range accuracy at time tb [dimensionless]. | |
| double | d_n {} |
| Index of the satellite transmitting given navigation signal. It corresponds to a slot number within GLONASS constellation. | |
| double | d_Delta_tau_n {} |
| Time difference between navigation RF signal transmitted in L2 sub- band and aviation RF signal transmitted in L1 sub-band by nth satellite. [dimensionless]. | |
| double | d_E_n {} |
| Characterises "age" of a current information [days]. | |
| double | d_P_1 {} |
| Flag of the immediate data updating [minutes]. | |
| bool | d_P_2 {} |
| Flag of oddness ("1") or evenness ("0") of the value of (tb) [dimensionless]. | |
| bool | d_P_3 {} |
| Flag indicating a number of satellites for which almanac is transmitted within given frame: "1" corresponds to 5 satellites and "0" corresponds to 4 satellites [dimensionless]. | |
| bool | d_P_4 {} |
| Flag to show that ephemeris parameters are present. "1" indicates that updated ephemeris or frequency/time parameters have been uploaded by the control segment [dimensionless]. | |
| bool | d_l3rd_n {} |
| Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfunction of this nth satellite [dimensionless]. | |
| bool | d_l5th_n {} |
| Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfunction of this nth satellite [dimensionless]. | |
| int32_t | i_satellite_freq_channel {} |
| SV Frequency Channel Number. | |
| uint32_t | PRN {} |
| SV PRN Number, equivalent to slot number for compatibility with GPS. | |
| uint32_t | i_satellite_slot_number {} |
| SV Slot Number. | |
| double | d_yr = 1972.0 |
| Current year. | |
| double | d_satClkDrift {} |
| GLONASS clock error. | |
| double | d_dtr {} |
| relativistic clock correction term | |
| double | d_iode {} |
| Issue of data, ephemeris (Bit 0-6 of tb). | |
| double | d_tau_c {} |
| GLONASST 2 UTC correction (todo) may be eliminated. | |
| double | d_TOW {} |
| GLONASST IN GPST seconds of week. | |
| int32_t | d_WN {} |
| GLONASST IN GPST week number of the start of frame. | |
| double | d_tod {} |
| Time of Day since ephemeris where decoded. | |
This class is a storage and orbital model functions for the GLONASS SV ephemeris data as described in GLONASS ICD (Edition 5.1).
Definition at line 40 of file glonass_gnav_ephemeris.h.
|
default |
Default constructor
| boost::posix_time::ptime Glonass_Gnav_Ephemeris::compute_GLONASS_time | ( | double | offset_time | ) | const |
Computes the GLONASS System Time and returns a boost::posix_time::ptime object \ param offset_time Is the start of day offset to compute the time.
| void Glonass_Gnav_Ephemeris::glot_to_gpst | ( | double | tod_offset, |
| double | glot2utc_corr, | ||
| double | glot2gpst_corr, | ||
| int32_t * | WN, | ||
| double * | TOW ) const |
Converts from GLONASST to GPST.
Converts from GLONASST to GPST in time of week (TOW) and week number (WN) format
| [in] | tod_offset | Is the start of day offset |
| [in] | glot2utc_corr | Correction from GLONASST to UTC |
| [in] | glot2gpst_corr | Correction from GLONASST to GPST |
| [out] | WN | Week Number, not in mod(1024) format |
| [out] | TOW | Time of Week in seconds of week |
| boost::posix_time::ptime Glonass_Gnav_Ephemeris::glot_to_utc | ( | double | offset_time, |
| double | glot2utc_corr ) const |
Converts from GLONASST to UTC.
The function simply adjust for the 6 hrs offset between GLONASST and UTC
| [in] | offset_time | Is the start of day offset |
| [in] | glot2utc_corr | Correction from GLONASST to UTC |
|
inline |
Serialize is a boost standard method to be called by the boost XML serialization. Here is used to save the ephemeris data on disk file.
< SV PRN frequency channel number
< String number within frame [dimensionless]
< Time referenced to the beginning of the frame within the current day [hours, minutes, seconds]
< Index of a time interval within current day according to UTC(SU) + 03 hours 00 min. [minutes]
< Type of satellite transmitting navigation signal [dimensionless]
< Relative deviation of predicted carrier frequency value of n- satellite from nominal value at the instant tb [dimensionless]
< Correction to the nth satellite time (tn) relative to GLONASS time (te)
< Earth-fixed coordinate x of the satellite in PZ-90.02 coordinate system [km].
< Earth-fixed coordinate y of the satellite in PZ-90.02 coordinate system [km]
< Earth-fixed coordinate z of the satellite in PZ-90.02 coordinate system [km]
< Earth-fixed velocity coordinate x of the satellite in PZ-90.02 coordinate system [km/s]
< Earth-fixed velocity coordinate y of the satellite in PZ-90.02 coordinate system [km/s]
< Earth-fixed velocity coordinate z of the satellite in PZ-90.02 coordinate system [km/s]
< Earth-fixed acceleration coordinate x of the satellite in PZ-90.02 coordinate system [km/s^2]
< Earth-fixed acceleration coordinate y of the satellite in PZ-90.02 coordinate system [km/s^2]
< Earth-fixed acceleration coordinate z of the satellite in PZ-90.02 coordinate system [km/s^2]
< Health flag [dimensionless]
< Technological parameter of control segment, indication the satellite operation mode in respect of time parameters [dimensionless]
< Current date, calendar number of day within four-year interval starting from the 1-st of January in a leap year [days]
< Parameter that provides the predicted satellite user range accuracy at time tb [dimensionless]
< Index of the satellite transmitting given navigation signal. It corresponds to a slot number within GLONASS constellation
< Time difference between navigation RF signal transmitted in L2 sub- band and aviation RF signal transmitted in L1 sub-band by nth satellite. [dimensionless]
< Characterises "age" of a current information [days]
< Flag of the immediate data updating.
< Flag of oddness ("1") or evenness ("0") of the value of (tb) [dimensionless]
< Flag indicating a number of satellites for which almanac is transmitted within given frame: "1" corresponds to 5 satellites and "0" corresponds to 4 satellites [dimensionless]
< Flag to show that ephemeris parameters are present. "1" indicates that updated ephemeris or frequency/time parameters have been uploaded by the control segment [dimensionless]
< Health flag for nth satellite; ln = 0 indicates the n-th satellite is helthy, ln = 1 indicates malfunction of this nth satellite [dimensionless]
< Health flag for nth satellite; ln = 0 indicates the n-th satellite is helthy, ln = 1 indicates malfunction of this nth satellite [dimensionless]
Definition at line 128 of file glonass_gnav_ephemeris.h.
References d_AXn, d_AYn, d_AZn, d_B_n, d_Delta_tau_n, d_E_n, d_F_T, d_gamma_n, d_l3rd_n, d_l5th_n, d_M, d_m, d_n, d_N_T, d_P, d_P_1, d_P_2, d_P_3, d_P_4, d_t_b, d_t_k, d_tau_n, d_VXn, d_VYn, d_VZn, d_Xn, d_Yn, d_Zn, i_satellite_freq_channel, i_satellite_slot_number, and PRN.
| double Glonass_Gnav_Ephemeris::sv_clock_drift | ( | double | transmitTime, |
| double | timeCorrUTC ) |
Sets (d_satClkDrift)and returns the clock drift in seconds according to the User Algorithm for SV Clock Correction.
| double Glonass_Gnav_Ephemeris::d_AXn {} |
Earth-fixed acceleration coordinate x of the satellite in PZ-90.02 coordinate system [km/s^2].
Definition at line 60 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_AYn {} |
Earth-fixed acceleration coordinate y of the satellite in PZ-90.02 coordinate system [km/s^2].
Definition at line 61 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_AZn {} |
Earth-fixed acceleration coordinate z of the satellite in PZ-90.02 coordinate system [km/s^2].
Definition at line 62 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_B_n {} |
Health flag [dimensionless].
Definition at line 63 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_Delta_tau_n {} |
Time difference between navigation RF signal transmitted in L2 sub- band and aviation RF signal transmitted in L1 sub-band by nth satellite. [dimensionless].
Definition at line 68 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_dtr {} |
relativistic clock correction term
Definition at line 84 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_E_n {} |
Characterises "age" of a current information [days].
Definition at line 69 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_F_T {} |
Parameter that provides the predicted satellite user range accuracy at time tb [dimensionless].
Definition at line 66 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_gamma_n {} |
Relative deviation of predicted carrier frequency value of n- satellite from nominal value at the instant tb [dimensionless].
Definition at line 52 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_iode {} |
Issue of data, ephemeris (Bit 0-6 of tb).
Definition at line 85 of file glonass_gnav_ephemeris.h.
| bool Glonass_Gnav_Ephemeris::d_l3rd_n {} |
Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfunction of this nth satellite [dimensionless].
Definition at line 74 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| bool Glonass_Gnav_Ephemeris::d_l5th_n {} |
Health flag for nth satellite; ln = 0 indicates the n-th satellite is healthy, ln = 1 indicates malfunction of this nth satellite [dimensionless].
Definition at line 75 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_M {} |
Type of satellite transmitting navigation signal [dimensionless].
Definition at line 51 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_m {} |
String number within frame [dimensionless].
Definition at line 48 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_n {} |
Index of the satellite transmitting given navigation signal. It corresponds to a slot number within GLONASS constellation.
Definition at line 67 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_N_T {} |
Current date, calendar number of day within four-year interval starting from the 1-st of January in a leap year [days].
Definition at line 65 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_P {} |
Technological parameter of control segment, indication the satellite operation mode in respect of time parameters [dimensionless].
Definition at line 64 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_P_1 {} |
Flag of the immediate data updating [minutes].
Definition at line 70 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| bool Glonass_Gnav_Ephemeris::d_P_2 {} |
Flag of oddness ("1") or evenness ("0") of the value of (tb) [dimensionless].
Definition at line 71 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| bool Glonass_Gnav_Ephemeris::d_P_3 {} |
Flag indicating a number of satellites for which almanac is transmitted within given frame: "1" corresponds to 5 satellites and "0" corresponds to 4 satellites [dimensionless].
Definition at line 72 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| bool Glonass_Gnav_Ephemeris::d_P_4 {} |
Flag to show that ephemeris parameters are present. "1" indicates that updated ephemeris or frequency/time parameters have been uploaded by the control segment [dimensionless].
Definition at line 73 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_satClkDrift {} |
GLONASS clock error.
Definition at line 83 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_t_b {} |
Reference ephemeris relative time in GLONASS Time (UTC(SU) + 3 h). Index of a time interval within current day according to UTC(SU) + 03 hours 00 min. [s].
Definition at line 50 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_t_k {} |
GLONASS Time (UTC(SU) + 3 h) referenced to the beginning of the frame within the current day [s].
Definition at line 49 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_tau_c {} |
GLONASST 2 UTC correction (todo) may be eliminated.
Definition at line 86 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_tau_n {} |
Correction to the nth satellite time (tn) relative to GLONASS time (te),.
Definition at line 53 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_tod {} |
Time of Day since ephemeris where decoded.
Definition at line 89 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_TOW {} |
GLONASST IN GPST seconds of week.
Definition at line 87 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_VXn {} |
Earth-fixed velocity coordinate x of the satellite in PZ-90.02 coordinate system [km/s].
Definition at line 57 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_VYn {} |
Earth-fixed velocity coordinate y of the satellite in PZ-90.02 coordinate system [km/s].
Definition at line 58 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_VZn {} |
Earth-fixed velocity coordinate z of the satellite in PZ-90.02 coordinate system [km/s].
Definition at line 59 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| int32_t Glonass_Gnav_Ephemeris::d_WN {} |
GLONASST IN GPST week number of the start of frame.
Definition at line 88 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_Xn {} |
Earth-fixed coordinate x of the satellite in PZ-90.02 coordinate system [km].
Definition at line 54 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_Yn {} |
Earth-fixed coordinate y of the satellite in PZ-90.02 coordinate system [km].
Definition at line 55 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| double Glonass_Gnav_Ephemeris::d_yr = 1972.0 |
Current year.
Definition at line 82 of file glonass_gnav_ephemeris.h.
| double Glonass_Gnav_Ephemeris::d_Zn {} |
Earth-fixed coordinate z of the satellite in PZ-90.02 coordinate system [km].
Definition at line 56 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| int32_t Glonass_Gnav_Ephemeris::i_satellite_freq_channel {} |
SV Frequency Channel Number.
Definition at line 79 of file glonass_gnav_ephemeris.h.
Referenced by serialize().
| uint32_t Glonass_Gnav_Ephemeris::i_satellite_slot_number {} |
| uint32_t Glonass_Gnav_Ephemeris::PRN {} |
SV PRN Number, equivalent to slot number for compatibility with GPS.
Definition at line 80 of file glonass_gnav_ephemeris.h.
Referenced by serialize().