GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
glonass_l2_ca_dll_pll_tracking.h
Go to the documentation of this file.
1 /*!
2  * \file glonass_l2_ca_dll_pll_tracking.h
3  * \brief Interface of an adapter of a DLL+PLL tracking loop block
4  * for Glonass L2 C/A to a TrackingInterface
5  * \author Damian Miralles, 2018, dmiralles2009(at)gmail.com
6  * \author Javier Arribas, 2025 javier.arribas(at)cttc.es
7  * \author Carles Fernandez-Prades, 2025 carles.fernandez(at)cttc.es
8  *
9  *
10  * Code DLL + carrier PLL according to the algorithms described in:
11  * K.Borre, D.M.Akos, N.Bertelsen, P.Rinder, and S.H.Jensen,
12  * A Software-Defined GPS and Galileo Receiver. A Single-Frequency
13  * Approach, Birkhauser, 2007
14  *
15  * -----------------------------------------------------------------------------
16  *
17  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
18  * This file is part of GNSS-SDR.
19  *
20  * Copyright (C) 2010-2025 (see AUTHORS file for a list of contributors)
21  * SPDX-License-Identifier: GPL-3.0-or-later
22  *
23  * -----------------------------------------------------------------------------
24  */
25 
26 #ifndef GNSS_SDR_GLONASS_L2_CA_DLL_PLL_TRACKING_H
27 #define GNSS_SDR_GLONASS_L2_CA_DLL_PLL_TRACKING_H
28 
29 #include "base_dll_pll_tracking.h"
30 
31 /** \addtogroup Tracking
32  * Classes for GNSS signal tracking.
33  * \{ */
34 /** \addtogroup Tracking_adapters tracking_adapters
35  * Wrap GNU Radio blocks for GNSS signal tracking with a TrackingInterface
36  * \{ */
37 
38 
39 /*!
40  * \brief This class implements a code DLL + carrier PLL tracking loop
41  * block adapter for GLONASS L2 signals
42  */
44 {
45 public:
46  //! Constructor
48  const std::string& role,
49  unsigned int in_streams,
50  unsigned int out_streams);
51 
52  //! Returns "GLONASS_L2_CA_DLL_PLL_Tracking"
53  inline std::string implementation() override
54  {
55  return "GLONASS_L2_CA_DLL_PLL_Tracking";
56  }
57 
58 private:
59  void configure_tracking_parameters(const ConfigurationInterface* configuration) override;
60  void create_tracking_block() override;
61 };
62 
63 /** \} */
64 /** \} */
65 #endif // GNSS_SDR_GLONASS_L2_CA_DLL_PLL_TRACKING_H
std::string implementation() override
Returns "GLONASS_L2_CA_DLL_PLL_Tracking".
Base class providing shared logic for DLL+PLL tracking loop adapters for GNSS signals.
This class implements a code DLL + carrier PLL tracking loop block adapter for GLONASS L2 signals...
GlonassL2CaDllPllTracking(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams)
Constructor.
std::string role() override final
Get role from the Tracking block adapter.
This abstract class represents an interface to configuration parameters.
Base class providing shared logic for DLL+PLL VEML tracking adapters.