Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | List of all members
gnsstk::GLOFNavEph Class Reference

Detailed Description

Class containing data elements unique to GLONASS Civil F-Nav ephemerides.

Definition at line 51 of file GLOFNavEph.hpp.

#include <GLOFNavEph.hpp>

Inheritance diagram for gnsstk::GLOFNavEph:
Inheritance graph
[legend]

Public Member Functions

NavDataPtr clone () const override
 Create a deep copy of this object. More...
 
void dump (std::ostream &s, DumpDetail dl) const override
 
void dumpTerse (std::ostream &s) const
 
void fixFit ()
 
double getAccuracy () const
 Returns the accuracy in meters as defined in Table 4.4 of the ICD. More...
 
CommonTime getUserTime () const override
 
bool getXvt (const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
 
 GLOFNavEph ()
 Sets the nav message type and all other data members to 0. More...
 
bool validate () const override
 
- Public Member Functions inherited from gnsstk::GLOFNavData
 GLOFNavData ()
 Sets the nav message type and all other data members to 0. More...
 
- Public Member Functions inherited from gnsstk::OrbitData
std::list< std::string > compare (const NavDataPtr &right) const override
 
bool isSameData (const NavDataPtr &right) const override
 
- Public Member Functions inherited from gnsstk::NavData
virtual std::string getClassName () const
 
std::string getDumpTime (DumpDetail dl, const CommonTime &t) const
 
std::string getDumpTimeHdr (DumpDetail dl) const
 
virtual CommonTime getNearTime () const
 
std::string getSignalString () const
 
bool getSVN (const SatID &sat, const gnsstk::CommonTime &when, std::string &svn) const
 
 NavData ()
 Initialize internal data fields. More...
 

Static Public Member Functions

static double getSiderealTime (const CommonTime &time)
 
- Static Public Member Functions inherited from gnsstk::NavData
static gnsstk::SatMetaDataStoregetSatMetaDataStore ()
 Accessor for python. More...
 
static void setSatMetaDataStore (gnsstk::SatMetaDataStore *smds)
 Accessor for python. More...
 

Public Attributes

Triple acc
 Satellite acceleration at tb in km/s**2. More...
 
unsigned accIndex
 User accuracy index (F_T). More...
 
unsigned aod
 Age of data in days (E_n). More...
 
double clkBias
 Satellite clock bias in sec (tau_n). More...
 
unsigned dayCount
 Days since Jan 1 of most recent leap year (N_T). More...
 
double freqBias
 Satellite relative frequency bias (gamma_n). More...
 
uint8_t healthBits
 The 3-bit B_n value (look at bit 2 not 0 or 1). More...
 
unsigned interval
 P1 interval (minutes, see PNBGLOFNavDataFactory). More...
 
GLOFNavPCode opStatus
 Operational status flag. More...
 
unsigned P1
 Flag for interval between adjacent t_b. More...
 
unsigned P2
 Flag of oddness (=1) or evenness (=0) of t_b. More...
 
unsigned P3
 Flag 1=5 almanac sats in frame, 0=4 almanac sats. More...
 
unsigned P4
 Flag 1=ephemeris present/uploaded. 0=nope. More...
 
Triple pos
 Satellite position at tb in km. More...
 
CommonTime ref
 Reference time (t_k) for this ephemeris. More...
 
double step
 Integration step for Runge-Kutta algorithm (1 second by default) More...
 
double tauDelta
 Inter-frequency bias. More...
 
unsigned tb
 Epoch index with Moscow day. More...
 
CommonTime Toe
 
Triple vel
 Satellite velocity at tb in km/s. More...
 
CommonTime xmit3
 Transmit time for string 3. More...
 
CommonTime xmit4
 Transmit time for string 4. More...
 
- Public Attributes inherited from gnsstk::GLOFNavData
SVHealth health
 SV health status. More...
 
bool lhealth
 Health flag? Different from B_n and C_n? More...
 
GLOFNavSatType satType
 Satellite type (M_n: GLONASS or GLONASS-M). More...
 
unsigned slot
 Slot number (n). More...
 
CommonTime xmit2
 Transmit time for string 2 (eph) or odd string. More...
 
- Public Attributes inherited from gnsstk::NavData
NavMessageID signal
 Source signal identification for this navigation message data. More...
 
CommonTime timeStamp
 
std::string weekFmt
 
- Public Attributes inherited from gnsstk::NavFit
CommonTime beginFit
 Time at beginning of fit interval. More...
 
CommonTime endFit
 Time at end of fit interval. More...
 

Private Member Functions

Vector< double > derivative (const Vector< double > &inState, const Vector< double > &accel) const
 Function implementing the derivative of GLONASS orbital model. More...
 

Additional Inherited Members

- Static Public Attributes inherited from gnsstk::NavData
static const GNSSTK_EXPORT std::string dumpTimeFmt
 Time format used for the dump method (Full). More...
 
static const GNSSTK_EXPORT std::string dumpTimeFmtBrief
 Time format used for the dump method (Brief). More...
 
static GNSSTK_EXPORT gnsstk::SatMetaDataStoresatMetaDataStore = nullptr
 Set this to a valid store to get PRN->SVN translations in dump(). More...
 
- Protected Attributes inherited from gnsstk::NavData
double msgLenSec
 

Constructor & Destructor Documentation

◆ GLOFNavEph()

gnsstk::GLOFNavEph::GLOFNavEph ( )

Sets the nav message type and all other data members to 0.

Definition at line 50 of file GLOFNavEph.cpp.

Member Function Documentation

◆ clone()

NavDataPtr gnsstk::GLOFNavEph::clone ( ) const
inlineoverridevirtual

Create a deep copy of this object.

Implements gnsstk::NavData.

Definition at line 57 of file GLOFNavEph.hpp.

◆ derivative()

Vector< double > gnsstk::GLOFNavEph::derivative ( const Vector< double > &  inState,
const Vector< double > &  accel 
) const
private

Function implementing the derivative of GLONASS orbital model.

Definition at line 425 of file GLOFNavEph.cpp.

◆ dump()

void gnsstk::GLOFNavEph::dump ( std::ostream &  s,
DumpDetail  dl 
) const
overridevirtual

Print the contents of this NavData object in a (usually) human-readable format.

Parameters
[in,out]sThe stream to write the data to.
[in]dlThe level of detail the output should contain.

Reimplemented from gnsstk::NavData.

Definition at line 196 of file GLOFNavEph.cpp.

◆ dumpTerse()

void gnsstk::GLOFNavEph::dumpTerse ( std::ostream &  s) const

Dump contents in terse format (DumpDetail==Terse)

Parameters
[in,out]sThe stream to write the data to.

Definition at line 353 of file GLOFNavEph.cpp.

◆ fixFit()

void gnsstk::GLOFNavEph::fixFit ( )

Fill the beginFit and endFit values for this object.

Precondition
Toe, interval and timeStamp must all be set.

Definition at line 185 of file GLOFNavEph.cpp.

◆ getAccuracy()

double gnsstk::GLOFNavEph::getAccuracy ( ) const

Returns the accuracy in meters as defined in Table 4.4 of the ICD.

Definition at line 368 of file GLOFNavEph.cpp.

◆ getSiderealTime()

double gnsstk::GLOFNavEph::getSiderealTime ( const CommonTime time)
static

Compute true sidereal time (in hours) at Greenwich at 0 hours UT.

Warning
This method (copied from the deprecated GloEphemeris) seems to assume time is in a specific time system. Not sure if the assumption is UTC or GLO.

Definition at line 397 of file GLOFNavEph.cpp.

◆ getUserTime()

CommonTime gnsstk::GLOFNavEph::getUserTime ( ) const
overridevirtual

Returns the time when the navigation message would have first been available to the user equipment, i.e. the time at which the final bit of a given broadcast navigation message is received. This is used by NavDataFactoryWithStore::find() in User mode.

Returns
most recent transmit time + 6s.

Reimplemented from gnsstk::NavData.

Definition at line 177 of file GLOFNavEph.cpp.

◆ getXvt()

bool gnsstk::GLOFNavEph::getXvt ( const CommonTime when,
Xvt xvt,
const ObsID oid = ObsID() 
)
overridevirtual

Compute the satellites position and velocity at a time.

Parameters
[in]whenThe time at which to compute the xvt.
[out]xvtThe resulting computed position/velocity.
[in]oidValue is ignored - GLONASS does not have distinct transmitters.
Note
There are a couple of typos in the ICD that were resolved to make this work right. See the implementation for more.
Returns
true if successful, false if required nav data was unavailable.

Implements gnsstk::OrbitData.

Definition at line 79 of file GLOFNavEph.cpp.

◆ validate()

bool gnsstk::GLOFNavEph::validate ( ) const
overridevirtual

Checks the contents of this message against known validity rules as defined in the appropriate ICD.

Returns
true if this message is valid according to ICD criteria.
Todo:
implement some checking.

Reimplemented from gnsstk::GLOFNavData.

Definition at line 71 of file GLOFNavEph.cpp.

Member Data Documentation

◆ acc

Triple gnsstk::GLOFNavEph::acc

Satellite acceleration at tb in km/s**2.

Definition at line 117 of file GLOFNavEph.hpp.

◆ accIndex

unsigned gnsstk::GLOFNavEph::accIndex

User accuracy index (F_T).

Definition at line 130 of file GLOFNavEph.hpp.

◆ aod

unsigned gnsstk::GLOFNavEph::aod

Age of data in days (E_n).

Definition at line 129 of file GLOFNavEph.hpp.

◆ clkBias

double gnsstk::GLOFNavEph::clkBias

Satellite clock bias in sec (tau_n).

Definition at line 118 of file GLOFNavEph.hpp.

◆ dayCount

unsigned gnsstk::GLOFNavEph::dayCount

Days since Jan 1 of most recent leap year (N_T).

Definition at line 131 of file GLOFNavEph.hpp.

◆ freqBias

double gnsstk::GLOFNavEph::freqBias

Satellite relative frequency bias (gamma_n).

Definition at line 119 of file GLOFNavEph.hpp.

◆ healthBits

uint8_t gnsstk::GLOFNavEph::healthBits

The 3-bit B_n value (look at bit 2 not 0 or 1).

Definition at line 120 of file GLOFNavEph.hpp.

◆ interval

unsigned gnsstk::GLOFNavEph::interval

P1 interval (minutes, see PNBGLOFNavDataFactory).

Definition at line 126 of file GLOFNavEph.hpp.

◆ opStatus

GLOFNavPCode gnsstk::GLOFNavEph::opStatus

Operational status flag.

Definition at line 127 of file GLOFNavEph.hpp.

◆ P1

unsigned gnsstk::GLOFNavEph::P1

Flag for interval between adjacent t_b.

Definition at line 122 of file GLOFNavEph.hpp.

◆ P2

unsigned gnsstk::GLOFNavEph::P2

Flag of oddness (=1) or evenness (=0) of t_b.

Definition at line 123 of file GLOFNavEph.hpp.

◆ P3

unsigned gnsstk::GLOFNavEph::P3

Flag 1=5 almanac sats in frame, 0=4 almanac sats.

Definition at line 124 of file GLOFNavEph.hpp.

◆ P4

unsigned gnsstk::GLOFNavEph::P4

Flag 1=ephemeris present/uploaded. 0=nope.

Definition at line 125 of file GLOFNavEph.hpp.

◆ pos

Triple gnsstk::GLOFNavEph::pos

Satellite position at tb in km.

Definition at line 115 of file GLOFNavEph.hpp.

◆ ref

CommonTime gnsstk::GLOFNavEph::ref

Reference time (t_k) for this ephemeris.

Definition at line 112 of file GLOFNavEph.hpp.

◆ step

double gnsstk::GLOFNavEph::step

Integration step for Runge-Kutta algorithm (1 second by default)

Definition at line 134 of file GLOFNavEph.hpp.

◆ tauDelta

double gnsstk::GLOFNavEph::tauDelta

Inter-frequency bias.

Definition at line 128 of file GLOFNavEph.hpp.

◆ tb

unsigned gnsstk::GLOFNavEph::tb

Epoch index with Moscow day.

Definition at line 121 of file GLOFNavEph.hpp.

◆ Toe

CommonTime gnsstk::GLOFNavEph::Toe

Orbit epoch (t_b).

Definition at line 132 of file GLOFNavEph.hpp.

◆ vel

Triple gnsstk::GLOFNavEph::vel

Satellite velocity at tb in km/s.

Definition at line 116 of file GLOFNavEph.hpp.

◆ xmit3

CommonTime gnsstk::GLOFNavEph::xmit3

Transmit time for string 3.

Definition at line 113 of file GLOFNavEph.hpp.

◆ xmit4

CommonTime gnsstk::GLOFNavEph::xmit4

Transmit time for string 4.

Definition at line 114 of file GLOFNavEph.hpp.


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


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:44