GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
galileo_e1_signal_replica.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_e1_signal_replica.h
3  * \brief This library implements various functions for Galileo E1 signal
4  * replica generation
5  * \author Luis Esteve, 2012. luis(at)epsilon-formacion.com
6  *
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_GALILEO_E1_SIGNAL_REPLICA_H
20 #define GNSS_SDR_GALILEO_E1_SIGNAL_REPLICA_H
21 
22 #include <array>
23 #include <complex>
24 #include <cstdint>
25 #if HAS_STD_SPAN
26 #include <span>
27 namespace own = std;
28 #else
29 #include <gsl/gsl-lite.hpp>
30 namespace own = gsl;
31 #endif
32 
33 /** \addtogroup Algorithms_Library
34  * \{ */
35 /** \addtogroup Algorithm_libs algorithms_libs
36  * \{ */
37 
38 
39 /*!
40  * \brief This function generates Galileo E1 code (can select E1B or E1C sinboc).
41  *
42  */
43 void galileo_e1_code_gen_sinboc11_float(own::span<float> dest, const std::array<char, 3>& signal_id, uint32_t prn);
44 
45 /*!
46  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
47  * and the sample frequency sampling_freq).
48  *
49  */
50 void galileo_e1_code_gen_float_sampled(own::span<float> dest, const std::array<char, 3>& signal_id,
51  bool cboc, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift,
52  bool secondary_flag);
53 
54 /*!
55  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
56  * and the sample frequency sampling_freq).
57  *
58  */
59 void galileo_e1_code_gen_float_sampled(own::span<float> dest, const std::array<char, 3>& signal_id,
60  bool cboc, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift);
61 
62 /*!
63  * \brief This function generates Galileo E1 code (can select E1B or E1C, cboc or sinboc
64  * and the sample frequency sampling_freq).
65  *
66  */
67 void galileo_e1_code_gen_complex_sampled(own::span<std::complex<float>> dest, const std::array<char, 3>& signal_id,
68  bool cboc, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift,
69  bool secondary_flag);
70 
71 /*!
72  * \brief galileo_e1_code_gen_complex_sampled without secondary_flag for backward compatibility.
73  */
74 void galileo_e1_code_gen_complex_sampled(own::span<std::complex<float>> dest, const std::array<char, 3>& signal_id,
75  bool cboc, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift);
76 
77 
78 /** \} */
79 /** \} */
80 #endif // GNSS_SDR_GALILEO_E1_SIGNAL_REPLICA_H
STL namespace.
void galileo_e1_code_gen_float_sampled(own::span< float > dest, const std::array< char, 3 > &signal_id, bool cboc, uint32_t prn, int32_t sampling_freq, 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_sinboc11_float(own::span< float > dest, const std::array< char, 3 > &signal_id, uint32_t prn)
This function generates Galileo E1 code (can select E1B or E1C sinboc).
void galileo_e1_code_gen_complex_sampled(own::span< std::complex< float >> dest, const std::array< char, 3 > &signal_id, bool cboc, uint32_t prn, int32_t sampling_freq, 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...