GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_e5a_noncoherent_iq_acquisition_caf.h
Go to the documentation of this file.
1/*!
2 * \file galileo_e5a_noncoherent_iq_acquisition_caf.h
3 * \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
4 * Galileo E5a data and pilot Signals
5 * \author Marc Sales, 2014. marcsales92(at)gmail.com
6 * \based on work from:
7 * <ul>
8 * <li> Javier Arribas, 2011. jarribas(at)cttc.es
9 * <li> Luis Esteve, 2012. luis(at)epsilon-formacion.com
10 * <li> Marc Molina, 2013. marc.molina.pena@gmail.com
11 * </ul>
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_GALILEO_E5A_NONCOHERENT_IQ_ACQUISITION_CAF_H
25#define GNSS_SDR_GALILEO_E5A_NONCOHERENT_IQ_ACQUISITION_CAF_H
26
27#include "base_pcps_acquisition_custom.h"
28
29/** \addtogroup Acquisition
30 * \{ */
31/** \addtogroup Acq_adapters
32 * \{ */
33
34class GalileoE5aNoncoherentIQAcquisitionCaf : public BasePcpsAcquisitionCustom
35{
36public:
37 GalileoE5aNoncoherentIQAcquisitionCaf(const ConfigurationInterface* configuration,
38 const std::string& role,
39 unsigned int in_streams,
40 unsigned int out_streams);
41
42 ~GalileoE5aNoncoherentIQAcquisitionCaf() = default;
43
44 /*!
45 * \brief Returns "Galileo_E5a_Noncoherent_IQ_Acquisition_CAF"
46 */
47 inline std::string implementation() override
48 {
49 return "Galileo_E5a_Noncoherent_IQ_Acquisition_CAF";
50 }
51
52 /*!
53 * \brief Sets local Galileo E5a code for PCPS acquisition algorithm.
54 */
55 void set_local_code() override;
56
57private:
58 // We don't implement this function since we override set_local_code
59 void code_gen_complex_sampled(own::span<std::complex<float>> /*dest*/, uint32_t /*prn*/, int32_t /*sampling_freq*/) override {}
60
61 const int zero_padding_;
62 const int caf_window_hz_;
63
64 std::vector<std::complex<float>> codeQ_;
65};
66
67
68/** \} */
69/** \} */
70#endif // GNSS_SDR_GALILEO_E5A_NONCOHERENT_IQ_ACQUISITION_CAF_H
This abstract class represents an interface to configuration parameters.
void set_local_code() override
Sets local Galileo E5a code for PCPS acquisition algorithm.
std::string implementation() override
Returns "Galileo_E5a_Noncoherent_IQ_Acquisition_CAF".