![]() |
GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
|
Base class for GNSS almanac storage. More...
#include <gnss_almanac.h>
Public Member Functions | |
| Gnss_Almanac ()=default | |
| 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. | |
| void | satellitePosVelComputation (double transmitTime, std::array< double, 7 > &pos_vel_dtr) const |
| Computes satellite Position and Velocity, in ECEF, for a given time (expressed in seconds of week). | |
Public Attributes | |
| uint32_t | PRN {} |
| SV PRN NUMBER. | |
| double | delta_i {} |
| Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles). | |
| int32_t | toa {} |
| Almanac data reference time of week [s]. | |
| int32_t | WNa {} |
| Almanac week number. | |
| double | M_0 {} |
| Mean Anomaly at Reference Time [semi-circles]. | |
| double | ecc {} |
| Eccentricity [dimensionless]. | |
| double | sqrtA {} |
| Square Root of the Semi-Major Axis [sqrt(m)]. | |
| double | OMEGA_0 {} |
| Longitude of Ascending Node of Orbit Plane at Weekly Epoch [semi-circles]. | |
| double | omega {} |
| Argument of Perigee [semi-cicles]. | |
| double | OMEGAdot {} |
| Rate of Right Ascension [semi-circles/s]. | |
| double | af0 {} |
| Coefficient 0 of code phase offset model [s]. | |
| double | af1 {} |
| Coefficient 1 of code phase offset model [s/s]. | |
Protected Attributes | |
| char | System {} |
| Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'C': BeiDou. | |
Base class for GNSS almanac storage.
Definition at line 33 of file gnss_almanac.h.
|
default |
Default constructor
| double Gnss_Almanac::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}} \]
| [in] | rx_time_s | Time of Week in seconds |
| [in] | lat | Receiver's latitude in degrees |
| [in] | lon | Receiver's longitude in degrees |
| [in] | h | Receiver's height in meters |
| [in] | ve | Receiver's velocity in the East direction [m/s] |
| [in] | vn | Receiver's velocity in the North direction [m/s] |
| [in] | vu | Receiver's velocity in the Up direction [m/s] |
| [in] | band | Signal 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) |
| void Gnss_Almanac::satellitePosVelComputation | ( | double | transmitTime, |
| std::array< double, 7 > & | pos_vel_dtr ) const |
Computes satellite Position and Velocity, in ECEF, for a given time (expressed in seconds of week).
| double Gnss_Almanac::af0 {} |
Coefficient 0 of code phase offset model [s].
Definition at line 91 of file gnss_almanac.h.
| double Gnss_Almanac::af1 {} |
Coefficient 1 of code phase offset model [s/s].
Definition at line 92 of file gnss_almanac.h.
| double Gnss_Almanac::delta_i {} |
Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles).
Definition at line 82 of file gnss_almanac.h.
| double Gnss_Almanac::ecc {} |
Eccentricity [dimensionless].
Definition at line 86 of file gnss_almanac.h.
| double Gnss_Almanac::M_0 {} |
Mean Anomaly at Reference Time [semi-circles].
Definition at line 85 of file gnss_almanac.h.
| double Gnss_Almanac::omega {} |
Argument of Perigee [semi-cicles].
Definition at line 89 of file gnss_almanac.h.
| double Gnss_Almanac::OMEGA_0 {} |
Longitude of Ascending Node of Orbit Plane at Weekly Epoch [semi-circles].
Definition at line 88 of file gnss_almanac.h.
| double Gnss_Almanac::OMEGAdot {} |
Rate of Right Ascension [semi-circles/s].
Definition at line 90 of file gnss_almanac.h.
| uint32_t Gnss_Almanac::PRN {} |
SV PRN NUMBER.
Definition at line 81 of file gnss_almanac.h.
| double Gnss_Almanac::sqrtA {} |
Square Root of the Semi-Major Axis [sqrt(m)].
Definition at line 87 of file gnss_almanac.h.
|
protected |
Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'C': BeiDou.
Definition at line 95 of file gnss_almanac.h.
Referenced by Beidou_Dnav_Almanac::Beidou_Dnav_Almanac(), Galileo_Almanac::Galileo_Almanac(), and Gps_Almanac::Gps_Almanac().
| int32_t Gnss_Almanac::toa {} |
Almanac data reference time of week [s].
Definition at line 83 of file gnss_almanac.h.
| int32_t Gnss_Almanac::WNa {} |
Almanac week number.
Definition at line 84 of file gnss_almanac.h.