Ginan
Loading...
Searching...
No Matches
ephemeris.hpp File Reference

Data Structures

struct  KeplerEph
 
struct  BrdcEph
 
struct  Eph
 GPS/QZS/GAL/BDS broadcast ephemeris. More...
 
struct  Geph
 GLONASS broadcast ephemeris. More...
 
struct  Pclk
 precise clock More...
 
struct  Peph
 precise ephemeris More...
 
struct  Att
 Satellite attitude. More...
 
struct  Seph
 SBAS ephemeris. More...
 
struct  Ceph
 GPS/QZS CNAV/CNAV-2 or BDS CNAV-1/CNAV-2/CNAV-3 ephemeris. More...
 
struct  STO
 system Time offset message More...
 
struct  EOP
 EOP message. More...
 
struct  ION
 ionosphere message More...
 

Functions

Matrix3d ecef2rac (Vector3d &rSat, Vector3d &satVel)
 
void cullOldEphs (GTime time)
 
void cullOldSSRs (GTime time)
 
template<typename TYPE >
TYPE * seleph (Trace &trace, GTime time, SatSys Sat, E_NavMsgType type, int iode, Navigation &nav)
 
template<typename TYPE >
TYPE * seleph (Trace &trace, GTime time, E_Sys sys, E_NavMsgType type, Navigation &nav)
 
bool satclk (Trace &trace, GTime time, GTime teph, SatPos &satPos, vector< E_Source > ephTypes, Navigation &nav, const KFState *kfState_ptr=nullptr, const KFState *remote_ptr=nullptr)
 
bool satpos (Trace &trace, GTime time, GTime teph, SatPos &satPos, vector< E_Source > ephTypes, E_OffsetType offsetType, Navigation &nav, const KFState *kfState_ptr=nullptr, const KFState *remote_ptr=nullptr)
 compute satellite position and clock satellite clock does not include code bias correction (tgd or bgd)
 
bool satPosClk (Trace &trace, GTime teph, GObs &obs, Navigation &nav, vector< E_Source > posSources, vector< E_Source > clkSources, const KFState *kfState_ptr=nullptr, const KFState *remote_ptr=nullptr, E_OffsetType offsetType=E_OffsetType::COM, E_Relativity applyRelativity=E_Relativity::ON)
 satellite positions and clocks.
 
void readSp3ToNav (string &file, Navigation &nav, int opt)
 
bool readsp3 (std::istream &fileStream, vector< Peph > &pephList, int opt, E_TimeSys &tsys, double *bfact)
 read an epoch of data from an sp3 precise ephemeris file
 
void readOrbex (string filepath, Navigation &nav)
 Read an ORBEX file into navigation data struct.
 
bool satPosKalman (Trace &trace, GTime time, SatPos &satPos, const KFState *kfState_ptr)
 
bool satClkKalman (Trace &trace, GTime time, SatPos &satPos, const KFState *kfState_ptr)
 
bool satClkBroadcast (Trace &trace, GTime time, GTime teph, SatSys Sat, double &satClk, double &satClkVel, double &ephVar, bool &ephClkValid, int &obsIode, Navigation &nav)
 
bool satPosBroadcast (Trace &trace, GTime time, GTime teph, SatSys Sat, Vector3d &rSat, Vector3d &satVel, double &ephVar, bool &ephPosValid, int &obsIode, Navigation &nav)
 
bool satClkBroadcast (Trace &trace, GTime time, GTime teph, SatPos &satPos, Navigation &nav, int iode=ANY_IODE)
 
bool satPosBroadcast (Trace &trace, GTime time, GTime teph, SatPos &satPos, Navigation &nav, int iode=ANY_IODE)
 
bool satPosPrecise (Trace &trace, GTime time, SatPos &satPos, Navigation &nav)
 
bool satClkPrecise (Trace &trace, GTime time, SatPos &satPos, Navigation &nav)
 
bool satPosSSR (Trace &trace, GTime time, GTime teph, SatPos &satPos, Navigation &nav)
 satellite position and clock with ssr correction
 
bool satClkSSR (Trace &trace, GTime time, GTime teph, SatPos &satPos, Navigation &nav)
 
double relativity1 (Vector3d &rSat, Vector3d &satVel)
 

Function Documentation

◆ cullOldEphs()

void cullOldEphs ( GTime time)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cullOldSSRs()

void cullOldSSRs ( GTime time)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ecef2rac()

Matrix3d ecef2rac ( Vector3d & rSat,
Vector3d & satVel )
Here is the caller graph for this function:

◆ readOrbex()

void readOrbex ( string filepath,
Navigation & nav )

Read an ORBEX file into navigation data struct.

Parameters
filepathFile path to output file
navNavigation data
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readsp3()

