0.2.0
|
Broadcasted ephemeris message data. More...
Public Member Functions | |
Corrections | calcClockCorrections (const InsTime &recvTime, double dist, const Frequency &freq) const final |
Calculates clock bias and drift of the satellite. | |
double | calcSatellitePositionVariance () const final |
Calculates the Variance of the satellite position in [m^2]. | |
GPSEphemeris (const GPSEphemeris &)=default | |
Copy constructor. | |
GPSEphemeris (const InsTime &toc) | |
Default Constructor. | |
GPSEphemeris (const InsTime &toc, const InsTime &toe, const size_t &IODE, const size_t &IODC, const std::array< double, 3 > &a, const double &sqrt_A, const double &e, const double &i_0, const double &Omega_0, const double &omega, const double &M_0, const double &delta_n, const double &Omega_dot, const double &i_dot, const double &Cus, const double &Cuc, const double &Cis, const double &Cic, const double &Crs, const double &Crc, const double &svAccuracy, uint8_t svHealth, uint8_t L2ChannelCodes, bool L2DataFlagPCode, const double &T_GD, const double &fitInterval) | |
Constructor. | |
GPSEphemeris (GPSEphemeris &&)=default | |
Move constructor. | |
bool | isHealthy () const final |
Checks whether the signal is healthy. | |
GPSEphemeris & | operator= (const GPSEphemeris &)=delete |
Copy assignment operator. | |
GPSEphemeris & | operator= (GPSEphemeris &&)=delete |
Move assignment operator. | |
~GPSEphemeris () final=default | |
Destructor. | |
Public Member Functions inherited from NAV::SatNavData | |
SatNavData & | operator= (const SatNavData &)=delete |
Copy assignment operator. | |
SatNavData & | operator= (SatNavData &&)=delete |
Move assignment operator. | |
SatNavData (const SatNavData &)=default | |
Copy constructor. | |
SatNavData (SatNavData &&)=default | |
Move constructor. | |
SatNavData (Type type, const InsTime &refTime) | |
Constructor. | |
~SatNavData () override=default | |
Destructor. | |
Public Member Functions inherited from NAV::Clock | |
Clock ()=default | |
Default Constructor. | |
Clock (Clock &&)=default | |
Move constructor. | |
Clock (const Clock &)=default | |
Copy constructor. | |
Clock & | operator= (Clock &&)=delete |
Move assignment operator. | |
Clock & | operator= (const Clock &)=delete |
Copy assignment operator. | |
virtual | ~Clock ()=default |
Destructor. | |
Public Member Functions inherited from NAV::Orbit | |
Pos | calcSatellitePos (const InsTime &transTime) const |
Calculates position of the satellite at transmission time. | |
PosVel | calcSatellitePosVel (const InsTime &transTime) const |
Calculates position and velocity of the satellite at transmission time. | |
PosVelAccel | calcSatellitePosVelAccel (const InsTime &transTime) const |
Calculates position, velocity and acceleration of the satellite at transmission time. | |
Orbit & | operator= (const Orbit &)=delete |
Copy assignment operator. | |
Orbit & | operator= (Orbit &&)=delete |
Move assignment operator. | |
Orbit ()=default | |
Default Constructor. | |
Orbit (const Orbit &)=default | |
Copy constructor. | |
Orbit (Orbit &&)=default | |
Move constructor. | |
virtual | ~Orbit ()=default |
Destructor. | |
Public Attributes | |
std::array< double, 3 > | a |
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]. | |
double | Crc |
Amplitude of the cosine harmonic correction term to the orbit radius [m]. | |
double | Crs |
Amplitude of the sine harmonic correction term to the orbit radius [m]. | |
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 | delta_n |
Mean motion difference from computed value [rad/s]. | |
double | e |
Eccentricity [-]. | |
double | fitInterval |
Fit Interval of ephemerides [h]. | |
double | i_0 |
Inclination angle at reference time [rad]. | |
double | i_dot |
Rate of change of inclination [rad/s]. | |
size_t | IODC |
Issue of Data, Clock. | |
size_t | IODE |
Issue of Data, Ephemeris. | |
uint8_t | L2ChannelCodes |
Indicate which code(s) is (are) commanded ON for the in-phase component of the L2 channel. | |
bool | L2DataFlagPCode |
Data Flag for L2 P-Code. | |
double | M_0 |
Mean anomaly at reference time [rad]. | |
double | omega |
Argument of perigee [rad]. | |
double | Omega_0 |
Longitude of the ascending node at reference time [rad]. | |
double | Omega_dot |
Rate of change of right ascension [rad/s]. | |
double | sqrt_A |
Square root of the semi-major axis [m^1/2]. | |
double | svAccuracy |
SV accuracy [m]. | |
uint8_t | svHealth |
SV health. | |
double | T_GD |
Estimated Group Delay Differential. L1 and L2 correction term [s]. | |
InsTime | toc |
Time of Clock. | |
InsTime | toe |
Time of Ephemeris. | |
Public Attributes inherited from NAV::SatNavData | |
InsTime | refTime |
Reference time of the information. | |
const Type | type |
Child type (for down-casting) | |
Additional Inherited Members | |
Public Types inherited from NAV::SatNavData | |
enum | Type { GPSEphemeris , GalileoEphemeris , GLONASSEphemeris , BeiDouEphemeris , QZSSEphemeris , IRNSSEphemeris , SBASEphemeris } |
Child type. More... | |
Protected Types inherited from NAV::Orbit | |
enum | Calc { Calc_None , Calc_Position , Calc_Velocity , Calc_Acceleration } |
Calculation flags. More... | |
|
explicit |
NAV::GPSEphemeris::GPSEphemeris | ( | const InsTime & | toc, |
const InsTime & | toe, | ||
const size_t & | IODE, | ||
const size_t & | IODC, | ||
const std::array< double, 3 > & | a, | ||
const double & | sqrt_A, | ||
const double & | e, | ||
const double & | i_0, | ||
const double & | Omega_0, | ||
const double & | omega, | ||
const double & | M_0, | ||
const double & | delta_n, | ||
const double & | Omega_dot, | ||
const double & | i_dot, | ||
const double & | Cus, | ||
const double & | Cuc, | ||
const double & | Cis, | ||
const double & | Cic, | ||
const double & | Crs, | ||
const double & | Crc, | ||
const double & | svAccuracy, | ||
uint8_t | svHealth, | ||
uint8_t | L2ChannelCodes, | ||
bool | L2DataFlagPCode, | ||
const double & | T_GD, | ||
const double & | fitInterval ) |
Constructor.
[in] | toc | Time the Clock information is calculated (Time of Clock) |
[in] | toe | Time the Orbit information is calculated (Time of Ephemeris) |
[in] | IODE | Issue of Data, Ephemeris |
[in] | IODC | Issue of Data, Clock |
[in] | a | Polynomial coefficients for clock correction (a0 bias [s], a1 drift [s/s], a2 drift rate (aging) [s/s^2]) |
[in] | sqrt_A | Square root of the semi-major axis [m^1/2] |
[in] | e | Eccentricity [-] |
[in] | i_0 | Inclination angle at reference time [rad] |
[in] | Omega_0 | Longitude of the ascending node at reference time [rad] |
[in] | omega | Argument of perigee [rad] |
[in] | M_0 | Mean anomaly at reference time [rad] |
[in] | delta_n | Mean motion difference from computed value [rad/s] |
[in] | Omega_dot | Rate of change of right ascension [rad/s] |
[in] | i_dot | Rate of change of inclination [rad/s] |
[in] | Cus | Amplitude of the sine harmonic correction term to the argument of latitude [rad] |
[in] | Cuc | Amplitude of the cosine harmonic correction term to the argument of latitude [rad] |
[in] | Cis | Amplitude of the sine harmonic correction term to the angle of inclination [rad] |
[in] | Cic | Amplitude of the cosine harmonic correction term to the angle of inclination [rad] |
[in] | Crs | Amplitude of the sine harmonic correction term to the orbit radius [m] |
[in] | Crc | Amplitude of the cosine harmonic correction term to the orbit radius [m] |
[in] | svAccuracy | SV accuracy [m] |
[in] | svHealth | Signal Health |
[in] | L2ChannelCodes | Indicate which code(s) is (are) commanded ON for the in-phase component of the L2 channel |
[in] | L2DataFlagPCode | Data Flag for L2 P-Code |
[in] | T_GD | Estimated Group Delay Differential. L1 and L2 correction term [s] |
[in] | fitInterval | Fit Interval of ephemerides [h] |
|
finalvirtual |
Calculates clock bias and drift of the satellite.
[in] | recvTime | Receive time of the signal |
[in] | dist | Distance between receiver and satellite (normally the pseudorange) [m] |
[in] | freq | Signal Frequency |
Implements NAV::Clock.
std::array<double, 3> NAV::GPSEphemeris::a |
Polynomial coefficients for clock correction
double NAV::GPSEphemeris::fitInterval |
Fit Interval of ephemerides [h].
size_t NAV::GPSEphemeris::IODC |
Issue of Data, Clock.
Indicates the issue number of the data set and thereby provides the user with a convenient means of detecting any change in the subframe 1 core CEI data. Constraints on the IODC as well as the relationship between the IODC and the IODE (issue of data, ephemeris) terms are defined in [20] GPS ICD, ch. 20.3.4.4.
size_t NAV::GPSEphemeris::IODE |
Issue of Data, Ephemeris.
Provides the user with a convenient means for detecting any change in the ephemeris representation parameters
uint8_t NAV::GPSEphemeris::L2ChannelCodes |
Indicate which code(s) is (are) commanded ON for the in-phase component of the L2 channel.
00 = Invalid, 01 = P-code ON, 10 = C/A-code ON, 11 = Invalid.
These bits provide no indication of which code(s), if any, may be commanded ON for the quadrature component of the L2 channel.
bool NAV::GPSEphemeris::L2DataFlagPCode |
Data Flag for L2 P-Code.
1 indicates that the LNAV data stream was commanded OFF on the P-code of the in-phase component of the L2 channel. This bit provides no indication of whether LNAV data is or is not present on any code modulated on the quadrature component of the L2 channel.
double NAV::GPSEphemeris::svAccuracy |
SV accuracy [m].
Derived from an URA index of the SV for the standard positioning service user.
uint8_t NAV::GPSEphemeris::svHealth |
double NAV::GPSEphemeris::T_GD |
Estimated Group Delay Differential. L1 and L2 correction term [s].