GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
dll_pll_conf.h
Go to the documentation of this file.
1/*!
2 * \file dll_pll_conf.h
3 * \brief Class that contains all the configuration parameters for generic tracking block based on a DLL and a PLL.
4 * \author Javier Arribas, 2018. jarribas(at)cttc.es
5 *
6 * Class that contains all the configuration parameters for generic tracking block based on a DLL and a PLL.
7 *
8 * -----------------------------------------------------------------------------
9 *
10 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
11 * This file is part of GNSS-SDR.
12 *
13 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
14 * SPDX-License-Identifier: GPL-3.0-or-later
15 *
16 * -----------------------------------------------------------------------------
17 */
18
19#ifndef GNSS_SDR_DLL_PLL_CONF_H
20#define GNSS_SDR_DLL_PLL_CONF_H
21
23#include <cstdint>
24#include <string>
25
26/** \addtogroup Tracking
27 * \{ */
28/** \addtogroup Tracking_libs
29 * \{ */
30
31
32class Dll_Pll_Conf
33{
34public:
35 Dll_Pll_Conf();
36 void SetFromConfiguration(const ConfigurationInterface *configuration, const std::string &role);
37
38 /* DLL/PLL tracking configuration */
39 std::string item_type{"gr_complex"};
40 std::string dump_filename{"./dll_pll_dump.dat"};
41 double fs_in{2000000.0};
42 double carrier_lock_th{0.0};
43 double bs_dominance_ratio{0.6};
44 float pll_pull_in_bw_hz{50.0};
45 float dll_pull_in_bw_hz{3.0};
46 float fll_bw_hz{35.0};
47 float pll_bw_hz{35.0};
48 float dll_bw_hz{2.0};
49 float pll_bw_narrow_hz{5.0};
50 float dll_bw_narrow_hz{0.75};
51 float early_late_space_chips{0.25};
52 float very_early_late_space_chips{0.5};
53 float early_late_space_narrow_chips{0.15};
54 float very_early_late_space_narrow_chips{0.5};
55 float slope{1.0};
56 float spc{0.5};
57 float y_intercept{1.0};
58 float cn0_smoother_alpha{0.002};
59 float carrier_lock_test_smoother_alpha{0.002};
60 float bs_min_prompt_mag{0.0};
61 uint32_t pull_in_time_s{5U};
62 uint32_t bit_synchronization_time_limit_s{20U};
63 uint32_t vector_length{0U};
64 uint32_t smoother_length{10U};
65 int32_t fll_filter_order{1};
66 int32_t pll_filter_order{3};
67 int32_t dll_filter_order{2};
68 int32_t extend_correlation_symbols{1};
69 int32_t cn0_samples{0};
70 int32_t cn0_smoother_samples{200};
71 int32_t carrier_lock_test_smoother_samples{25};
72 int32_t cn0_min{0};
73 int32_t max_code_lock_fail{0};
74 int32_t max_carrier_lock_fail{0};
75 int32_t bs_stable_best_required{3};
76 int32_t bs_min_events_for_lock{10};
77 char signal[3]{};
78 char system{'G'};
79 bool enable_fll_pull_in{false};
80 bool enable_fll_steady_state{false};
81 bool track_pilot{true};
82 bool enable_doppler_correction{false};
83 bool carrier_aiding{true};
84 bool high_dyn{false};
85 bool dump{false};
86 bool dump_mat{true};
87 bool tow_to_trk{false};
88 bool bs_use_phase_dot_detector{true};
89};
90
91
92/** \} */
93/** \} */
94#endif // GNSS_SDR_DLL_PLL_CONF_H
This abstract class represents an interface to configuration parameters.
This class represents an interface to configuration parameters.