GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
gps_sdr_signal_replica.h
Go to the documentation of this file.
1 /*!
2  * \file gps_sdr_signal_replica.h
3  * \brief This file implements functions for GPS L1 C/A signal replica
4  * generation
5  * \author Javier Arribas, 2011. jarribas(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_GPS_SDR_SIGNAL_REPLICA_H
20 #define GNSS_SDR_GPS_SDR_SIGNAL_REPLICA_H
21 
22 #include <complex>
23 #include <cstdint>
24 #if HAS_STD_SPAN
25 #include <span>
26 namespace own = std;
27 #else
28 #include <gsl/gsl-lite.hpp>
29 namespace own = gsl;
30 #endif
31 
32 /** \addtogroup Algorithms_Library
33  * \{ */
34 /** \addtogroup Algorithm_libs algorithms_libs
35  * \{ */
36 
37 
38 //! Generates int GPS L1 C/A code for the desired SV ID and code shift
39 void gps_l1_ca_code_gen_int(own::span<int32_t> dest, int32_t prn, uint32_t chip_shift);
40 
41 //! Generates float GPS L1 C/A code for the desired SV ID and code shift
42 void gps_l1_ca_code_gen_float(own::span<float> dest, int32_t prn, uint32_t chip_shift);
43 
44 //! Generates complex GPS L1 C/A code for the desired SV ID and code shift
45 void gps_l1_ca_code_gen_complex(own::span<std::complex<float>> dest, int32_t prn, uint32_t chip_shift);
46 
47 //! Generates complex GPS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
48 void gps_l1_ca_code_gen_complex_sampled(own::span<std::complex<float>> dest, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift);
49 
50 
51 /** \} */
52 /** \} */
53 #endif // GNSS_SDR_GPS_SDR_SIGNAL_REPLICA_H
void gps_l1_ca_code_gen_float(own::span< float > dest, int32_t prn, uint32_t chip_shift)
Generates float GPS L1 C/A code for the desired SV ID and code shift.
void gps_l1_ca_code_gen_int(own::span< int32_t > dest, int32_t prn, uint32_t chip_shift)
Generates int GPS L1 C/A code for the desired SV ID and code shift.
STL namespace.
void gps_l1_ca_code_gen_complex(own::span< std::complex< float >> dest, int32_t prn, uint32_t chip_shift)
Generates complex GPS L1 C/A code for the desired SV ID and code shift.
void gps_l1_ca_code_gen_complex_sampled(own::span< std::complex< float >> dest, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift)
Generates complex GPS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampl...