![]() |
GNSS-SDR
0.0.19
An Open Source GNSS Software Defined Receiver
|
Base class for GNSS ephemeris storage. More...
#include <gnss_ephemeris.h>
Public Member Functions | |
| 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 | |
| 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... | |
Protected Attributes | |
| char | System {} |
| Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou. More... | |
Base class for GNSS ephemeris storage.
Definition at line 28 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::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}} \]
.
| [in] | rx_time_s | Time of Week in seconds |
| [in] | lat | Receiver's latitude in degrees |
| [in] | lon | Receiver's longitude in degrees |
| [in] | h | Receiver's height in meters |
| [in] | ve | Receiver's velocity in the East direction [m/s] |
| [in] | vn | Receiver's velocity in the North direction [m/s] |
| [in] | vu | Receiver's velocity in the Up direction [m/s] |
| [in] | band | Signal band for which the Doppler will be computed (1: L1 C/A, E1B, BI1; 2: L2C, BI2; 3: BI3; 5: L5/E5a; 6: E6B; 7: E5b; 8: E5a+E5b) |
| void Gnss_Ephemeris::satellitePosition | ( | double | transmitTime | ) |
Computes the ECEF SV coordinates and ECEF velocity.
| double Gnss_Ephemeris::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 Gnss_Ephemeris::af0 {} |
SV clock bias correction coefficient [s].
Definition at line 90 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::af1 {} |
SV clock drift correction coefficient [s/s].
Definition at line 91 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::af2 {} |
SV clock drift rate correction coefficient [s/s^2].
Definition at line 92 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Cic {} |
Amplitude of the cosine harmonic correction term to the angle of inclination [rad].
Definition at line 84 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Cis {} |
Amplitude of the sine harmonic correction term to the angle of inclination [rad].
Definition at line 85 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Crc {} |
Amplitude of the cosine harmonic correction term to the orbit radius [meters].
Definition at line 82 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Crs {} |
Amplitude of the sine harmonic correction term to the orbit radius [meters].
Definition at line 83 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Cuc {} |
Amplitude of the cosine harmonic correction term to the argument of latitude [rad].
Definition at line 80 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::Cus {} |
Amplitude of the sine harmonic correction term to the argument of latitude [rad].
Definition at line 81 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::delta_n {} |
Mean motion difference from computed value [rad/sec].
Definition at line 72 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::dtr {} |
Relativistic clock correction term.
Definition at line 95 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::ecc {} |
Eccentricity.
Definition at line 73 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::i_0 {} |
Inclination angle at reference time [rad].
Definition at line 76 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::idot {} |
Rate of inclination angle [rad/sec].
Definition at line 79 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::M_0 {} |
Mean anomaly at reference time [rad].
Definition at line 71 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::omega {} |
Argument of perigee [rad].
Definition at line 77 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::OMEGA_0 {} |
Longitude of ascending node of orbital plane at weekly epoch [rad].
Definition at line 75 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::OMEGAdot {} |
Rate of right ascension [rad/sec].
Definition at line 78 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| uint32_t Gnss_Ephemeris::PRN {} |
SV ID.
Definition at line 70 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::satClkDrift {} |
SV clock drift.
Definition at line 94 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| double Gnss_Ephemeris::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.
Definition at line 102 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::satpos_Y {} |
Earth-fixed coordinate y of the satellite [m]. Completes a right-handed, Earth-Centered, Earth-Fixed orthogonal coordinate system.
Definition at line 103 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::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).
Definition at line 104 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::satvel_X {} |
Earth-fixed velocity coordinate x of the satellite [m].
Definition at line 107 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::satvel_Y {} |
Earth-fixed velocity coordinate y of the satellite [m].
Definition at line 108 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::satvel_Z {} |
Earth-fixed velocity coordinate z of the satellite [m].
Definition at line 109 of file gnss_ephemeris.h.
| double Gnss_Ephemeris::sqrtA {} |
Square root of the semi-major axis [meters^1/2].
Definition at line 74 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
|
protected |
Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou.
Definition at line 112 of file gnss_ephemeris.h.
Referenced by Gps_CNAV_Ephemeris::Gps_CNAV_Ephemeris().
| int32_t Gnss_Ephemeris::toc {} |
Clock correction data reference Time of Week [sec].
Definition at line 89 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| int32_t Gnss_Ephemeris::toe {} |
Ephemeris reference time [s].
Definition at line 86 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| int32_t Gnss_Ephemeris::tow {} |
Time of Week.
Definition at line 99 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
| int32_t Gnss_Ephemeris::WN {} |
Week number.
Definition at line 98 of file gnss_ephemeris.h.
Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().
1.8.14