GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
galileo_e1_signal_processing.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_e1_signal_processing.h
3  * \brief This library implements various functions for Galileo E1 signals
4  * \author Luis Esteve, 2012. luis(at)epsilon-formacion.com
5  *
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
10  *
11  * GNSS-SDR is a software defined Global Navigation
12  * Satellite Systems receiver
13  *
14  * This file is part of GNSS-SDR.
15  *
16  * SPDX-License-Identifier: GPL-3.0-or-later
17  *
18  * -----------------------------------------------------------------------------
19  */
20 
21 #ifndef GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H
22 #define GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H
23 
24 #include <array>
25 #include <complex>
26 #include <cstdint>
27 #if HAS_STD_SPAN
28 #include <span>
29 namespace own = std;
30 #else
31 #include <gsl/gsl>
32 namespace own = gsl;
33 #endif
34 
35 
36 /*!
37  * \brief This function generates Galileo E1 code (can select E1B or E1C sinboc).
38  *
39  */
40 void galileo_e1_code_gen_sinboc11_float(own::span<float> _dest, const std::array<char, 3>& _Signal, uint32_t _prn);
41 
42 /*!
43  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
44  * and the sample frequency _fs).
45  *
46  */
47 void galileo_e1_code_gen_float_sampled(own::span<float> _dest, const std::array<char, 3>& _Signal,
48  bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift,
49  bool _secondary_flag);
50 
51 /*!
52  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
53  * and the sample frequency _fs).
54  *
55  */
56 void galileo_e1_code_gen_float_sampled(own::span<float> _dest, const std::array<char, 3>& _Signal,
57  bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift);
58 
59 /*!
60  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
61  * and the sample frequency _fs).
62  *
63  */
64 void galileo_e1_code_gen_complex_sampled(own::span<std::complex<float>> _dest, const std::array<char, 3>& _Signal,
65  bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift,
66  bool _secondary_flag);
67 
68 /*!
69  * \brief galileo_e1_code_gen_complex_sampled without _secondary_flag for backward compatibility.
70  */
71 void galileo_e1_code_gen_complex_sampled(own::span<std::complex<float>> _dest, const std::array<char, 3>& _Signal,
72  bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift);
73 
74 #endif // GNSS_SDR_GALILEO_E1_SIGNAL_PROCESSING_H
void galileo_e1_code_gen_sinboc11_float(own::span< float > _dest, const std::array< char, 3 > &_Signal, uint32_t _prn)
This function generates Galileo E1 code (can select E1B or E1C sinboc).
STL namespace.
void galileo_e1_code_gen_float_sampled(own::span< float > _dest, const std::array< char, 3 > &_Signal, bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift, bool _secondary_flag)
This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc and the sample frequen...
void galileo_e1_code_gen_complex_sampled(own::span< std::complex< float >> _dest, const std::array< char, 3 > &_Signal, bool _cboc, uint32_t _prn, int32_t _fs, uint32_t _chip_shift, bool _secondary_flag)
This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc and the sample frequen...