GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
galileo_e6_signal_replica.h
Go to the documentation of this file.
1/*!
2 * \file galileo_e6_signal_replica.h
3 * \brief This library implements various functions for Galileo E6 signal
4 * replica generation
5 * \author Carles Fernandez-Prades, 2020. cfernandez(at)cttc.es
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_E6_SIGNAL_REPLICA_H
20#define GNSS_SDR_GALILEO_E6_SIGNAL_REPLICA_H
21
22#include <array>
23#include <complex>
24#include <cstdint>
25#include <string>
26#if HAS_STD_SPAN
27#include <span>
28namespace own = std;
29#else
30#include <gsl-lite/gsl-lite.hpp>
31namespace own = gsl_lite;
32#endif
33
34/** \addtogroup Algorithms_Library
35 * \{ */
36/** \addtogroup Algorithm_libs algorithms_libs
37 * \{ */
38
39
40/*!
41 * \brief Generates Galileo E6B code at 1 sample/chip
42 */
43void galileo_e6_b_code_gen_complex_primary(own::span<std::complex<float>> dest,
44 int32_t prn);
45
46
47/*!
48 * \brief Generates Galileo E6B code at 1 sample/chip
49 */
50void galileo_e6_b_code_gen_float_primary(own::span<float> dest, int32_t prn);
51
52
53/*!
54 * \brief Generates Galileo E6B complex code, shifted to the desired chip and
55 * sampled at a frequency sampling_freq
56 */
57void galileo_e6_b_code_gen_complex_sampled(own::span<std::complex<float>> dest,
58 uint32_t prn,
59 int32_t sampling_freq,
60 uint32_t chip_shift);
61
62
63/*!
64 * \brief Generates Galileo E6C codes at 1 sample/chip
65 */
66void galileo_e6_c_code_gen_complex_primary(own::span<std::complex<float>> dest,
67 int32_t prn);
68
69
70/*!
71 * \brief Generates Galileo E6C codes at 1 sample/chip
72 */
73void galileo_e6_c_code_gen_float_primary(own::span<float> dest, int32_t prn);
74
75
76/*!
77 * \brief Generates Galileo E6C complex codes, shifted to the desired chip and
78 * sampled at a frequency sampling_freq
79 */
80void galileo_e6_c_code_gen_complex_sampled(own::span<std::complex<float>> dest,
81 uint32_t prn,
82 int32_t sampling_freq,
83 uint32_t chip_shift);
84
85
86/*!
87 * \brief Generates Galileo E6C secondary codes at 1 sample/chip
88 */
89void galileo_e6_c_secondary_code_gen_complex(own::span<std::complex<float>> dest,
90 int32_t prn);
91
92
93/*!
94 * \brief Generates Galileo E6C secondary codes at 1 sample/chip
95 */
96void galileo_e6_c_secondary_code_gen_float(own::span<float> dest,
97 int32_t prn);
98
99
100/*!
101 * \brief Generates a string with Galileo E6C secondary codes at 1 sample/chip
102 */
103std::string galileo_e6_c_secondary_code(int32_t prn);
104
105
106/** \} */
107/** \} */
108#endif // GNSS_SDR_GALILEO_E6_SIGNAL_REPLICA_H
void galileo_e6_c_code_gen_complex_primary(own::span< std::complex< float > > dest, int32_t prn)
Generates Galileo E6C codes at 1 sample/chip.
std::string galileo_e6_c_secondary_code(int32_t prn)
Generates a string with Galileo E6C secondary codes at 1 sample/chip.
void galileo_e6_c_code_gen_float_primary(own::span< float > dest, int32_t prn)
Generates Galileo E6C codes at 1 sample/chip.
void galileo_e6_c_secondary_code_gen_complex(own::span< std::complex< float > > dest, int32_t prn)
Generates Galileo E6C secondary codes at 1 sample/chip.
void galileo_e6_b_code_gen_complex_sampled(own::span< std::complex< float > > dest, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift)
Generates Galileo E6B complex code, shifted to the desired chip and sampled at a frequency sampling_f...
void galileo_e6_c_secondary_code_gen_float(own::span< float > dest, int32_t prn)
Generates Galileo E6C secondary codes at 1 sample/chip.
void galileo_e6_c_code_gen_complex_sampled(own::span< std::complex< float > > dest, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift)
Generates Galileo E6C complex codes, shifted to the desired chip and sampled at a frequency sampling_...
void galileo_e6_b_code_gen_complex_primary(own::span< std::complex< float > > dest, int32_t prn)
Generates Galileo E6B code at 1 sample/chip.
void galileo_e6_b_code_gen_float_primary(own::span< float > dest, int32_t prn)
Generates Galileo E6B code at 1 sample/chip.
STL namespace.