GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_e1_tcp_connector_tracking.h
Go to the documentation of this file.
1/*!
2 * \file galileo_e1_tcp_connector_tracking.h
3 * \brief Interface of an adapter of a TCP connector block based on code DLL + carrier PLL
4 * for Galileo E1 to a TrackingInterface
5 * \author David Pubill, 2012. dpubill(at)cttc.es
6 * Luis Esteve, 2012. luis(at)epsilon-formacion.com
7 * Javier Arribas, 2011. jarribas(at)cttc.es
8 *
9 * Code DLL + carrier PLL according to the algorithms described in:
10 * K.Borre, D.M.Akos, N.Bertelsen, P.Rinder, and S.H.Jensen,
11 * A Software-Defined GPS and Galileo Receiver. A Single-Frequency
12 * Approach, Birkhauser, 2007
13 *
14 * -----------------------------------------------------------------------------
15 *
16 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
17 * This file is part of GNSS-SDR.
18 *
19 * Copyright (C) 2012-2020 (see AUTHORS file for a list of contributors)
20 * SPDX-License-Identifier: GPL-3.0-or-later
21 *
22 * -----------------------------------------------------------------------------
23 */
24
25#ifndef GNSS_SDR_GALILEO_E1_TCP_CONNECTOR_TRACKING_H
26#define GNSS_SDR_GALILEO_E1_TCP_CONNECTOR_TRACKING_H
27
29#include "tracking_interface.h"
30#include <string>
31
32/** \addtogroup Tracking
33 * \{ */
34/** \addtogroup Tracking_adapters
35 * \{ */
36
37
39
40/*!
41 * \brief This class implements a code DLL + carrier PLL tracking loop
42 */
43class GalileoE1TcpConnectorTracking : public TrackingInterface
44{
45public:
46 GalileoE1TcpConnectorTracking(
47 const ConfigurationInterface* configuration,
48 const std::string& role,
49 unsigned int in_streams,
50 unsigned int out_streams);
51
52 ~GalileoE1TcpConnectorTracking() = default;
53
54 inline std::string role() override
55 {
56 return role_;
57 }
58
59 //! Returns "Galileo_E1_TCP_CONNECTOR_Tracking"
60 inline std::string implementation() override
61 {
62 return "Galileo_E1_TCP_CONNECTOR_Tracking";
63 }
64
65 inline size_t item_size() override
66 {
67 return item_size_;
68 }
69
70 void connect(gr::top_block_sptr top_block) override;
71 void disconnect(gr::top_block_sptr top_block) override;
72 gr::basic_block_sptr get_left_block() override;
73 gr::basic_block_sptr get_right_block() override;
74
75 /*!
76 * \brief Set tracking channel unique ID
77 */
78 void set_channel(unsigned int channel) override;
79
80 /*!
81 * \brief Set acquisition/tracking common Gnss_Synchro object pointer
82 * to efficiently exchange synchronization data between acquisition and
83 * tracking blocks
84 */
85 void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
86
87 void start_tracking() override;
88 /*!
89 * \brief Stop running tracking
90 */
91 void stop_tracking() override;
92
93private:
94 galileo_e1_tcp_connector_tracking_cc_sptr tracking_sptr_;
95 std::string role_;
96 size_t item_size_;
97 unsigned int channel_;
98 unsigned int in_streams_;
99 unsigned int out_streams_;
100};
101
102
103/** \} */
104/** \} */
105#endif // GNSS_SDR_GALILEO_E1_TCP_CONNECTOR_TRACKING_H
This abstract class represents an interface to configuration parameters.
void set_channel(unsigned int channel) override
Set tracking channel unique ID.
std::string implementation() override
Returns "Galileo_E1_TCP_CONNECTOR_Tracking".
void set_gnss_synchro(Gnss_Synchro *p_gnss_synchro) override
Set acquisition/tracking common Gnss_Synchro object pointer to efficiently exchange synchronization d...
void stop_tracking() override
Stop running tracking.
This is the class that contains the information that is shared by the processing blocks.
This abstract class represents an interface to a tracking block.
Interface of a TCP connector block based on code DLL + carrier PLL VEML (Very Early Minus Late) track...
This class represents an interface to a tracking block.