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

Detailed Description

Class containing data elements unique to BDS D2NAV ephemerides.

Note
The standard xmitTime data member (in OrbitDataKepler) corresponds to the transmit time of subframe 1 page 1.
Unlike BDSD1NavEph we don't store the preamble, SOW or reserved bits from the other (8-9) subframes. This is simply a choice - if someone down the road decides to add it in, there's no reason not to at this point other than cost/benefit.

Definition at line 57 of file BDSD2NavEph.hpp.

#include <BDSD2NavEph.hpp>

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

Public Member Functions

 BDSD2NavEph ()
 Sets the nav message type and all other data members to 0. More...
 
NavDataPtr clone () const override
 Create a deep copy of this object. More...
 
void dumpSVStatus (std::ostream &s) const override
 
void fixFit ()
 
CommonTime getUserTime () const override
 
bool getXvt (const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
 
bool validate () const override
 
- Public Member Functions inherited from gnsstk::BDSD2NavData
 BDSD2NavData ()
 Initialize data members. More...
 
- Public Member Functions inherited from gnsstk::OrbitDataBDS
bool getXvt (const CommonTime &when, Xvt &xvt, const ObsID &oid=ObsID()) override
 
 OrbitDataBDS ()
 
double svRelativity (const CommonTime &when) const override
 
- Public Member Functions inherited from gnsstk::OrbitDataKepler
std::list< std::string > compare (const NavDataPtr &right) const override
 
void dump (std::ostream &s, DumpDetail dl) const override
 
virtual void dumpClock (std::ostream &s) const
 
virtual void dumpHarmonics (std::ostream &s) const
 
virtual void dumpOrbit (std::ostream &s) const
 
virtual std::string getDataType () const
 
CommonTime getNearTime () const override
 
bool getXvt (const CommonTime &when, const EllipsoidModel &ell, Xvt &xvt, const ObsID &oid=ObsID())
 
bool isSameData (const NavDataPtr &right) const override
 
 OrbitDataKepler ()
 Initialize all data members to 0. More...
 
double svClockBias (const CommonTime &when) const
 
double svClockDrift (const CommonTime &when) const
 
virtual double svRelativity (const CommonTime &when, const EllipsoidModel &ell) const
 
- 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
 
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 unsigned getAOD (uint8_t aod)
 
- 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

uint8_t aodc
 Age of data - clock. More...
 
uint8_t aode
 Age of data - ephemeris. More...
 
bool satH1
 Autonomous satellite health flag. More...
 
double tgd1
 Group delay differential on B1I. More...
 
double tgd2
 Group delay differential on B2I. More...
 
uint8_t uraIndex
 4-bit URA index from subframe 1. More...
 
- Public Attributes inherited from gnsstk::BDSD2NavData
uint8_t fraID
 The subframe ID (FraID) from word 1 of the subframe. More...
 
uint32_t pre
 The preamble from word 1 of the subframe. More...
 
uint32_t rev
 The rev field from word 1 of the subframe. More...
 
uint32_t sow
 Seconds of week from word 1-2 of the subframe. More...
 
- Public Attributes inherited from gnsstk::OrbitDataKepler
double A
 Semi-major axis (m) More...
 
double Adot
 Rate of semi-major axis (m/sec) More...
 
double af0
 SV clock error (sec) More...
 
double af1
 SV clock drift (sec/sec) More...
 
double af2
 SV clock drift rate (sec/sec**2) More...
 
double Ahalf
 Square Root of semi-major axis (m**.5) More...
 
double Cic
 Cosine inclination (rad) More...
 
double Cis
 Sine inclination (rad) More...
 
double Crc
 Cosine radius (m) More...
 
double Crs
 Sine radius (m) More...
 
double Cuc
 Cosine latitude (rad) More...
 
double Cus
 Sine latitude (rad) More...
 
double dn
 Correction to mean motion (rad/sec) More...
 
double dndot
 Rate of correction to mean motion (rad/sec/sec) More...
 
double ecc
 Eccentricity. More...
 
RefFrameSys frame
 
SVHealth health
 SV health status. More...
 
double i0
 Inclination (rad) More...
 
double idot
 Rate of inclination angle (rad/sec) More...
 
double M0
 Mean anomaly (rad) More...
 
double OMEGA0
 Longitude of ascending node at weekly epoch (rad) More...
 
double OMEGAdot
 Rate of Rt ascension (rad/sec) More...
 
CommonTime Toc
 Clock epoch. More...
 
CommonTime Toe
 Orbit epoch. More...
 
double w
 Argument of perigee (rad) More...
 
CommonTime xmitTime
 Time of transmission of the start of the data. 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...
 

Additional Inherited Members

- Static Public Attributes inherited from gnsstk::BDSD2NavData
static constexpr double refioffset = 0.3
 inclination offset, this + delta i = i0, defined in SIS-ICD. More...
 
- Static Public Attributes inherited from gnsstk::OrbitDataKepler
static const size_t fw = 16
 Field width of floating point numbers (precision + 8). More...
 
static const size_t precision = 8
 Precision used when printing floating point numbers. More...
 
- 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

◆ BDSD2NavEph()

gnsstk::BDSD2NavEph::BDSD2NavEph ( )

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

Definition at line 51 of file BDSD2NavEph.cpp.

Member Function Documentation

◆ clone()

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

Create a deep copy of this object.

Implements gnsstk::NavData.

Definition at line 63 of file BDSD2NavEph.hpp.

◆ dumpSVStatus()

void gnsstk::BDSD2NavEph::dumpSVStatus ( std::ostream &  s) const
overridevirtual

Dump SV status information (e.g. health).

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

Reimplemented from gnsstk::OrbitDataKepler.

Definition at line 331 of file BDSD2NavEph.cpp.

◆ fixFit()

void gnsstk::BDSD2NavEph::fixFit ( )

Fill the beginFit and endFit values for this object. The fit interval isn't specified in the ICD, so we chose to set the fit interval based on empirical data, which is +/- 2 hours for a URE of 2m [johnson]

Precondition
Toe and xmitTime must be set.
Postcondition
beginFit and endFit are set.
Todo:
Determine if this is an appropriate adjustment

Definition at line 318 of file BDSD2NavEph.cpp.

◆ getAOD()

unsigned gnsstk::BDSD2NavEph::getAOD ( uint8_t  aod)
static

Get age of data in hours from AODC.

Parameters
[in]aodThe AODC or AODE value from the subframe.
Returns
The AOD in hours. (unsigned)-1 is returned if the input aod is >=32 which is beyond the valid range of the navigation data.

Definition at line 366 of file BDSD2NavEph.cpp.

◆ getUserTime()

CommonTime gnsstk::BDSD2NavEph::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 310 of file BDSD2NavEph.cpp.

◆ getXvt()

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

Compute the satellites position and velocity at a time.

Note
This overrides the default OrbitDataKepler implementation for GEO satellites, MEO still use that implementation.
Parameters
[in]whenThe time at which to compute the xvt.
[out]xvtThe resulting computed position/velocity.
[in]oidValue is ignored - BeiDou does not have distinct transmitters.
Returns
true if successful, false if required nav data was unavailable.

Implements gnsstk::OrbitDataKepler.

Definition at line 64 of file BDSD2NavEph.cpp.

◆ validate()

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

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

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

Reimplemented from gnsstk::BDSD2NavData.

Definition at line 303 of file BDSD2NavEph.cpp.

Member Data Documentation

◆ aodc

uint8_t gnsstk::BDSD2NavEph::aodc

Age of data - clock.

Definition at line 116 of file BDSD2NavEph.hpp.

◆ aode

uint8_t gnsstk::BDSD2NavEph::aode

Age of data - ephemeris.

Definition at line 117 of file BDSD2NavEph.hpp.

◆ satH1

bool gnsstk::BDSD2NavEph::satH1

Autonomous satellite health flag.

Note
The health flag is true if unhealthy.

Definition at line 115 of file BDSD2NavEph.hpp.

◆ tgd1

double gnsstk::BDSD2NavEph::tgd1

Group delay differential on B1I.

Definition at line 123 of file BDSD2NavEph.hpp.

◆ tgd2

double gnsstk::BDSD2NavEph::tgd2

Group delay differential on B2I.

Definition at line 124 of file BDSD2NavEph.hpp.

◆ uraIndex

uint8_t gnsstk::BDSD2NavEph::uraIndex

4-bit URA index from subframe 1.

Note
The BeiDou D2 URA indices match the GPS URA index->URA mappings, which are defined in SV_ACCURACY_GPS_MIN_INDEX and SV_ACCURACY_GPS_MAX_INDEX.

Definition at line 122 of file BDSD2NavEph.hpp.


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


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