![]() |
0.4.1
|
Broadcasted ephemeris message data. More...
Public Member Functions | |
BDSEphemeris (BDSEphemeris &&)=default | |
Move constructor. | |
BDSEphemeris (const BDSEphemeris &)=default | |
Copy constructor. | |
BDSEphemeris (const uint16_t &satNum, 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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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. | |
Data Fields | |
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 uint16_t | satNum |
Number of the satellite. | |
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. | |
![]() | |
InsTime | refTime |
Reference time of the information. | |
const Type | type |
Child type (for down-casting) | |
Private Member Functions | |
PosVelAccel | calcSatelliteData (const InsTime &transTime, Orbit::Calc calc) const final |
Calculates position, velocity and acceleration of the satellite at transmission time. | |
Additional Inherited Members | |
![]() | |
enum | Type : uint8_t { GPSEphemeris , GalileoEphemeris , GLONASSEphemeris , BeiDouEphemeris , QZSSEphemeris , IRNSSEphemeris , SBASEphemeris } |
Child type. More... | |
![]() | |
enum | Calc : uint8_t { Calc_None , Calc_Position , Calc_Velocity , Calc_Acceleration } |
Calculation flags. More... | |
Broadcasted ephemeris message data.
Definition at line 30 of file BDSEphemeris.hpp.
NAV::BDSEphemeris::BDSEphemeris | ( | const uint16_t & | satNum, |
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] | satNum | Number of the satellite |
[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] |
Definition at line 23 of file BDSEphemeris.cpp.
|
finaldefault |
Destructor.
|
default |
Copy constructor.
|
default |
Move constructor.
|
nodiscardfinalvirtual |
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.
Definition at line 98 of file BDSEphemeris.cpp.
|
nodiscardfinalprivatevirtual |
Calculates position, velocity and acceleration of the satellite at transmission time.
[in] | transTime | Transmit time of the signal |
[in] | calc | Flags which determine what should be calculated and returned |
Implements NAV::Orbit.
Definition at line 172 of file BDSEphemeris.cpp.
|
nodiscardfinalvirtual |
Calculates the Variance of the satellite position in [m^2].
Implements NAV::Orbit.
Definition at line 357 of file BDSEphemeris.cpp.
|
nodiscardfinalvirtual |
Checks whether the signal is healthy.
Implements NAV::SatNavData.
Definition at line 352 of file BDSEphemeris.cpp.
|
delete |
Move assignment operator.
|
delete |
Copy assignment operator.
const std::array<double, 3> NAV::BDSEphemeris::a |
Polynomial coefficients for clock correction
Definition at line 94 of file BDSEphemeris.hpp.
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 |
Definition at line 86 of file BDSEphemeris.hpp.
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 |
Definition at line 66 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Cic |
Amplitude of the cosine harmonic correction term to the angle of inclination [rad].
Definition at line 113 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Cis |
Amplitude of the sine harmonic correction term to the angle of inclination [rad].
Definition at line 112 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Crc |
Amplitude of the cosine harmonic correction term to the orbit radius [m].
Definition at line 115 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Crs |
Amplitude of the sine harmonic correction term to the orbit radius [m].
Definition at line 114 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Cuc |
Amplitude of the cosine harmonic correction term to the argument of latitude [rad].
Definition at line 111 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Cus |
Amplitude of the sine harmonic correction term to the argument of latitude [rad].
Definition at line 110 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::delta_n |
Mean motion difference from computed value [rad/s].
Definition at line 107 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::e |
Eccentricity [-].
Definition at line 99 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::i_0 |
Inclination angle at reference time [rad].
Definition at line 100 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::i_dot |
Rate of change of inclination [rad/s].
Definition at line 109 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::M_0 |
Mean anomaly at reference time [rad].
Definition at line 103 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::omega |
Argument of perigee [rad].
Definition at line 102 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Omega_0 |
Longitude of the ascending node at reference time [rad].
Definition at line 101 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::Omega_dot |
Rate of change of right ascension [rad/s].
Definition at line 108 of file BDSEphemeris.hpp.
const uint8_t NAV::BDSEphemeris::satH1 |
Autonomous Satellite Health flag.
0 = broadcasting satellite is good 1 = broadcasting satellite is not good
Definition at line 132 of file BDSEphemeris.hpp.
const uint16_t NAV::BDSEphemeris::satNum |
Number of the satellite.
Definition at line 38 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::sqrt_A |
Square root of the semi-major axis [m^1/2].
Definition at line 98 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::svAccuracy |
SV accuracy [m].
Derived from an URA index (URAI) of the SV for the standard positioning service user.
Definition at line 124 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::T_GD1 |
Equipment Group Delay Differential. B1/B3 [s].
Definition at line 136 of file BDSEphemeris.hpp.
const double NAV::BDSEphemeris::T_GD2 |
Equipment Group Delay Differential. B2/B3 [s].
Definition at line 140 of file BDSEphemeris.hpp.
const InsTime NAV::BDSEphemeris::toc |
Time of Clock.
Definition at line 43 of file BDSEphemeris.hpp.
const InsTime NAV::BDSEphemeris::toe |
Time of Ephemeris.
Definition at line 46 of file BDSEphemeris.hpp.