GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
acq_conf.h
Go to the documentation of this file.
1/*!
2 * \file acq_conf.h
3 * \brief Class that contains all the configuration parameters for generic
4 * acquisition block based on the PCPS algorithm.
5 * \author Carles Fernandez, 2018. cfernandez(at)cttc.es
6 *
7 * -----------------------------------------------------------------------------
8 *
9 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10 * This file is part of GNSS-SDR.
11 *
12 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13 * SPDX-License-Identifier: GPL-3.0-or-later
14 *
15 * -----------------------------------------------------------------------------
16 */
17
18#ifndef GNSS_SDR_ACQ_CONF_H
19#define GNSS_SDR_ACQ_CONF_H
20
22#include <gnuradio/gr_complex.h>
23#include <cstdint>
24#include <string>
25
26/** \addtogroup Acquisition
27 * \{ */
28/** \addtogroup acquisition_libs acquisition_libs
29 * Library with utilities for GNSS signal acquisition
30 * \{ */
31
32
33class Acq_Conf
34{
35public:
36 Acq_Conf() = default;
37
38 void SetFromConfiguration(const ConfigurationInterface *configuration, const std::string &role, double chip_rate, double opt_freq);
39
40 /* PCPS Acquisition configuration */
41 std::string item_type{"gr_complex"};
42 std::string dump_filename;
43
44 int64_t fs_in{4000000LL};
45 int64_t resampled_fs{0LL};
46
47 size_t it_size{sizeof(gr_complex)};
48
49 float samples_per_ms{0.0};
50 float doppler_step2{125.0};
51 float threshold{0.0};
52 float pfa{0.0};
53 float pfa2{0.0};
54 float samples_per_code{0.0};
55 float resampler_ratio{1.0};
56
57 uint32_t sampled_ms{1U};
58 uint32_t ms_per_code{1U};
59 uint32_t samples_per_chip{2U};
60 uint32_t chips_per_second{1023000U};
61 uint32_t max_dwells{1U};
62 uint32_t num_doppler_bins_step2{4U};
63 uint32_t resampler_latency_samples{0U};
64 uint32_t dump_channel{0U};
65 int32_t doppler_max{5000};
66 int32_t doppler_min{-5000};
67 int32_t doppler_step{500};
68
69 bool bit_transition_flag{false};
70 bool use_CFAR_algorithm_flag{true};
71 bool dump{false};
72 bool blocking{true};
73 bool blocking_on_standby{false}; // enable it only for unit testing to avoid sample consume on idle status
74 bool make_2_steps{false};
75 bool use_automatic_resampler{false};
76 bool enable_monitor_output{false};
77
78 // Not part of the configuration interface
79 uint32_t num_codes{0};
80 uint32_t code_length{0};
81 uint32_t vector_length{0};
82
83private:
84 void SetDerivedParams();
85
86 void ConfigureAutomaticResampler(double opt_freq);
87};
88
89
90/** \} */
91/** \} */
92#endif // GNSS_SDR_ACQ_CONF_H
This abstract class represents an interface to configuration parameters.
This class represents an interface to configuration parameters.