0.2.0
|
Broadcasted ephemeris message data. More...
Public Member Functions | |
BDSEphemeris (BDSEphemeris &&)=default | |
Move constructor. | |
BDSEphemeris (const BDSEphemeris &)=default | |
Copy constructor. | |
BDSEphemeris (const InsTime &toc, const InsTime &toe, const size_t &AODE, const size_t &AODC, 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 satH1, double T_GD1, double T_GD2) | |
Constructor. | |
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]. | |
bool | isHealthy () const final |
Checks whether the signal is healthy. | |
BDSEphemeris & | operator= (BDSEphemeris &&)=delete |
Move assignment operator. | |
BDSEphemeris & | operator= (const BDSEphemeris &)=delete |
Copy assignment operator. | |
~BDSEphemeris () 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 | |
const std::array< double, 3 > | a |
const size_t | AODC |
Age of Data, Clock. | |
const size_t | AODE |
Age of Data, Ephemeris. | |
const double | Cic |
Amplitude of the cosine harmonic correction term to the angle of inclination [rad]. | |
const double | Cis |
Amplitude of the sine harmonic correction term to the angle of inclination [rad]. | |
const double | Crc |
Amplitude of the cosine harmonic correction term to the orbit radius [m]. | |
const double | Crs |
Amplitude of the sine harmonic correction term to the orbit radius [m]. | |
const double | Cuc |
Amplitude of the cosine harmonic correction term to the argument of latitude [rad]. | |
const double | Cus |
Amplitude of the sine harmonic correction term to the argument of latitude [rad]. | |
const double | delta_n |
Mean motion difference from computed value [rad/s]. | |
const double | e |
Eccentricity [-]. | |
const double | i_0 |
Inclination angle at reference time [rad]. | |
const double | i_dot |
Rate of change of inclination [rad/s]. | |
const double | M_0 |
Mean anomaly at reference time [rad]. | |
const double | omega |
Argument of perigee [rad]. | |
const double | Omega_0 |
Longitude of the ascending node at reference time [rad]. | |
const double | Omega_dot |
Rate of change of right ascension [rad/s]. | |
const uint8_t | satH1 |
Autonomous Satellite Health flag. | |
const double | sqrt_A |
Square root of the semi-major axis [m^1/2]. | |
const double | svAccuracy |
SV accuracy [m]. | |
const double | T_GD1 |
Equipment Group Delay Differential. B1/B3 [s]. | |
const double | T_GD2 |
Equipment Group Delay Differential. B2/B3 [s]. | |
const InsTime | toc |
Time of Clock. | |
const 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... | |
Broadcasted ephemeris message data.
NAV::BDSEphemeris::BDSEphemeris | ( | const InsTime & | toc, |
const InsTime & | toe, | ||
const size_t & | AODE, | ||
const size_t & | AODC, | ||
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 | satH1, | ||
double | T_GD1, | ||
double | T_GD2 ) |
Constructor.
[in] | toc | Time the Clock information is calculated (Time of Clock) |
[in] | toe | Time the Orbit information is calculated (Time of Ephemeris) |
[in] | AODE | Age of Data, Ephemeris |
[in] | AODC | Age 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] | satH1 | Autonomous Satellite Health flag |
[in] | T_GD1 | Equipment Group Delay Differential. B1/B3 [s] |
[in] | T_GD2 | Equipment Group Delay Differential. B2/B3 [s] |
|
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.
const std::array<double, 3> NAV::BDSEphemeris::a |
Polynomial coefficients for clock correction
const size_t NAV::BDSEphemeris::AODC |
Age of Data, Clock.
Age of data, clock (AODC) is the extrapolated interval of clock correction parameters. It indicates the time difference between the reference epoch of clock correction parameters and the last observation epoch for extrapolating clock correction parameters. AODC is updated at the start of each hour in BDT, and it is 5 bits long with definitions as
AODC | Definition |
---|---|
< 25 | Age of the satellite clock correction parameters in hours |
25 | Age of the satellite clock correction parameters is two days |
26 | Age of the satellite clock correction parameters is three days |
27 | Age of the satellite clock correction parameters is four days |
28 | Age of the satellite clock correction parameters is five days |
29 | Age of the satellite clock correction parameters is six days |
30 | Age of the satellite clock correction parameters is seven days |
31 | Age of the satellite clock correction parameters is over seven days |
const size_t NAV::BDSEphemeris::AODE |
Age of Data, Ephemeris.
Age of data, ephemeris (AODE) is the extrapolated interval of ephemeris parameters. It indicates the time difference between the reference epoch of ephemeris parameters and the last observation epoch for extrapolating ephemeris parameters. AODE is updated at the start of each hour in BDT, and it is 5 bits long with definitions as follows:
AODE | Definition |
---|---|
< 25 | Age of the satellite ephemeris parameters in hours |
25 | Age of the satellite ephemeris parameters is two days |
26 | Age of the satellite ephemeris parameters is three days |
27 | Age of the satellite ephemeris parameters is four days |
28 | Age of the satellite ephemeris parameters is five days |
29 | Age of the satellite ephemeris parameters is six days |
30 | Age of the satellite ephemeris parameters is seven days |
31 | Age of the satellite ephemeris parameters is over seven days |
const uint8_t NAV::BDSEphemeris::satH1 |
const double NAV::BDSEphemeris::svAccuracy |
SV accuracy [m].
Derived from an URA index (URAI) of the SV for the standard positioning service user.
const double NAV::BDSEphemeris::T_GD1 |
Equipment Group Delay Differential. B1/B3 [s].
const double NAV::BDSEphemeris::T_GD2 |
Equipment Group Delay Differential. B2/B3 [s].