GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
galileo_utc_model.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_utc_model.h
3  * \brief Interface of a Galileo UTC MODEL storage
4  * \author Javier Arribas, 2013. jarribas(at)cttc.es
5  *
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10  * This file is part of GNSS-SDR.
11  *
12  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13  * SPDX-License-Identifier: GPL-3.0-or-later
14  *
15  * -----------------------------------------------------------------------------
16  */
17 
18 
19 #ifndef GNSS_SDR_GALILEO_UTC_MODEL_H
20 #define GNSS_SDR_GALILEO_UTC_MODEL_H
21 
22 #include <boost/serialization/nvp.hpp>
23 #include <cstdint>
24 
25 /** \addtogroup Core
26  * \{ */
27 /** \addtogroup System_Parameters
28  * \{ */
29 
30 
31 /*!
32  * \brief This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD
33  * https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf
34  * paragraph 5.1.7
35  */
37 {
38 public:
39  /*!
40  * Default constructor
41  */
42  Galileo_Utc_Model() = default;
43 
44  // double TOW;
45  double GST_to_UTC_time(double t_e, int32_t WN) const; //!< GST-UTC Conversion Algorithm and Parameters
46 
47  // Word type 6: GST-UTC conversion parameters
48  double A0{};
49  double A1{};
50  int32_t Delta_tLS{};
51  int32_t tot{}; //!< UTC data reference Time of Week [s]
52  int32_t WNot{}; //!< UTC data reference Week number [week]
53  int32_t WN_LSF{};
54  int32_t DN{};
55  int32_t Delta_tLSF{};
56 
57  // GPS to Galileo GST conversion parameters
58  double A_0G{};
59  double A_1G{};
60  int32_t t_0G{};
61  int32_t WN_0G{};
62 
63  bool flag_utc_model{};
64 
65  template <class Archive>
66 
67  /*!
68  * \brief Serialize is a boost standard method to be called by the boost XML serialization.
69  Here is used to save the UTC data on disk file.
70  */
71  inline void serialize(Archive& archive, const unsigned int version)
72  {
73  if (version)
74  {
75  };
76  archive& BOOST_SERIALIZATION_NVP(A0);
77  archive& BOOST_SERIALIZATION_NVP(A1);
78  archive& BOOST_SERIALIZATION_NVP(Delta_tLS);
79  archive& BOOST_SERIALIZATION_NVP(tot);
80  archive& BOOST_SERIALIZATION_NVP(WNot);
81  archive& BOOST_SERIALIZATION_NVP(WN_LSF);
82  archive& BOOST_SERIALIZATION_NVP(DN);
83  archive& BOOST_SERIALIZATION_NVP(Delta_tLSF);
84  archive& BOOST_SERIALIZATION_NVP(flag_utc_model);
85  }
86 };
87 
88 
89 /** \} */
90 /** \} */
91 #endif // GNSS_SDR_GALILEO_UTC_MODEL_H
Galileo_Utc_Model()=default
double GST_to_UTC_time(double t_e, int32_t WN) const
GST-UTC Conversion Algorithm and Parameters.
void serialize(Archive &archive, const unsigned int version)
Serialize is a boost standard method to be called by the boost XML serialization. Here is used to sav...
int32_t tot
UTC data reference Time of Week [s].
int32_t WNot
UTC data reference Week number [week].
This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD https://www...