GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_e5_signal_replica.h
Go to the documentation of this file.
1/*!
2 * \file galileo_e5_signal_replica.h
3 * \brief This library implements various functions for Galileo E5 signal
4 * replica generation
5 * \author Marc Sales, 2014. marcsales92(at)gmail.com
6 * \author Piyush Gupta, 2020. piyush04111999@gmail.com
7 * \note Code added as part of GSoC 2020 Program.
8 *
9 *
10 * -----------------------------------------------------------------------------
11 *
12 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
13 * This file is part of GNSS-SDR.
14 *
15 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
16 * SPDX-License-Identifier: GPL-3.0-or-later
17 *
18 * -----------------------------------------------------------------------------
19 */
20
21#ifndef GNSS_SDR_GALILEO_E5_SIGNAL_REPLICA_H
22#define GNSS_SDR_GALILEO_E5_SIGNAL_REPLICA_H
23
24#include <array>
25#include <complex>
26#include <cstdint>
27#if HAS_STD_SPAN
28#include <span>
29namespace own = std;
30#else
31#include <gsl-lite/gsl-lite.hpp>
32namespace own = gsl_lite;
33#endif
34
35/** \addtogroup Algorithms_Library
36 * \{ */
37/** \addtogroup Algorithm_libs algorithms_libs
38 * \{ */
39
40
41/*!
42 * \brief Generates Galileo E5a code at 1 sample/chip
43 */
44void galileo_e5_a_code_gen_complex_primary(own::span<std::complex<float>> dest,
45 int32_t prn,
46 const std::array<char, 3>& signal_id);
47
48
49/*!
50 * \brief Generates Galileo E5a complex code, shifted to the desired chip and
51 * sampled at a frequency sampling_freq
52 */
53void galileo_e5_a_code_gen_complex_sampled(own::span<std::complex<float>> dest,
54 uint32_t prn,
55 const std::array<char, 3>& signal_id,
56 int32_t sampling_freq,
57 uint32_t chip_shift);
58
59
60/*!
61 * \brief Generates Galileo E5b code at 1 sample/chip
62 */
63void galileo_e5_b_code_gen_complex_primary(own::span<std::complex<float>> dest,
64 int32_t prn,
65 const std::array<char, 3>& signal_id);
66
67
68/*!
69 * \brief Generates Galileo E5b complex code, shifted to the desired chip and
70 * sampled at a frequency sampling_freq
71 */
72void galileo_e5_b_code_gen_complex_sampled(own::span<std::complex<float>> dest,
73 uint32_t prn,
74 const std::array<char, 3>& signal_id,
75 int32_t sampling_freq,
76 uint32_t chip_shift);
77
78
79/** \} */
80/** \} */
81#endif // GNSS_SDR_GALILEO_E5_SIGNAL_REPLICA_H
void galileo_e5_a_code_gen_complex_primary(own::span< std::complex< float > > dest, int32_t prn, const std::array< char, 3 > &signal_id)
Generates Galileo E5a code at 1 sample/chip.
void galileo_e5_a_code_gen_complex_sampled(own::span< std::complex< float > > dest, uint32_t prn, const std::array< char, 3 > &signal_id, int32_t sampling_freq, uint32_t chip_shift)
Generates Galileo E5a complex code, shifted to the desired chip and sampled at a frequency sampling_f...
void galileo_e5_b_code_gen_complex_sampled(own::span< std::complex< float > > dest, uint32_t prn, const std::array< char, 3 > &signal_id, int32_t sampling_freq, uint32_t chip_shift)
Generates Galileo E5b complex code, shifted to the desired chip and sampled at a frequency sampling_f...
void galileo_e5_b_code_gen_complex_primary(own::span< std::complex< float > > dest, int32_t prn, const std::array< char, 3 > &signal_id)
Generates Galileo E5b code at 1 sample/chip.
STL namespace.