GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
gps_l5_dll_pll_tracking_fpga.h
Go to the documentation of this file.
1 /*!
2  * \file gps_l5_dll_pll_tracking_fpga.h
3  * \brief Interface of an adapter of a DLL+PLL tracking loop block
4  * for GPS L5 to a TrackingInterface for the FPGA
5  * \author Marc Majoral, 2019. mmajoral(at)cttc.cat
6  * Javier Arribas, 2019. 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_L5_DLL_PLL_TRACKING_FPGA_H
25 #define GNSS_SDR_GPS_L5_DLL_PLL_TRACKING_FPGA_H
26 
28 
29 // /** \addtogroup Tracking
30 // * \{ */
31 // /** \addtogroup Tracking_adapters
32 // * \{ */
33 
34 /*!
35  * \brief Adapter for a GPS L5 DLL+PLL tracking loop for FPGA devices
36  */
38 {
39 public:
40  /*!
41  * \brief Constructor
42  */
44  const std::string& role,
45  unsigned int in_streams,
46  unsigned int out_streams);
47 
48  /*!
49  * \brief Destructor
50  */
51  ~GpsL5DllPllTrackingFpga() override;
52 
53  /*!
54  * \brief Returns "GPS_L5_DLL_PLL_Tracking_FPGA"
55  */
56  std::string implementation() override
57  {
58  return "GPS_L5_DLL_PLL_Tracking_FPGA";
59  }
60 
61 private:
62  // Pointer to local PRN codes (pilot/data)
63  int32_t* prn_codes_ptr_;
64  int32_t* data_codes_ptr_;
65 
66  // Pilot tracking flag
67  bool track_pilot_;
68 };
69 
70 // /** \} */
71 // /** \} */
72 #endif // GNSS_SDR_GPS_L5_DLL_PLL_TRACKING_FPGA_H
Base class providing shared logic for DLL+PLL VEML tracking adapters for FPGA-based devices...
GpsL5DllPllTrackingFpga(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams)
Constructor.
std::string implementation() override
Returns "GPS_L5_DLL_PLL_Tracking_FPGA".
This abstract class represents an interface to configuration parameters.
~GpsL5DllPllTrackingFpga() override
Destructor.
std::string role() override
Get role from the Tracking block adapter.
Adapter for a GPS L5 DLL+PLL tracking loop for FPGA devices.