0.2.0
|
Broadcasted ephemeris message data. More...
Classes | |
struct | SvHealth |
Navigation Data Validity and Signal Health Status. 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]. | |
GalileoEphemeris (const GalileoEphemeris &)=default | |
Copy constructor. | |
GalileoEphemeris (const InsTime &toc) | |
Default Constructor. | |
GalileoEphemeris (const InsTime &toc, const InsTime &toe, const size_t &IODnav, 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 std::bitset< 10 > &dataSource, const double &signalAccuracy, const SvHealth &svHealth, const double &BGD_E1_E5a, const double &BGD_E1_E5b) | |
Constructor. | |
GalileoEphemeris (GalileoEphemeris &&)=default | |
Move constructor. | |
bool | isHealthy () const final |
Checks whether the signal is healthy. | |
GalileoEphemeris & | operator= (const GalileoEphemeris &)=delete |
Copy assignment operator. | |
GalileoEphemeris & | operator= (GalileoEphemeris &&)=delete |
Move assignment operator. | |
~GalileoEphemeris () 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 | BGD_E1_E5a |
E1-E5a Broadcast Group Delay [s]. | |
double | BGD_E1_E5b |
E1-E5b Broadcast Group Delay [s]. | |
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]. | |
std::bitset< 10 > | dataSource |
Data sources. | |
double | delta_n |
Mean motion difference from computed value [rad/s]. | |
double | e |
Eccentricity [-]. | |
double | i_0 |
Inclination angle at reference time [rad]. | |
double | i_dot |
Rate of change of inclination [rad/s]. | |
size_t | IODnav |
Issue of Data of the nav batch. | |
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 | signalAccuracy |
double | sqrt_A |
Square root of the semi-major axis [m^1/2]. | |
SvHealth | svHealth |
Signal Health. | |
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::GalileoEphemeris::GalileoEphemeris | ( | const InsTime & | toc, |
const InsTime & | toe, | ||
const size_t & | IODnav, | ||
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 std::bitset< 10 > & | dataSource, | ||
const double & | signalAccuracy, | ||
const SvHealth & | svHealth, | ||
const double & | BGD_E1_E5a, | ||
const double & | BGD_E1_E5b ) |
Constructor.
[in] | toc | Time the Clock information is calculated (Time of Clock) |
[in] | toe | Time the Orbit information is calculated (Time of Ephemeris) |
[in] | IODnav | Issue of Data of the nav batch |
[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] | dataSource | Data sources |
[in] | signalAccuracy | SISA (Signal in space accuracy) [m] |
[in] | svHealth | Signal Health |
[in] | BGD_E1_E5a | E1-E5a Broadcast Group Delay [s] |
[in] | BGD_E1_E5b | E1-E5b Broadcast Group Delay [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.
std::array<double, 3> NAV::GalileoEphemeris::a |
Polynomial coefficients for clock correction
double NAV::GalileoEphemeris::BGD_E1_E5a |
E1-E5a Broadcast Group Delay [s].
double NAV::GalileoEphemeris::BGD_E1_E5b |
E1-E5b Broadcast Group Delay [s].
std::bitset<10> NAV::GalileoEphemeris::dataSource |
Data sources.
Bit 0 set: I/NAV E1-B Bit 1 set: F/NAV E5a-I Bit 2 set: I/NAV E5b-I Bits 0 and 2: Both can be set if the navigation messages were merged, however, bits 0-2 cannot all be set, as the I/NAV and F/NAV messages contain different information Bit 3 reserved for Galileo internal use Bit 4 reserved for Galileo internal use Bit 8 set: af0-af2, Toc, SISA are for E5a,E1 Bit 9 set: af0-af2, Toc, SISA are for E5b,E1 Bits 8-9 : exclusive (only one bit can be set)
size_t NAV::GalileoEphemeris::IODnav |
Issue of Data of the nav batch.
The navigation data is disseminated in data batches each one identified by an Issue of Data. In nominal operation the navigation data (ephemeris, satellite clock correction and SISA) have limited validity duration depending on the data type. The identification of each batch by an Issue of Data (IOD) value enables:
double NAV::GalileoEphemeris::signalAccuracy |
SISA (Signal in space accuracy) [m]
Signal – In – Space Accuracy (SISA) is a prediction of the minimum standard deviation (1-sigma) of the unbiased Gaussian distribution which overbounds the Signal – In – Space Error (SISE) predictable distribution for all possible user locations within the satellite coverage area. When no accurate prediction is available (SISA = NAPA), this is an indicator of a potential anomalous SIS.
SvHealth NAV::GalileoEphemeris::svHealth |
Signal Health.