![]() |
GNSS-SDR
0.0.19
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. \[ 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 | 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) More... | |
Public Attributes | |
| uint32_t | PRN {} |
| SV PRN NUMBER. More... | |
| double | delta_i {} |
| Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles) More... | |
| int32_t | toa {} |
| Almanac data reference time of week [s]. More... | |
| int32_t | WNa {} |
| Almanac week number. More... | |
| double | M_0 {} |
| Mean Anomaly at Reference Time [semi-circles]. More... | |
| double | ecc {} |
| Eccentricity [dimensionless]. More... | |
| double | sqrtA {} |
| Square Root of the Semi-Major Axis [sqrt(m)]. More... | |
| double | OMEGA_0 {} |
| Longitude of Ascending Node of Orbit Plane at Weekly Epoch [semi-circles]. More... | |
| double | omega {} |
| Argument of Perigee [semi-cicles]. More... | |
| double | OMEGAdot {} |
| Rate of Right Ascension [semi-circles/s]. More... | |
| double | af0 {} |
| Coefficient 0 of code phase offset model [s]. More... | |
| double | af1 {} |
| Coefficient 1 of code phase offset model [s/s]. More... | |
Protected Attributes | |
| char | System {} |
| Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'B': BeiDou. More... | |
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. 'B': 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.
1.8.14