bool readsp3 ( std::istream & fileStream,
vector< Peph > & pephList,
int opt,
E_TimeSys & tsys,
double * bfact )

read an epoch of data from an sp3 precise ephemeris file

Parameters
fileStreamstream to read content from
pephListvector of precise ephemerides for one epoch
optoptions options (1: only observed + 2: only predicted + 4: not combined)
tsystime system
bfactbfact values from header
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readSp3ToNav()

void readSp3ToNav ( string & file,
Navigation & nav,
int opt )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ relativity1()

double relativity1 ( Vector3d & rSat,
Vector3d & satVel )
Here is the caller graph for this function:

◆ satclk()

bool satclk ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
vector< E_Source > ephTypes,
Navigation & nav,
const KFState * kfState_ptr = nullptr,
const KFState * remote_ptr = nullptr )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satClkBroadcast() [1/2]

bool satClkBroadcast ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
Navigation & nav,
int iode = ANY_IODE )
Here is the call graph for this function:

◆ satClkBroadcast() [2/2]

bool satClkBroadcast ( Trace & trace,
GTime time,
GTime teph,
SatSys Sat,
double & satClk,
double & satClkVel,
double & ephVar,
bool & ephClkValid,
int & obsIode,
Navigation & nav )
Here is the call graph for this function:

◆ satClkKalman()

bool satClkKalman ( Trace & trace,
GTime time,
SatPos & satPos,
const KFState * kfState_ptr )
Here is the caller graph for this function:

◆ satClkPrecise()

bool satClkPrecise ( Trace & trace,
GTime time,
SatPos & satPos,
Navigation & nav )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satClkSSR()

bool satClkSSR ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
Navigation & nav )

◆ satpos()

bool satpos ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
vector< E_Source > ephTypes,
E_OffsetType offsetType,
Navigation & nav,
const KFState * kfState_ptr = nullptr,
const KFState * remote_ptr = nullptr )

compute satellite position and clock satellite clock does not include code bias correction (tgd or bgd)

Parameters
traceTrace to output to
timetime (gpst)
tephtime to select ephemeris (gpst)
satPosData required for determining and storing satellite positions/clocks
ephTypesSource of ephemeris
offsetTypeType of antenna offset to apply
navnavigation data
kfState_ptrOptional pointer to a kalman filter to take values from
remote_ptrOptional pointer to a kalman filter to take values from
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satPosBroadcast() [1/2]

bool satPosBroadcast ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
Navigation & nav,
int iode = ANY_IODE )
Here is the call graph for this function:

◆ satPosBroadcast() [2/2]

bool satPosBroadcast ( Trace & trace,
GTime time,
GTime teph,
SatSys Sat,
Vector3d & rSat,
Vector3d & satVel,
double & ephVar,
bool & ephPosValid,
int & obsIode,
Navigation & nav )
Here is the call graph for this function:

◆ satPosClk()

bool satPosClk ( Trace & trace,
GTime teph,
GObs & obs,
Navigation & nav,
vector< E_Source > posSources,
vector< E_Source > clkSources,
const KFState * kfState_ptr,
const KFState * remote_ptr,
E_OffsetType offsetType,
E_Relativity applyRelativity )

satellite positions and clocks.

satellite position and clock are values at signal transmission time. satellite clock does not include code bias correction (tgd or bgd). any pseudorange and broadcast ephemeris are always needed to get signal transmission time.

Parameters
traceTrace to output to
tephtime to select ephemeris (gpst)
obsobservations to complete with satellite positions
navNavigation data
posSourcesSource of ephemeris data
clkSourcesSource of ephemeris data
kfState_ptrOptional pointer to a kalman filter to take values from
remote_ptrOptional pointer to a kalman filter to take values from
offsetTypePoint of satellite to output position of
applyRelativityOption to apply relativistic correction to clock
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satPosKalman()

bool satPosKalman ( Trace & trace,
GTime time,
SatPos & satPos,
const KFState * kfState_ptr )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satPosPrecise()

bool satPosPrecise ( Trace & trace,
GTime time,
SatPos & satPos,
Navigation & nav )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ satPosSSR()

bool satPosSSR ( Trace & trace,
GTime time,
GTime teph,
SatPos & satPos,
Navigation & nav )

satellite position and clock with ssr correction

Here is the call graph for this function:
Here is the caller graph for this function:

◆ seleph() [1/2]

template<typename TYPE >
TYPE * seleph ( Trace & trace,
GTime time,
E_Sys sys,
E_NavMsgType type,
Navigation & nav )

◆ seleph() [2/2]

template<typename TYPE >
TYPE * seleph ( Trace & trace,
GTime time,
SatSys Sat,
E_NavMsgType type,
int iode,
Navigation & nav )
Here is the caller graph for this function: