![]() |
GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
|
This class is a storage and orbital model functions for the GPS SV ephemeris data as described in IS-GPS-200M. More...
#include <gps_ephemeris.h>
Public Member Functions | |
| Gps_Ephemeris () | |
| 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 Member Functions inherited from Gnss_Ephemeris | |
| double | sv_clock_drift (double transmitTime) |
| Sets (satClkDrift) and (dtr), and returns the clock drift in seconds according to the User Algorithm for SV Clock Correction (IS-GPS-200M, 20.3.3.3.3.1, and Galileo OS SIS ICD, 5.1.4). | |
| double | predicted_doppler (double rx_time_s, double lat, double lon, double h, double ve, double vn, double vu, int band) const |
| Computes prediction of the Doppler shift for a given time and receiver's position and velocity. | |
| void | satellitePosition (double transmitTime) |
| Computes the ECEF SV coordinates and ECEF velocity. | |
Public Attributes | |
| int32_t | code_on_L2 {} |
| If 1, P code ON in L2; if 2, C/A code ON in L2;. | |
| bool | L2_P_data_flag {} |
| When true, indicates that the NAV data stream was commanded OFF on the P-code of the L2 channel. | |
| int32_t | SV_accuracy {} |
| User Range Accuracy (URA) index of the SV (reference paragraph 6.2.1) for the standard positioning service user (Ref 20.3.3.3.1.3 IS-GPS-200M). | |
| int32_t | SV_health {} |
| Satellite heath status. | |
| double | TGD {} |
| Estimated Group Delay Differential: L1-L2 correction term only for the benefit of "L1 P(Y)" or "L2 P(Y)" s users [s]. | |
| int32_t | IODC {} |
| Issue of Data, Clock. | |
| int32_t | IODE_SF2 {} |
| Issue of Data, Ephemeris (IODE), subframe 2. | |
| int32_t | IODE_SF3 {} |
| Issue of Data, Ephemeris (IODE), subframe 3. | |
| int32_t | AODO {} |
| Age of Data Offset (AODO) term for the navigation message correction table (NMCT) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s]. | |
| bool | fit_interval_flag {} |
| indicates the curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | |
| double | spare1 {} |
| double | spare2 {} |
| bool | integrity_status_flag {} |
| If true, enhanced level of integrity assurance. | |
| bool | alert_flag {} |
| If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | |
| bool | antispoofing_flag {} |
| If true, the AntiSpoofing mode is ON in that SV. | |
| std::map< int, std::string > | satelliteBlock |
| Map that stores to which block the PRN belongs https://www.navcen.uscg.gov/?Do=constellationStatus. | |
| Public Attributes inherited from Gnss_Ephemeris | |
| uint32_t | PRN {} |
| SV ID. | |
| double | M_0 {} |
| Mean anomaly at reference time [rad]. | |
| double | delta_n {} |
| Mean motion difference from computed value [rad/sec]. | |
| double | ecc {} |
| Eccentricity. | |
| double | sqrtA {} |
| Square root of the semi-major axis [meters^1/2]. | |
| double | OMEGA_0 {} |
| Longitude of ascending node of orbital plane at weekly epoch [rad]. | |
| double | i_0 {} |
| Inclination angle at reference time [rad]. | |
| double | omega {} |
| Argument of perigee [rad]. | |
| double | OMEGAdot {} |
| Rate of right ascension [rad/sec]. | |
| double | idot {} |
| Rate of inclination angle [rad/sec]. | |
| double | Cuc {} |
| Amplitude of the cosine harmonic correction term to the argument of latitude [rad]. | |
| double | Cus {} |
| Amplitude of the sine harmonic correction term to the argument of latitude [rad]. | |
| double | Crc {} |
| Amplitude of the cosine harmonic correction term to the orbit radius [meters]. | |
| double | Crs {} |
| Amplitude of the sine harmonic correction term to the orbit radius [meters]. | |
| double | Cic {} |
| Amplitude of the cosine harmonic correction term to the angle of inclination [rad]. | |
| double | Cis {} |
| Amplitude of the sine harmonic correction term to the angle of inclination [rad]. | |
| int32_t | toe {} |
| Ephemeris reference time [s]. | |
| int32_t | toc {} |
| Clock correction data reference Time of Week [sec]. | |
| double | af0 {} |
| SV clock bias correction coefficient [s]. | |
| double | af1 {} |
| SV clock drift correction coefficient [s/s]. | |
| double | af2 {} |
| SV clock drift rate correction coefficient [s/s^2]. | |
| double | satClkDrift {} |
| SV clock drift. | |
| double | dtr {} |
| Relativistic clock correction term. | |
| int32_t | WN {} |
| Week number. | |
| int32_t | tow {} |
| Time of Week. | |
| double | satpos_X {} |
| Earth-fixed coordinate x of the satellite [m]. Intersection of the IERS Reference Meridian (IRM) and the plane passing through the origin and normal to the Z-axis. | |
| double | satpos_Y {} |
| Earth-fixed coordinate y of the satellite [m]. Completes a right-handed, Earth-Centered, Earth-Fixed orthogonal coordinate system. | |
| double | satpos_Z {} |
| Earth-fixed coordinate z of the satellite [m]. The direction of the IERS (International Earth Rotation and Reference Systems Service) Reference Pole (IRP). | |
| double | satvel_X {} |
| Earth-fixed velocity coordinate x of the satellite [m]. | |
| double | satvel_Y {} |
| Earth-fixed velocity coordinate y of the satellite [m]. | |
| double | satvel_Z {} |
| Earth-fixed velocity coordinate z of the satellite [m]. | |
Additional Inherited Members | |
| Protected Attributes inherited from Gnss_Ephemeris | |
| char | System {} |
| Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'C': BeiDou. | |
This class is a storage and orbital model functions for the GPS SV ephemeris data as described in IS-GPS-200M.
See https://www.gps.gov/sites/default/files/2025-07/IS-GPS-200M.pdf Appendix II
Definition at line 40 of file gps_ephemeris.h.
| Gps_Ephemeris::Gps_Ephemeris | ( | ) |
Default constructor
|
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.
Definition at line 86 of file gps_ephemeris.h.
References Gnss_Ephemeris::af0, Gnss_Ephemeris::af1, Gnss_Ephemeris::af2, alert_flag, antispoofing_flag, AODO, Gnss_Ephemeris::Cic, Gnss_Ephemeris::Cis, code_on_L2, Gnss_Ephemeris::Crc, Gnss_Ephemeris::Crs, Gnss_Ephemeris::Cuc, Gnss_Ephemeris::Cus, Gnss_Ephemeris::delta_n, Gnss_Ephemeris::dtr, Gnss_Ephemeris::ecc, fit_interval_flag, Gnss_Ephemeris::i_0, Gnss_Ephemeris::idot, integrity_status_flag, IODC, IODE_SF2, IODE_SF3, L2_P_data_flag, Gnss_Ephemeris::M_0, Gnss_Ephemeris::omega, Gnss_Ephemeris::OMEGA_0, Gnss_Ephemeris::OMEGAdot, Gnss_Ephemeris::PRN, Gnss_Ephemeris::satClkDrift, Gnss_Ephemeris::sqrtA, SV_accuracy, SV_health, TGD, Gnss_Ephemeris::toc, Gnss_Ephemeris::toe, Gnss_Ephemeris::tow, and Gnss_Ephemeris::WN.
| bool Gps_Ephemeris::alert_flag {} |
If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk.
Definition at line 75 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| bool Gps_Ephemeris::antispoofing_flag {} |
If true, the AntiSpoofing mode is ON in that SV.
Definition at line 76 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::AODO {} |
Age of Data Offset (AODO) term for the navigation message correction table (NMCT) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s].
Definition at line 56 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::code_on_L2 {} |
If 1, P code ON in L2; if 2, C/A code ON in L2;.
Definition at line 48 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| bool Gps_Ephemeris::fit_interval_flag {} |
indicates the curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours.
Definition at line 58 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| bool Gps_Ephemeris::integrity_status_flag {} |
If true, enhanced level of integrity assurance.
If false, indicates that the conveying signal is provided with the legacy level of integrity assurance. That is, the probability that the instantaneous URE of the conveying signal exceeds 4.42 times the upper bound value of the current broadcast URA index, for more than 5.2 seconds, without an accompanying alert, is less than 1E-5 per hour. If true, indicates that the conveying signal is provided with an enhanced level of integrity assurance. That is, the probability that the instantaneous URE of the conveying signal exceeds 5.73 times the upper bound value of the current broadcast URA index, for more than 5.2 seconds, without an accompanying alert, is less than 1E-8 per hour.
Definition at line 74 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::IODC {} |
Issue of Data, Clock.
Definition at line 53 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::IODE_SF2 {} |
Issue of Data, Ephemeris (IODE), subframe 2.
Definition at line 54 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::IODE_SF3 {} |
Issue of Data, Ephemeris (IODE), subframe 3.
Definition at line 55 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| bool Gps_Ephemeris::L2_P_data_flag {} |
When true, indicates that the NAV data stream was commanded OFF on the P-code of the L2 channel.
Definition at line 49 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| std::map<int, std::string> Gps_Ephemeris::satelliteBlock |
Map that stores to which block the PRN belongs https://www.navcen.uscg.gov/?Do=constellationStatus.
Definition at line 78 of file gps_ephemeris.h.
| double Gps_Ephemeris::spare1 {} |
Definition at line 59 of file gps_ephemeris.h.
| double Gps_Ephemeris::spare2 {} |
Definition at line 60 of file gps_ephemeris.h.
| int32_t Gps_Ephemeris::SV_accuracy {} |
User Range Accuracy (URA) index of the SV (reference paragraph 6.2.1) for the standard positioning service user (Ref 20.3.3.3.1.3 IS-GPS-200M).
Definition at line 50 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| int32_t Gps_Ephemeris::SV_health {} |
Satellite heath status.
Definition at line 51 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().
| double Gps_Ephemeris::TGD {} |
Estimated Group Delay Differential: L1-L2 correction term only for the benefit of "L1 P(Y)" or "L2 P(Y)" s users [s].
Definition at line 52 of file gps_ephemeris.h.
Referenced by Serdes_Gps_Eph::readProtobuffer(), and serialize().