GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
gps_l1_ca_dll_pll_tracking.h
Go to the documentation of this file.
1 /*!
2  * \file gps_l1_ca_dll_pll_tracking.h
3  * \brief Interface of an adapter of a DLL+PLL tracking loop block
4  * for GPS L1 C/A 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_L1_CA_DLL_PLL_TRACKING_H
25 #define GNSS_SDR_GPS_L1_CA_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 /*!
38  * \brief This class implements a code DLL + carrier PLL tracking loop
39  * block adapter for GPS L1 C/A signals
40  */
42 {
43 public:
44  //! Constructor
45  GpsL1CaDllPllTracking(const ConfigurationInterface* configuration,
46  const std::string& role,
47  unsigned int in_streams,
48  unsigned int out_streams);
49 
50  //! Returns "GPS_L1_CA_DLL_PLL_Tracking"
51  inline std::string implementation() override
52  {
53  return "GPS_L1_CA_DLL_PLL_Tracking";
54  }
55 
56 private:
57  void configure_tracking_parameters(const ConfigurationInterface* configuration) override;
58  void create_tracking_block() override;
59 };
60 
61 /** \} */
62 /** \} */
63 #endif // GNSS_SDR_GPS_L1_CA_DLL_PLL_TRACKING_H
Base class providing shared logic for DLL+PLL tracking loop adapters for GNSS signals.
std::string implementation() override
Returns "GPS_L1_CA_DLL_PLL_Tracking".
GpsL1CaDllPllTracking(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.
This class implements a code DLL + carrier PLL tracking loop block adapter for GPS L1 C/A signals...
Base class providing shared logic for DLL+PLL VEML tracking adapters.