GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
beidou_dnav_utc_model.h
Go to the documentation of this file.
1/*!
2 * \file beidou_dnav_utc_model.h
3 * \brief Interface of a BeiDou UTC MODEL storage
4 * \author Damian Miralles, 2018. dmiralles2009@gmail.com
5 * \author Sergi Segura, 2018. sergi.segura.munoz(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_BEIDOU_DNAV_UTC_MODEL_H
20#define GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H
21
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 BeiDou DNAV UTC Model.
32 * \details Implementation follows the interface described in the Open Service Signal (Version 2.1)
33 *
34 */
35class Beidou_Dnav_Utc_Model
36{
37public:
38 Beidou_Dnav_Utc_Model() = default;
39
40 // BeiDou UTC parameters
41 double A0_UTC{}; //!< BDT clock bias relative to UTC [s]
42 double A1_UTC{}; //!< BDT clock rate relative to UTC [s/s]
43 int DeltaT_LS{}; //!< Delta time due to leap seconds before the new leap second effective
44 int WN_LSF{}; //!< Week number of the new leap second
45 int DN{}; //!< Day number of week of the new leap second
46 double DeltaT_LSF{}; //!< Delta time due to leap seconds after the new leap second effective [s]
47
48 // BeiDou to GPS time corrections
49 double A0_GPS{}; //!< BDT clock bias relative to GPS time [s]
50 double A1_GPS{}; //!< BDT clock rate relative to GPS time [s/s]
51
52 // BeiDou to Galileo time corrections
53 double A0_GAL{}; //!< BDT clock bias relative to GAL time [s]
54 double A1_GAL{}; //!< BDT clock rate relative to GAL time [s/s]
55
56 // BeiDou to GLONASS time corrections
57 double A0_GLO{}; //!< BDT clock bias relative to GLO time [s]
58 double A1_GLO{}; //!< BDT clock rate relative to GLO time [s/s]
59
60 bool valid{};
61
62 template <class Archive>
63 /*
64 * \brief Serialize is a boost standard method to be called by the boost XML
65 * serialization. Here is used to save the ephemeris 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(A1_UTC);
73 archive& BOOST_SERIALIZATION_NVP(A0_UTC);
74 archive& BOOST_SERIALIZATION_NVP(DeltaT_LS);
75 archive& BOOST_SERIALIZATION_NVP(WN_LSF);
76 archive& BOOST_SERIALIZATION_NVP(DN);
77 archive& BOOST_SERIALIZATION_NVP(DeltaT_LSF);
78 archive& BOOST_SERIALIZATION_NVP(A0_GPS);
79 archive& BOOST_SERIALIZATION_NVP(A1_GPS);
80 archive& BOOST_SERIALIZATION_NVP(A0_GAL);
81 archive& BOOST_SERIALIZATION_NVP(A1_GAL);
82 archive& BOOST_SERIALIZATION_NVP(A0_GLO);
83 archive& BOOST_SERIALIZATION_NVP(A1_GLO);
84 archive& BOOST_SERIALIZATION_NVP(valid);
85 }
86};
87
88
89/** \} */
90/** \} */
91#endif // GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H
double A1_GAL
BDT clock rate relative to GAL time [s/s].
double A0_GLO
BDT clock bias relative to GLO time [s].
double A0_GPS
BDT clock bias relative to GPS time [s].
double A1_GPS
BDT clock rate relative to GPS time [s/s].
double A1_GLO
BDT clock rate relative to GLO time [s/s].
int DeltaT_LS
Delta time due to leap seconds before the new leap second effective.
double A0_GAL
BDT clock bias relative to GAL time [s].
int DN
Day number of week of the new leap second.
double A1_UTC
BDT clock rate relative to UTC [s/s].
double DeltaT_LSF
Delta time due to leap seconds after the new leap second effective [s].
double A0_UTC
BDT clock bias relative to UTC [s].
int WN_LSF
Week number of the new leap second.