![]() |
0.4.1
|
Broadcasted ephemeris message data. More...
Data Structures | |
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. | |
![]() | |
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 | |
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. | |
![]() | |
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 28 of file GalileoEphemeris.hpp.
|
explicit |
Default Constructor.
Definition at line 19 of file GalileoEphemeris.cpp.
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] |
Definition at line 22 of file GalileoEphemeris.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 100 of file GalileoEphemeris.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 174 of file GalileoEphemeris.cpp.
|
nodiscardfinalvirtual |
Calculates the Variance of the satellite position in [m^2].
Implements NAV::Orbit.
Definition at line 324 of file GalileoEphemeris.cpp.
|
nodiscardfinalvirtual |
Checks whether the signal is healthy.
Implements NAV::SatNavData.
Definition at line 314 of file GalileoEphemeris.cpp.
|
delete |
Copy assignment operator.
|
delete |
Move assignment operator.
std::array<double, 3> NAV::GalileoEphemeris::a |
Polynomial coefficients for clock correction
Definition at line 92 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::BGD_E1_E5a |
E1-E5a Broadcast Group Delay [s].
Definition at line 150 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::BGD_E1_E5b |
E1-E5b Broadcast Group Delay [s].
Definition at line 153 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Cic |
Amplitude of the cosine harmonic correction term to the angle of inclination [rad].
Definition at line 111 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Cis |
Amplitude of the sine harmonic correction term to the angle of inclination [rad].
Definition at line 110 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Crc |
Amplitude of the cosine harmonic correction term to the orbit radius [m].
Definition at line 113 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Crs |
Amplitude of the sine harmonic correction term to the orbit radius [m].
Definition at line 112 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Cuc |
Amplitude of the cosine harmonic correction term to the argument of latitude [rad].
Definition at line 109 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Cus |
Amplitude of the sine harmonic correction term to the argument of latitude [rad].
Definition at line 108 of file GalileoEphemeris.hpp.
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)
Definition at line 131 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::delta_n |
Mean motion difference from computed value [rad/s].
Definition at line 105 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::e |
Eccentricity [-].
Definition at line 97 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::i_0 |
Inclination angle at reference time [rad].
Definition at line 98 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::i_dot |
Rate of change of inclination [rad/s].
Definition at line 107 of file GalileoEphemeris.hpp.
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:
Definition at line 84 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::M_0 |
Mean anomaly at reference time [rad].
Definition at line 101 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::omega |
Argument of perigee [rad].
Definition at line 100 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Omega_0 |
Longitude of the ascending node at reference time [rad].
Definition at line 99 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::Omega_dot |
Rate of change of right ascension [rad/s].
Definition at line 106 of file GalileoEphemeris.hpp.
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.
Definition at line 142 of file GalileoEphemeris.hpp.
double NAV::GalileoEphemeris::sqrt_A |
Square root of the semi-major axis [m^1/2].
Definition at line 96 of file GalileoEphemeris.hpp.
SvHealth NAV::GalileoEphemeris::svHealth |
Signal Health.
Definition at line 146 of file GalileoEphemeris.hpp.
InsTime NAV::GalileoEphemeris::toc |
Time of Clock.
Definition at line 66 of file GalileoEphemeris.hpp.
InsTime NAV::GalileoEphemeris::toe |
Time of Ephemeris.
Definition at line 69 of file GalileoEphemeris.hpp.