64 std::array<double, 3>
a{};
169 const size_t&
IODE,
const size_t&
IODC,
170 const std::array<double, 3>&
a,
173 const double&
Cis,
const double&
Cic,
const double&
Crs,
const double&
Crc,
218 GPSEphemeris(int32_t year, int32_t month, int32_t day, int32_t hour, int32_t minute,
double second,
double svClockBias,
double svClockDrift,
double svClockDriftRate,
225 double TransmissionTimeOfMessage,
double fitInterval,
double spare1 = 0.0,
double spare2 = 0.0);
249 [[nodiscard]]
bool isHealthy() const final;
The class is responsible for all time-related tasks.
Satellite Navigation data (to calculate SatNavData and clock)
Frequency definition for different satellite systems.
double Crc
Amplitude of the cosine harmonic correction term to the orbit radius [m].
double Cuc
Amplitude of the cosine harmonic correction term to the argument of latitude [rad].
bool isHealthy() const final
Checks whether the signal is healthy.
double i_dot
Rate of change of inclination [rad/s].
double svAccuracy
SV accuracy [m].
size_t IODC
Issue of Data, Clock.
double Cic
Amplitude of the cosine harmonic correction term to the angle of inclination [rad].
double T_GD
Estimated Group Delay Differential. L1 and L2 correction term [s].
double Cus
Amplitude of the sine harmonic correction term to the argument of latitude [rad].
double i_0
Inclination angle at reference time [rad].
Corrections calcClockCorrections(const InsTime &recvTime, double dist, const Frequency &freq) const final
Calculates clock bias and drift of the satellite.
double delta_n
Mean motion difference from computed value [rad/s].
bool L2DataFlagPCode
Data Flag for L2 P-Code.
std::array< double, 3 > a
uint8_t L2ChannelCodes
Indicate which code(s) is (are) commanded ON for the in-phase component of the L2 channel.
double sqrt_A
Square root of the semi-major axis [m^1/2].
double omega
Argument of perigee [rad].
GPSEphemeris(const InsTime &toc)
Default Constructor.
double calcSatellitePositionVariance() const final
Calculates the Variance of the satellite position in [m^2].
uint8_t svHealth
SV health.
double M_0
Mean anomaly at reference time [rad].
double Omega_dot
Rate of change of right ascension [rad/s].
size_t IODE
Issue of Data, Ephemeris.
PosVelAccel calcSatelliteData(const InsTime &transTime, Orbit::Calc calc) const final
Calculates position, velocity and acceleration of the satellite at transmission time.
double fitInterval
Fit Interval of ephemerides [h].
InsTime toc
Time of Clock.
double Cis
Amplitude of the sine harmonic correction term to the angle of inclination [rad].
double Crs
Amplitude of the sine harmonic correction term to the orbit radius [m].
~GPSEphemeris() final=default
Destructor.
double e
Eccentricity [-].
double Omega_0
Longitude of the ascending node at reference time [rad].
InsTime toe
Time of Ephemeris.
The class is responsible for all time-related tasks.
Abstract satellite orbit information.
SatNavData(Type type, const InsTime &refTime)
Constructor.
@ GPSEphemeris
GPS Broadcast Ephemeris.
Satellite clock corrections.
Satellite Position, Velocity and Acceleration.