GNSS-SDR  0.0.13
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  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
10  *
11  * GNSS-SDR is a software defined Global Navigation
12  * Satellite Systems receiver
13  *
14  * This file is part of GNSS-SDR.
15  *
16  * SPDX-License-Identifier: GPL-3.0-or-later
17  *
18  * -----------------------------------------------------------------------------
19  */
20 
21 
22 #ifndef GNSS_SDR_GALILEO_UTC_MODEL_H
23 #define GNSS_SDR_GALILEO_UTC_MODEL_H
24 
25 #include <boost/serialization/nvp.hpp>
26 #include <cstdint>
27 
28 /*!
29  * \brief This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD
30  * https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo-OS-SIS-ICD.pdf
31  * paragraph 5.1.7
32  */
34 {
35 public:
36  /*!
37  * Default constructor
38  */
39  Galileo_Utc_Model() = default;
40 
41  // double TOW_6;
42  double GST_to_UTC_time(double t_e, int32_t WN); //!< GST-UTC Conversion Algorithm and Parameters
43 
44  // Word type 6: GST-UTC conversion parameters
45  double A0_6{};
46  double A1_6{};
47  int32_t Delta_tLS_6{};
48  int32_t t0t_6{}; //!< UTC data reference Time of Week [s]
49  int32_t WNot_6{}; //!< UTC data reference Week number [week]
50  int32_t WN_LSF_6{};
51  int32_t DN_6{};
52  int32_t Delta_tLSF_6{};
53 
54  // GPS to Galileo GST conversion parameters
55  double A_0G_10{};
56  double A_1G_10{};
57  int32_t t_0G_10{};
58  int32_t WN_0G_10{};
59 
60  bool flag_utc_model{};
61 
62  template <class Archive>
63 
64  /*!
65  * \brief Serialize is a boost standard method to be called by the boost XML serialization.
66  Here is used to save the UTC data on disk file.
67  */
68  inline void serialize(Archive& archive, const unsigned int version)
69  {
70  using boost::serialization::make_nvp;
71  if (version)
72  {
73  };
74  archive& make_nvp("A0_6", A0_6);
75  archive& make_nvp("A1_6", A1_6);
76  archive& make_nvp("Delta_tLS_6", Delta_tLS_6);
77  archive& make_nvp("t0t_6", t0t_6);
78  archive& make_nvp("WNot_6", WNot_6);
79  archive& make_nvp("WN_LSF_6", WN_LSF_6);
80  archive& make_nvp("DN_6", DN_6);
81  archive& make_nvp("Delta_tLSF_6", Delta_tLSF_6);
82  archive& make_nvp("flag_utc_model", flag_utc_model);
83  }
84 };
85 
86 #endif
Galileo_Utc_Model()=default
double GST_to_UTC_time(double t_e, int32_t WN)
GST-UTC Conversion Algorithm and Parameters.
int32_t WNot_6
UTC data reference Week number [week].
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...
This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD https://www...
int32_t t0t_6
UTC data reference Time of Week [s].