GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
gps_l2_m_dll_pll_tracking.h
Go to the documentation of this file.
1 /*!
2  * \file gps_l2_m_dll_pll_tracking.h
3  * \brief Interface of an adapter of a DLL+PLL tracking loop block
4  * for GPS L2C(M) to a TrackingInterface
5  * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
6  * Javier Arribas, 2011. jarribas(at)cttc.es
7  *
8  * Code DLL + carrier PLL according to the algorithms described in:
9  * K.Borre, D.M.Akos, N.Bertelsen, P.Rinder, and S.H.Jensen,
10  * A Software-Defined GPS and Galileo Receiver. A Single-Frequency
11  * Approach, Birkhauser, 2007
12  *
13  * -----------------------------------------------------------------------------
14  *
15  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
16  * This file is part of GNSS-SDR.
17  *
18  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
19  * SPDX-License-Identifier: GPL-3.0-or-later
20  *
21  * -----------------------------------------------------------------------------
22  */
23 
24 #ifndef GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_H
25 #define GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_H
26 
27 #include "base_dll_pll_tracking.h"
28 
29 /** \addtogroup Tracking
30  * Classes for GNSS signal tracking.
31  * \{ */
32 /** \addtogroup Tracking_adapters tracking_adapters
33  * Wrap GNU Radio blocks for GNSS signal tracking with a TrackingInterface
34  * \{ */
35 
36 /*!
37  * \brief This class implements a code DLL + carrier PLL tracking loop
38  * block adapter for GPS L2C(M) signals
39  */
41 {
42 public:
43  //! Constructor
44  GpsL2MDllPllTracking(const ConfigurationInterface* configuration,
45  const std::string& role,
46  unsigned int in_streams,
47  unsigned int out_streams);
48 
49  //! Returns "GPS_L2_M_DLL_PLL_Tracking"
50  inline std::string implementation() override
51  {
52  return "GPS_L2_M_DLL_PLL_Tracking";
53  }
54 
55 private:
56  void configure_tracking_parameters(const ConfigurationInterface* configuration) override;
57  void create_tracking_block() override;
58 };
59 
60 
61 /** \} */
62 /** \} */
63 #endif // GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_H
GpsL2MDllPllTracking(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams)
Constructor.
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 GPS L2C(M) signals...
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.
std::string implementation() override
Returns "GPS_L2_M_DLL_PLL_Tracking".