GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_almanac.h
Go to the documentation of this file.
1/*!
2 * \file galileo_almanac.h
3 * \brief Interface of a Galileo ALMANAC storage
4 * \author Carles Fernandez, 2018. cfernandez(at)cttc.cat
5 *
6 * -----------------------------------------------------------------------------
7 *
8 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
9 * This file is part of GNSS-SDR.
10 *
11 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
12 * SPDX-License-Identifier: GPL-3.0-or-later
13 *
14 * -----------------------------------------------------------------------------
15 */
16
17
18#ifndef GNSS_SDR_GALILEO_ALMANAC_H
19#define GNSS_SDR_GALILEO_ALMANAC_H
20
21#include "gnss_almanac.h"
22#include <boost/serialization/nvp.hpp>
23
24/** \addtogroup Core
25 * \{ */
26/** \addtogroup System_Parameters
27 * \{ */
28
29
30/*!
31 * \brief This class is a storage for the Galileo SV ALMANAC data
32 */
34{
35public:
36 /*!
37 * Default constructor
38 */
40 {
41 this->System = 'E';
42 };
43
44 int32_t IODa{};
45 int32_t E5b_HS{};
46 int32_t E1B_HS{};
47 int32_t E5a_HS{};
48
49 template <class Archive>
50
51 void serialize(Archive& ar, const unsigned int version)
52 {
53 if (version)
54 {
55 };
56 ar& BOOST_SERIALIZATION_NVP(PRN);
57 ar& BOOST_SERIALIZATION_NVP(delta_i);
58 ar& BOOST_SERIALIZATION_NVP(toa);
59 ar& BOOST_SERIALIZATION_NVP(WNa);
60 ar& BOOST_SERIALIZATION_NVP(M_0);
61 ar& BOOST_SERIALIZATION_NVP(ecc);
62 ar& BOOST_SERIALIZATION_NVP(sqrtA);
63 ar& BOOST_SERIALIZATION_NVP(OMEGA_0);
64 ar& BOOST_SERIALIZATION_NVP(omega);
65 ar& BOOST_SERIALIZATION_NVP(OMEGAdot);
66 ar& BOOST_SERIALIZATION_NVP(af0);
67 ar& BOOST_SERIALIZATION_NVP(af1);
68 ar& BOOST_SERIALIZATION_NVP(IODa);
69 ar& BOOST_SERIALIZATION_NVP(E5b_HS);
70 ar& BOOST_SERIALIZATION_NVP(E1B_HS);
71 ar& BOOST_SERIALIZATION_NVP(E5a_HS);
72 }
73};
74
75
76/** \} */
77/** \} */
78#endif // GNSS_SDR_GALILEO_ALMANAC_H
uint32_t PRN
SV PRN NUMBER.
double OMEGAdot
Rate of Right Ascension [semi-circles/s].
double OMEGA_0
Longitude of Ascending Node of Orbit Plane at Weekly Epoch [semi-circles].
double M_0
Mean Anomaly at Reference Time [semi-circles].
double sqrtA
Square Root of the Semi-Major Axis [sqrt(m)].
char System
Character ID of the GNSS system. 'G': GPS. 'E': Galileo. 'C': BeiDou.
double af0
Coefficient 0 of code phase offset model [s].
int32_t WNa
Almanac week number.
Gnss_Almanac()=default
double omega
Argument of Perigee [semi-cicles].
int32_t toa
Almanac data reference time of week [s].
double af1
Coefficient 1 of code phase offset model [s/s].
double ecc
Eccentricity [dimensionless].
double delta_i
Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles).
Base class for GNSS almanac storage.