GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Gnss_Ephemeris Class Reference

Base class for GNSS ephemeris storage. More...

#include <gnss_ephemeris.h>

Inheritance diagram for Gnss_Ephemeris:
Beidou_Dnav_Ephemeris Galileo_Ephemeris Gps_CNAV_Ephemeris Gps_Ephemeris

Public Member Functions

double sv_clock_drift (double transmitTime)
 Sets (satClkDrift) and (dtr), and returns the clock drift in seconds according to the User Algorithm for SV Clock Correction (IS-GPS-200M, 20.3.3.3.3.1, and Galileo OS SIS ICD, 5.1.4). More...
 
double predicted_doppler (double rx_time_s, double lat, double lon, double h, double ve, double vn, double vu, int band) const
 Computes prediction of the Doppler shift for a given time and receiver's position and velocity.

\[ f_{d} = - \mathbf{v} \frac{\mathbf{x}^{T}}{\left| \mathbf{x} \right| } \frac{f_{L}}{c} \]

where:

\[ \mathbf{v} = \mathbf{v}_{sat} - \mathbf{v}_{rx} \]

\[ \mathbf{x} = \mathbf{x}_{sat} - \mathbf{x}_{rx} \]

\[ \left| \mathbf{x} \right| = \sqrt{\mathbf{x}\mathbf{x}^{T}} \]

. More...

 
void satellitePosition (double transmitTime)
 Computes the ECEF SV coordinates and ECEF velocity. More...
 

Public Attributes

uint32_t PRN {}
 SV ID. More...
 
double M_0 {}
 Mean anomaly at reference time [rad]. More...
 
double delta_n {}
 Mean motion difference from computed value [rad/sec]. More...
 
double ecc {}
 Eccentricity. More...
 
double sqrtA {}
 Square root of the semi-major axis [meters^1/2]. More...
 
double OMEGA_0 {}
 Longitude of ascending node of orbital plane at weekly epoch [rad]. More...
 
double i_0 {}
 Inclination angle at reference time [rad]. More...
 
double omega {}
 Argument of perigee [rad]. More...
 
double OMEGAdot {}
 Rate of right ascension [rad/sec]. More...
 
double idot {}
 Rate of inclination angle [rad/sec]. More...
 
double Cuc {}
 Amplitude of the cosine harmonic correction term to the argument of latitude [rad]. More...
 
double Cus {}
 Amplitude of the sine harmonic correction term to the argument of latitude [rad]. More...
 
double Crc {}
 Amplitude of the cosine harmonic correction term to the orbit radius [meters]. More...
 
double Crs {}
 Amplitude of the sine harmonic correction term to the orbit radius [meters]. More...
 
double Cic {}
 Amplitude of the cosine harmonic correction term to the angle of inclination [rad]. More...
 
double Cis {}
 Amplitude of the sine harmonic correction term to the angle of inclination [rad]. More...
 
int32_t toe {}
 Ephemeris reference time [s]. More...
 
int32_t toc {}
 Clock correction data reference Time of Week [sec]. More...
 
double af0 {}
 SV clock bias correction coefficient [s]. More...
 
double af1 {}
 SV clock drift correction coefficient [s/s]. More...
 
double af2 {}
 SV clock drift rate correction coefficient [s/s^2]. More...
 
double satClkDrift {}
 SV clock drift. More...
 
double dtr {}
 Relativistic clock correction term. More...
 
int32_t WN {}
 Week number. More...
 
int32_t tow {}
 Time of Week. More...
 
double satpos_X {}
 Earth-fixed coordinate x of the satellite [m]. Intersection of the IERS Reference Meridian (IRM) and the plane passing through the origin and normal to the Z-axis. More...
 
double satpos_Y {}
 Earth-fixed coordinate y of the satellite [m]. Completes a right-handed, Earth-Centered, Earth-Fixed orthogonal coordinate system. More...
 
double satpos_Z {}
 Earth-fixed coordinate z of the satellite [m]. The direction of the IERS (International Earth Rotation and Reference Systems Service) Reference Pole (IRP). More...
 
double satvel_X {}
 Earth-fixed velocity coordinate x of the satellite [m]. More...
 
double satvel_Y {}
 Earth-fixed velocity coordinate y of the satellite [m]. More...
 
double satvel_Z {}
 Earth-fixed velocity coordinate z of the satellite [m]. More...
 

Protected Attributes

char System {}
 Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou. More...
 

Detailed Description

Base class for GNSS ephemeris storage.

Definition at line 28 of file gnss_ephemeris.h.

Member Function Documentation

◆ predicted_doppler()

double Gnss_Ephemeris::predicted_doppler ( double  rx_time_s,
double  lat,
double  lon,
double  h,
double  ve,
double  vn,
double  vu,
int  band 
) const

Computes prediction of the Doppler shift for a given time and receiver's position and velocity.

\[ f_{d} = - \mathbf{v} \frac{\mathbf{x}^{T}}{\left| \mathbf{x} \right| } \frac{f_{L}}{c} \]

where:

\[ \mathbf{v} = \mathbf{v}_{sat} - \mathbf{v}_{rx} \]

\[ \mathbf{x} = \mathbf{x}_{sat} - \mathbf{x}_{rx} \]

\[ \left| \mathbf{x} \right| = \sqrt{\mathbf{x}\mathbf{x}^{T}} \]

.

