GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
Public Member Functions | Public Attributes | List of all members
Gps_CNAV_Ephemeris Class Reference

This is a storage class for the GPS CNAV ephemeris data as described in IS-GPS-200M. More...

#include <gps_cnav_ephemeris.h>

Inheritance diagram for Gps_CNAV_Ephemeris:
Gnss_Ephemeris

Public Member Functions

 Gps_CNAV_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. More...
 
- 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). More...
 
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.

\[ f_{d} = - \mathbf{v} \frac{\mathbf{x}^{T}}{\left| \mathbf{x} \right| } \frac{f_{L}}{c} \]

where:

\[ \mathbf{v} = \mathbf{v}_{sat} - \mathbf{v}_{rx} \]

\[ \mathbf{x} = \mathbf{x}_{sat} - \mathbf{x}_{rx} \]

\[ \left| \mathbf{x} \right| = \sqrt{\mathbf{x}\mathbf{x}^{T}} \]

. More...

 
void satellitePosition (double transmitTime)
 Computes the ECEF SV coordinates and ECEF velocity. More...
 

Public Attributes

double delta_A {}
 Semi-major axis difference at reference time. More...
 
double Adot {}
 Change rate in semi-major axis. More...
 
double delta_ndot {}
 Rate of mean motion difference from computed value. More...
 
double delta_OMEGAdot {}
 Rate of Right Ascension difference [semi-circles/s]. More...
 
int32_t toe1 {}
 Ephemeris data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200M) [s]. More...
 
int32_t toe2 {}
 Ephemeris data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200M) [s]. More...
 
int32_t signal_health {}
 Signal health (L1/L2/L5) More...
 
int32_t top {}
 Data predict time of week. More...
 
int32_t URA {}
 ED Accuracy Index. More...
 
double URA0 {}
 NED Accuracy Index. More...
 
double URA1 {}
 NED Accuracy Change Index. More...
 
double URA2 {}
 NED Accuracy Change Rate Index. More...
 
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]. More...
 
double ISCL1 {}
 
double ISCL2 {}
 
double ISCL5I {}
 
double ISCL5Q {}
 
bool integrity_status_flag {}
 If true, enhanced level of integrity assurance. More...
 
bool l2c_phasing_flag {}
 
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. More...
 
bool antispoofing_flag {}
 If true, the AntiSpoofing mode is ON in that SV. More...
 
- Public Attributes inherited from Gnss_Ephemeris
uint32_t PRN {}
 SV ID. More...
 
double M_0 {}
 Mean anomaly at reference time [rad]. More...
 
double delta_n {}
 Mean motion difference from computed value [rad/sec]. More...
 
double ecc {}
 Eccentricity. More...
 
double sqrtA {}
 Square root of the semi-major axis [meters^1/2]. More...
 
double OMEGA_0 {}
 Longitude of ascending node of orbital plane at weekly epoch [rad]. More...
 
double i_0 {}
 Inclination angle at reference time [rad]. More...
 
double omega {}
 Argument of perigee [rad]. More...
 
double OMEGAdot {}
 Rate of right ascension [rad/sec]. More...
 
double idot {}
 Rate of inclination angle [rad/sec]. More...
 
double Cuc {}
 Amplitude of the cosine harmonic correction term to the argument of latitude [rad]. More...
 
double Cus {}
 Amplitude of the sine harmonic correction term to the argument of latitude [rad]. More...
 
double Crc {}
 Amplitude of the cosine harmonic correction term to the orbit radius [meters]. More...
 
double Crs {}
 Amplitude of the sine harmonic correction term to the orbit radius [meters]. More...
 
double Cic {}
 Amplitude of the cosine harmonic correction term to the angle of inclination [rad]. More...
 
double Cis {}
 Amplitude of the sine harmonic correction term to the angle of inclination [rad]. More...
 
int32_t toe {}
 Ephemeris reference time [s]. More...
 
int32_t toc {}
 Clock correction data reference Time of Week [sec]. More...
 
double af0 {}
 SV clock bias correction coefficient [s]. More...
 
double af1 {}
 SV clock drift correction coefficient [s/s]. More...
 
double af2 {}
 SV clock drift rate correction coefficient [s/s^2]. More...
 
double satClkDrift {}
 SV clock drift. More...
 
double dtr {}
 Relativistic clock correction term. More...
 
int32_t WN {}
 Week number. More...
 
int32_t tow {}
 Time of Week. More...
 
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. More...
 
double satpos_Y {}
 Earth-fixed coordinate y of the satellite [m]. Completes a right-handed, Earth-Centered, Earth-Fixed orthogonal coordinate system. More...
 
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). More...
 
double satvel_X {}
 Earth-fixed velocity coordinate x of the satellite [m]. More...
 
double satvel_Y {}
 Earth-fixed velocity coordinate y of the satellite [m]. More...
 
double satvel_Z {}
 Earth-fixed velocity coordinate z of the satellite [m]. More...
 

Additional Inherited Members

- Protected Attributes inherited from Gnss_Ephemeris
char System {}
 Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou. More...
 

Detailed Description

This is a storage class for the GPS CNAV ephemeris data as described in IS-GPS-200M.

See https://www.gps.gov/technical/icwg/IS-GPS-200M.pdf Appendix III

Definition at line 37 of file gps_cnav_ephemeris.h.

Constructor & Destructor Documentation

◆ Gps_CNAV_Ephemeris()

Gps_CNAV_Ephemeris::Gps_CNAV_Ephemeris ( )
inline

Constructor

Definition at line 43 of file gps_cnav_ephemeris.h.

References Gnss_Ephemeris::System.

Member Function Documentation

◆ serialize()

template<class Archive >
void Gps_CNAV_Ephemeris::serialize ( Archive &  archive,
const uint32_t  version 
)
inline

Member Data Documentation

◆ Adot

double Gps_CNAV_Ephemeris::Adot {}

Change rate in semi-major axis.

Definition at line 49 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ alert_flag

bool Gps_CNAV_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 84 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ antispoofing_flag

bool Gps_CNAV_Ephemeris::antispoofing_flag {}

If true, the AntiSpoofing mode is ON in that SV.

Definition at line 85 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ delta_A

double Gps_CNAV_Ephemeris::delta_A {}

Semi-major axis difference at reference time.

Definition at line 48 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ delta_ndot

double Gps_CNAV_Ephemeris::delta_ndot {}

Rate of mean motion difference from computed value.

Definition at line 50 of file gps_cnav_ephemeris.h.

◆ delta_OMEGAdot

double Gps_CNAV_Ephemeris::delta_OMEGAdot {}

Rate of Right Ascension difference [semi-circles/s].

Definition at line 51 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ integrity_status_flag

bool Gps_CNAV_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 82 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ signal_health

int32_t Gps_CNAV_Ephemeris::signal_health {}

Signal health (L1/L2/L5)

Definition at line 54 of file gps_cnav_ephemeris.h.

◆ TGD

double Gps_CNAV_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 63 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ toe1

int32_t Gps_CNAV_Ephemeris::toe1 {}

Ephemeris data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200M) [s].

Definition at line 52 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ toe2

int32_t Gps_CNAV_Ephemeris::toe2 {}

Ephemeris data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200M) [s].

Definition at line 53 of file gps_cnav_ephemeris.h.

Referenced by serialize().

◆ top

int32_t Gps_CNAV_Ephemeris::top {}

Data predict time of week.

Definition at line 55 of file gps_cnav_ephemeris.h.

◆ URA

int32_t Gps_CNAV_Ephemeris::URA {}

ED Accuracy Index.

Definition at line 56 of file gps_cnav_ephemeris.h.

◆ URA0

double Gps_CNAV_Ephemeris::URA0 {}

NED Accuracy Index.

Definition at line 58 of file gps_cnav_ephemeris.h.

◆ URA1

double Gps_CNAV_Ephemeris::URA1 {}

NED Accuracy Change Index.

Definition at line 59 of file gps_cnav_ephemeris.h.

◆ URA2

double Gps_CNAV_Ephemeris::URA2 {}

NED Accuracy Change Rate Index.

Definition at line 60 of file gps_cnav_ephemeris.h.


The documentation for this class was generated from the following file: