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