GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
gps_l2c_signal_replica.h
Go to the documentation of this file.
1 /*!
2  * \file gps_l2c_signal_replica.h
3  * \brief This file implements signal generators for GPS L2C signals
4  * \author Javier Arribas, 2015. jarribas(at)cttc.es
5  *
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10  * This file is part of GNSS-SDR.
11  *
12  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13  * SPDX-License-Identifier: GPL-3.0-or-later
14  *
15  * -----------------------------------------------------------------------------
16  */
17 
18 #ifndef GNSS_SDR_GPS_L2C_SIGNAL_REPLICA_H
19 #define GNSS_SDR_GPS_L2C_SIGNAL_REPLICA_H
20 
21 #include <complex>
22 #include <cstdint>
23 #if HAS_STD_SPAN
24 #include <span>
25 namespace own = std;
26 #else
27 #include <gsl-lite/gsl-lite.hpp>
28 namespace own = gsl_lite;
29 #endif
30 
31 /** \addtogroup Algorithms_Library
32  * \{ */
33 /** \addtogroup Algorithm_libs algorithms_libs
34  * \{ */
35 
36 
37 //! Generates complex GPS L2C M code for the desired SV ID
38 void gps_l2c_m_code_gen_complex(own::span<std::complex<float>> dest, uint32_t prn);
39 
40 //! Generates float GPS L2C M code for the desired SV ID
41 void gps_l2c_m_code_gen_float(own::span<float> dest, uint32_t prn);
42 
43 //! Generates float GPS L2C M code with double chip rate and L component zeroed for the desired SV ID
44 void gps_l2c_m_code_gen_float_cl_zeroed(own::span<float> dest, uint32_t prn);
45 
46 
47 //! Generates complex GPS L2C M code for the desired SV ID, and sampled to specific sampling frequency
48 void gps_l2c_m_code_gen_complex_sampled(own::span<std::complex<float>> dest, uint32_t prn, int32_t sampling_freq);
49 
50 //! Generates complex GPS L2C M code for the desired SV ID, and sampled to specific sampling frequency, optionally zeroing CL slots
51 void gps_l2c_m_code_gen_complex_sampled(own::span<std::complex<float>> dest, uint32_t prn, int32_t sampling_freq, bool cl_zeroed);
52 
53 /** \} */
54 /** \} */
55 #endif // GNSS_SDR_GPS_L2C_SIGNAL_REPLICA_H
void gps_l2c_m_code_gen_float(own::span< float > dest, uint32_t prn)
Generates float GPS L2C M code for the desired SV ID.
STL namespace.
void gps_l2c_m_code_gen_complex_sampled(own::span< std::complex< float >> dest, uint32_t prn, int32_t sampling_freq)
Generates complex GPS L2C M code for the desired SV ID, and sampled to specific sampling frequency...
void gps_l2c_m_code_gen_complex(own::span< std::complex< float >> dest, uint32_t prn)
Generates complex GPS L2C M code for the desired SV ID.
void gps_l2c_m_code_gen_float_cl_zeroed(own::span< float > dest, uint32_t prn)
Generates float GPS L2C M code with double chip rate and L component zeroed for the desired SV ID...