GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
galileo_e6_dll_pll_tracking.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_e6_dll_pll_tracking.h
3  * \brief Adapts a code DLL + carrier PLL
4  * tracking block to a TrackingInterface for Galileo E6 signals
5  * \author Carles Fernandez-Prades, 2020. cfernandez(at)cttc.es
6  *
7  *
8  * -----------------------------------------------------------------------------
9  *
10  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
11  * This file is part of GNSS-SDR.
12  *
13  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
14  * SPDX-License-Identifier: GPL-3.0-or-later
15  *
16  * -----------------------------------------------------------------------------
17  */
18 
19 #ifndef GNSS_SDR_GALILEO_E6_DLL_PLL_TRACKING_H
20 #define GNSS_SDR_GALILEO_E6_DLL_PLL_TRACKING_H
21 
22 #include "base_dll_pll_tracking.h"
23 
24 /** \addtogroup Tracking
25  * Classes for GNSS signal tracking.
26  * \{ */
27 /** \addtogroup Tracking_adapters tracking_adapters
28  * Wrap GNU Radio blocks for GNSS signal tracking with a TrackingInterface
29  * \{ */
30 
32 
33 /*!
34  * \brief This class Adapts a DLL+PLL VEML (Very Early Minus Late) tracking
35  * loop block to a TrackingInterface for Galileo E5a signals
36  */
38 {
39 public:
40  //! Constructor
42  const std::string& role,
43  unsigned int in_streams,
44  unsigned int out_streams);
45 
46  //! Returns "Galileo_E6_DLL_PLL_Tracking"
47  inline std::string implementation() override
48  {
49  return "Galileo_E6_DLL_PLL_Tracking";
50  }
51 
52 private:
53  void configure_tracking_parameters(const ConfigurationInterface* configuration) override;
54  void create_tracking_block() override;
55 };
56 
57 
58 /** \} */
59 /** \} */
60 #endif // GNSS_SDR_GALILEO_E6_DLL_PLL_TRACKING_H
61 
62 // //
63 // src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h
64 
65 // src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h
66 // #include "dll_pll_veml_tracking.h"
67 // #include "tracking_interface.h"
68 // #include <string>
69 
70 // /** \addtogroup Tracking
71 // * \{ */
72 // /** \addtogroup Tracking_adapters
73 // * \{ */
74 
75 
76 // class ConfigurationInterface;
77 
78 // /*!
79 // * \brief This class implements a code DLL + carrier PLL tracking loop
80 // */
81 // class GalileoE6DllPllTracking : public TrackingInterface
82 // {
83 // public:
84 // GalileoE6DllPllTracking(
85 // const ConfigurationInterface* configuration,
86 // const std::string& role,
87 // unsigned int in_streams,
88 // unsigned int out_streams);
89 
90 // ~GalileoE6DllPllTracking() = default;
91 
92 // inline std::string role() override
93 // {
94 // return role_;
95 // }
96 
97 // //! Returns "Galileo_E6_DLL_PLL_Tracking"
98 // inline std::string implementation() override
99 // {
100 // return "Galileo_E6_DLL_PLL_Tracking";
101 // }
102 
103 // inline size_t item_size() override
104 // {
105 // return item_size_;
106 // }
107 
108 // /*!
109 // * \brief Connect
110 // */
111 // void connect(gr::top_block_sptr top_block) override;
112 
113 // /*!
114 // * \brief Disconnect
115 // */
116 // void disconnect(gr::top_block_sptr top_block) override;
117 
118 // /*!
119 // * \brief Get left block
120 // */
121 // gr::basic_block_sptr get_left_block() override;
122 
123 // /*!
124 // * \brief Get right block
125 // */
126 // gr::basic_block_sptr get_right_block() override;
127 
128 // /*!
129 // * \brief Set tracking channel unique ID
130 // */
131 // void set_channel(unsigned int channel) override;
132 
133 // /*!
134 // * \brief Set acquisition/tracking common Gnss_Synchro object pointer
135 // * to efficiently exchange synchronization data between acquisition and tracking blocks
136 // */
137 // void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
138 
139 // void start_tracking() override;
140 
141 // /*!
142 // * \brief Stop running tracking
143 // */
144 // void stop_tracking() override;
145 
146 // private:
147 // dll_pll_veml_tracking_sptr tracking_sptr_;
148 // std::string role_;
149 // size_t item_size_;
150 // unsigned int channel_;
151 // unsigned int in_streams_;
152 // unsigned int out_streams_;
153 // };
154 
155 
156 // /** \} */
157 // /** \} */
158 // #endif // GNSS_SDR_GALILEO_E6_DLL_PLL_TRACKING_H
Base class providing shared logic for DLL+PLL tracking loop adapters for GNSS signals.
std::string role() override final
Get role from the Tracking block adapter.
This abstract class represents an interface to configuration parameters.
GalileoE6DllPllTracking(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams)
Constructor.
This class Adapts a DLL+PLL VEML (Very Early Minus Late) tracking loop block to a TrackingInterface f...
std::string implementation() override
Returns "Galileo_E6_DLL_PLL_Tracking".
Base class providing shared logic for DLL+PLL VEML tracking adapters.