0.4.1
Loading...
Searching...
No Matches
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.
 

Data Fields

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)
 
- Data Fields inherited from NAV::SatNavData
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.
 

Static Private Attributes

static constexpr double _h
 Integration step size in [s].
 

Additional Inherited Members

- Public Types inherited from NAV::SatNavData
enum  Type : uint8_t {
  GPSEphemeris ,
  GalileoEphemeris ,
  GLONASSEphemeris ,
  BeiDouEphemeris ,
  QZSSEphemeris ,
  IRNSSEphemeris ,
  SBASEphemeris
}
 Child type. More...
 
- Protected Types inherited from NAV::Orbit
enum  Calc : uint8_t {
  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

Definition at line 25 of file GLONASSEphemeris.hpp.

Constructor & Destructor Documentation

◆ GLONASSEphemeris() [1/3]

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))

Definition at line 21 of file GLONASSEphemeris.cpp.

◆ ~GLONASSEphemeris()

NAV::GLONASSEphemeris::~GLONASSEphemeris ( )
finaldefault

Destructor.

◆ GLONASSEphemeris() [2/3]

NAV::GLONASSEphemeris::GLONASSEphemeris ( const GLONASSEphemeris & )
default

Copy constructor.

◆ GLONASSEphemeris() [3/3]

NAV::GLONASSEphemeris::GLONASSEphemeris ( GLONASSEphemeris && )
default

Move constructor.

Member Function Documentation

◆ calcClockCorrections()

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

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.

Definition at line 59 of file GLONASSEphemeris.cpp.

◆ calcSatelliteData()

Orbit::PosVelAccel NAV::GLONASSEphemeris::calcSatelliteData ( const InsTime & transTime,
Orbit::Calc calc ) const
nodiscardfinalprivatevirtual

Calculates position, velocity and acceleration of the satellite at transmission time.

Parameters
[in]transTimeTransmit time of the signal
[in]calcFlags which determine what should be calculated and returned
Note
See [16] GLO-ICD-CDMA-1.0, J2, p. 53ff

Implements NAV::Orbit.

Definition at line 77 of file GLONASSEphemeris.cpp.

◆ calcSatellitePositionVariance()

double NAV::GLONASSEphemeris::calcSatellitePositionVariance ( ) const
nodiscardfinalvirtual

Calculates the Variance of the satellite position in [m^2].

Implements NAV::Orbit.

Definition at line 169 of file GLONASSEphemeris.cpp.

◆ isHealthy()

bool NAV::GLONASSEphemeris::isHealthy ( ) const
nodiscardfinalvirtual

Checks whether the signal is healthy.

Implements NAV::SatNavData.

Definition at line 164 of file GLONASSEphemeris.cpp.

◆ operator=() [1/2]

GLONASSEphemeris & NAV::GLONASSEphemeris::operator= ( const GLONASSEphemeris & )
delete

Copy assignment operator.

◆ operator=() [2/2]

GLONASSEphemeris & NAV::GLONASSEphemeris::operator= ( GLONASSEphemeris && )
delete

Move assignment operator.

Field Documentation

◆ _h

double NAV::GLONASSEphemeris::_h
staticconstexprprivate

Integration step size in [s].

Definition at line 134 of file GLONASSEphemeris.hpp.

◆ frequencyNumber

const int8_t NAV::GLONASSEphemeris::frequencyNumber

Frequency number (-7 ... +13) (-7 ...+6 (ICD 5.1))

Definition at line 50 of file GLONASSEphemeris.hpp.

◆ gamma_n

const double NAV::GLONASSEphemeris::gamma_n

SV relative frequency bias.

Definition at line 40 of file GLONASSEphemeris.hpp.

◆ health

const bool NAV::GLONASSEphemeris::health

Health.

Definition at line 42 of file GLONASSEphemeris.hpp.

◆ PZ90_accelLuniSolar

const Eigen::Vector3d NAV::GLONASSEphemeris::PZ90_accelLuniSolar

Accelerations due to lunar-solar gravitational perturbation in PZ90 frame [m/s^2].

Definition at line 48 of file GLONASSEphemeris.hpp.

◆ PZ90_pos

const Eigen::Vector3d NAV::GLONASSEphemeris::PZ90_pos

Position at reference time in PZ90 frame [m].

Definition at line 44 of file GLONASSEphemeris.hpp.

◆ PZ90_vel

const Eigen::Vector3d NAV::GLONASSEphemeris::PZ90_vel

Velocity at reference time in PZ90 frame [m/s].

Definition at line 46 of file GLONASSEphemeris.hpp.

◆ tau_c

const double NAV::GLONASSEphemeris::tau_c

Coefficient of linear polynomial of time system difference [s].

Definition at line 33 of file GLONASSEphemeris.hpp.

◆ tau_n

const double NAV::GLONASSEphemeris::tau_n

SV clock bias [s].

Definition at line 38 of file GLONASSEphemeris.hpp.

◆ toc

const InsTime NAV::GLONASSEphemeris::toc

Toe Time of clock [s] (Reference time, ephemeris parameters)

Definition at line 36 of file GLONASSEphemeris.hpp.


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