GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
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 
35 {
36 public:
38  const std::string& role,
39  unsigned int in_streams,
40  unsigned int out_streams);
41 
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 
57 private:
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 class adapts a PCPS acquisition block to an AcquisitionInterface.
std::string implementation() override
Returns "Galileo_E5a_Noncoherent_IQ_Acquisition_CAF".
This abstract class represents an interface to configuration parameters.
void set_local_code() override
Sets local Galileo E5a code for PCPS acquisition algorithm.