Parameters
[in]rx_time_sTime of Week in seconds
[in]latReceiver's latitude in degrees
[in]lonReceiver's longitude in degrees
[in]hReceiver's height in meters
[in]veReceiver's velocity in the East direction [m/s]
[in]vnReceiver's velocity in the North direction [m/s]
[in]vuReceiver's velocity in the Up direction [m/s]
[in]bandSignal band for which the Doppler will be computed (1: L1 C/A, E1B, BI1; 2: L2C, BI2; 3: BI3; 5: L5/E5a; 6: E6B; 7: E5b; 8: E5a+E5b)

◆ satellitePosition()

void Gnss_Ephemeris::satellitePosition ( double  transmitTime)

Computes the ECEF SV coordinates and ECEF velocity.

◆ sv_clock_drift()

double Gnss_Ephemeris::sv_clock_drift ( double  transmitTime)

Sets (satClkDrift) and (dtr), and returns the clock drift in seconds according to the User Algorithm for SV Clock Correction (IS-GPS-200M, 20.3.3.3.3.1, and Galileo OS SIS ICD, 5.1.4).

Member Data Documentation

◆ af0

double Gnss_Ephemeris::af0 {}

◆ af1

double Gnss_Ephemeris::af1 {}

◆ af2

double Gnss_Ephemeris::af2 {}

◆ Cic

double Gnss_Ephemeris::Cic {}

Amplitude of the cosine harmonic correction term to the angle of inclination [rad].

Definition at line 84 of file gnss_ephemeris.h.

Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().

◆ Cis

double Gnss_Ephemeris::Cis {}

Amplitude of the sine harmonic correction term to the angle of inclination [rad].

Definition at line 85 of file gnss_ephemeris.h.

Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().

◆ Crc

double Gnss_Ephemeris::Crc {}

Amplitude of the cosine harmonic correction term to the orbit radius [meters].

Definition at line 82 of file gnss_ephemeris.h.

Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().

◆ Crs

double Gnss_Ephemeris::Crs {}

◆ Cuc

double Gnss_Ephemeris::Cuc {}

Amplitude of the cosine harmonic correction term to the argument of latitude [rad].

Definition at line 80 of file gnss_ephemeris.h.

Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().

◆ Cus

double Gnss_Ephemeris::Cus {}

Amplitude of the sine harmonic correction term to the argument of latitude [rad].

Definition at line 81 of file gnss_ephemeris.h.

Referenced by Serdes_Galileo_Eph::readProtobuffer(), Serdes_Gps_Eph::readProtobuffer(), Galileo_Ephemeris::serialize(), Gps_Ephemeris::serialize(), Beidou_Dnav_Ephemeris::serialize(), and Gps_CNAV_Ephemeris::serialize().

◆ delta_n

double Gnss_Ephemeris::delta_n {}

◆ dtr

double Gnss_Ephemeris::dtr {}

◆ ecc

double Gnss_Ephemeris::ecc {}

◆ i_0

double Gnss_Ephemeris::i_0 {}

◆ idot

double Gnss_Ephemeris::idot {}

◆ M_0

double Gnss_Ephemeris::M_0 {}

◆ omega

double Gnss_Ephemeris::omega {}

◆ OMEGA_0

double Gnss_Ephemeris::OMEGA_0 {}

◆ OMEGAdot

double Gnss_Ephemeris::OMEGAdot {}

◆ PRN

uint32_t Gnss_Ephemeris::PRN {}

◆ satClkDrift

double Gnss_Ephemeris::satClkDrift {}

◆ satpos_X

double Gnss_Ephemeris::satpos_X {}

Earth-fixed coordinate x of the satellite [m]. Intersection of the IERS Reference Meridian (IRM) and the plane passing through the origin and normal to the Z-axis.

Definition at line 102 of file gnss_ephemeris.h.

◆ satpos_Y

double Gnss_Ephemeris::satpos_Y {}

Earth-fixed coordinate y of the satellite [m]. Completes a right-handed, Earth-Centered, Earth-Fixed orthogonal coordinate system.

Definition at line 103 of file gnss_ephemeris.h.

◆ satpos_Z

double Gnss_Ephemeris::satpos_Z {}

Earth-fixed coordinate z of the satellite [m]. The direction of the IERS (International Earth Rotation and Reference Systems Service) Reference Pole (IRP).

Definition at line 104 of file gnss_ephemeris.h.

◆ satvel_X

double Gnss_Ephemeris::satvel_X {}

Earth-fixed velocity coordinate x of the satellite [m].

Definition at line 107 of file gnss_ephemeris.h.

◆ satvel_Y

double Gnss_Ephemeris::satvel_Y {}

Earth-fixed velocity coordinate y of the satellite [m].

Definition at line 108 of file gnss_ephemeris.h.

◆ satvel_Z

double Gnss_Ephemeris::satvel_Z {}

Earth-fixed velocity coordinate z of the satellite [m].

Definition at line 109 of file gnss_ephemeris.h.

◆ sqrtA

double Gnss_Ephemeris::sqrtA {}

◆ System

char Gnss_Ephemeris::System {}
protected

Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou.

Definition at line 112 of file gnss_ephemeris.h.

Referenced by Gps_CNAV_Ephemeris::Gps_CNAV_Ephemeris().

◆ toc

int32_t Gnss_Ephemeris::toc {}

◆ toe

int32_t Gnss_Ephemeris::toe {}

◆ tow

int32_t Gnss_Ephemeris::tow {}

◆ WN

int32_t Gnss_Ephemeris::WN {}

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