0.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
NAV::GLONASSEphemeris Class Referencefinal

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].
 
 GLONASSEphemeris (const GLONASSEphemeris &)=default
 Copy constructor.
 
 GLONASSEphemeris (const InsTime &toc, double tau_c, double tau_n, double gamma_n, bool health, Eigen::Vector3d pos, Eigen::Vector3d vel, Eigen::Vector3d accelLuniSolar, int8_t frequencyNumber)
 Constructor.
 
 GLONASSEphemeris (GLONASSEphemeris &&)=default
 Move constructor.
 
bool isHealthy () const final
 Checks whether the signal is healthy.
 
GLONASSEphemerisoperator= (const GLONASSEphemeris &)=delete
 Copy assignment operator.
 
GLONASSEphemerisoperator= (GLONASSEphemeris &&)=delete
 Move assignment operator.
 
 ~GLONASSEphemeris () final=default
 Destructor.
 
- Public Member Functions inherited from NAV::SatNavData
SatNavDataoperator= (const SatNavData &)=delete
 Copy assignment operator.
 
SatNavDataoperator= (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.
 
Clockoperator= (Clock &&)=delete
 Move assignment operator.
 
Clockoperator= (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.
 
Orbitoperator= (const Orbit &)=delete
 Copy assignment operator.
 
Orbitoperator= (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 int8_t frequencyNumber
 Frequency number (-7 ... +13) (-7 ...+6 (ICD 5.1))
 
const double gamma_n
 SV relative frequency bias.
 
const bool health
 Health.
 
const Eigen::Vector3d PZ90_accelLuniSolar
 Accelerations due to lunar-solar gravitational perturbation in PZ90 frame [m/s^2].
 
const Eigen::Vector3d PZ90_pos
 Position at reference time in PZ90 frame [m].
 
const Eigen::Vector3d PZ90_vel
 Velocity at reference time in PZ90 frame [m/s].
 
const double tau_c
 Coefficient of linear polynomial of time system difference [s].
 
const double tau_n
 SV clock bias [s].
 
const InsTime toc
 Toe Time of clock [s] (Reference time, ephemeris parameters)
 
- 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...
 

Detailed Description

Broadcasted ephemeris message data.

Note
See [15] GLO-ICD-5.1, ch. 4., p. 25ff

Constructor & Destructor Documentation

◆ GLONASSEphemeris()

NAV::GLONASSEphemeris::GLONASSEphemeris ( const InsTime & toc,
double tau_c,
double tau_n,
double gamma_n,
bool health,
Eigen::Vector3d pos,
Eigen::Vector3d vel,
Eigen::Vector3d accelLuniSolar,
int8_t frequencyNumber )

Constructor.

Parameters
[in]tocTime the Clock information is calculated (Time of Clock)
[in]tau_cCoefficient of linear polynomial of time system difference [s]
[in]tau_nSV clock bias [s]
[in]gamma_nSV relative frequency bias
[in]healthHealth flag
[in]posPosition at reference time in PZ90 frame [m]
[in]velVelocity at reference time in PZ90 frame [m/s]
[in]accelLuniSolarAccelerations due to lunar-solar gravitational perturbation in PZ90 frame [m/s^2]
[in]frequencyNumberFrequency number (-7 ... +13) (-7 ...+6 (ICD 5.1))

Member Function Documentation

◆ calcClockCorrections()

Corrections NAV::GLONASSEphemeris::calcClockCorrections ( const InsTime & recvTime,
double dist,
const Frequency & freq ) const
finalvirtual

Calculates clock bias and drift of the satellite.

Parameters
[in]recvTimeReceive time of the signal
[in]distDistance between receiver and satellite (normally the pseudorange) [m]
[in]freqSignal Frequency
Note
See https://gssc.esa.int/navipedia/index.php/Clock_Modelling

Implements NAV::Clock.


The documentation for this class was generated from the following file: