GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_iono.h
Go to the documentation of this file.
1/*!
2 * \file galileo_iono.h
3 * \brief Interface of a Galileo Ionospheric Model storage
4 * \author Javier Arribas, 2013. jarribas(at)cttc.es
5 * \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
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_IONO_H
20#define GNSS_SDR_GALILEO_IONO_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 IONOSPHERIC data as described
33 * in Galileo ICD paragraph 5.1.6
34 *
35 * See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf
36 */
38{
39public:
40 /*!
41 * Default constructor
42 */
43 Galileo_Iono() = default;
44
45 // Ionospheric correction
46 double ai0{}; //!< Effective Ionisation Level 1st order parameter [sfu]
47 double ai1{}; //!< Effective Ionisation Level 2st order parameter [sfu/degree]
48 double ai2{}; //!< Effective Ionisation Level 3st order parameter [sfu/degree]
49
50 // from page 5 (UTC) to have a timestamp
51 int32_t tow{}; //!< UTC data reference Time of Week [s]
52 int32_t WN{}; //!< UTC data reference Week number [week]
53
54 // Ionospheric disturbance flag
55 bool Region1_flag{}; //!< Ionospheric Disturbance Flag for region 1
56 bool Region2_flag{}; //!< Ionospheric Disturbance Flag for region 2
57 bool Region3_flag{}; //!< Ionospheric Disturbance Flag for region 3
58 bool Region4_flag{}; //!< Ionospheric Disturbance Flag for region 4
59 bool Region5_flag{}; //!< Ionospheric Disturbance Flag for region 5
60
61 template <class Archive>
62
63 /*!
64 * \brief Serialize is a boost standard method to be called by the boost XML serialization.
65 Here is used to save the iono data on disk file.
66 */
67 inline void serialize(Archive& archive, const unsigned int version)
68 {
69 if (version)
70 {
71 };
72 archive& BOOST_SERIALIZATION_NVP(ai0);
73 archive& BOOST_SERIALIZATION_NVP(ai1);
74 archive& BOOST_SERIALIZATION_NVP(ai2);
75 archive& BOOST_SERIALIZATION_NVP(tow);
76 archive& BOOST_SERIALIZATION_NVP(WN);
77 archive& BOOST_SERIALIZATION_NVP(Region1_flag);
78 archive& BOOST_SERIALIZATION_NVP(Region2_flag);
79 archive& BOOST_SERIALIZATION_NVP(Region3_flag);
80 archive& BOOST_SERIALIZATION_NVP(Region4_flag);
81 archive& BOOST_SERIALIZATION_NVP(Region5_flag);
82 }
83};
84
85
86/** \} */
87/** \} */
88#endif // GNSS_SDR_GALILEO_IONO_H
double ai1
Effective Ionisation Level 2st order parameter [sfu/degree].
double ai0
Effective Ionisation Level 1st order parameter [sfu].
bool Region5_flag
Ionospheric Disturbance Flag for region 5.
double ai2
Effective Ionisation Level 3st order parameter [sfu/degree].
bool Region2_flag
Ionospheric Disturbance Flag for region 2.
bool Region3_flag
Ionospheric Disturbance Flag for region 3.
int32_t tow
UTC data reference Time of Week [s].
bool Region4_flag
Ionospheric Disturbance Flag for region 4.
bool Region1_flag
Ionospheric Disturbance Flag for region 1.
Galileo_Iono()=default
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 WN
UTC data reference Week number [week].