GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
beidou_b1i_signal_replica.h
Go to the documentation of this file.
1 /*!
2  * \file beidou_b1i_signal_replica.h
3  * \brief This file implements various functions for BeiDou B1I signal replica
4  * generation
5  * \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.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_BEIDOU_B1I_SIGNAL_REPLICA_H
20 #define GNSS_SDR_BEIDOU_B1I_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 Algorithms Common Library
33  * Common utilities for the GNSS receiver.
34  * \{ */
35 /** \addtogroup Algorithm_libs algorithms_libs
36  * Common utilities for GNSS algorithms.
37  * \{ */
38 
39 
40 //! Generates int32_t GPS L1 C/A code for the desired SV ID and code shift
41 void beidou_b1i_code_gen_int(own::span<int32_t> dest, int32_t prn, uint32_t chip_shift);
42 
43 //! Generates float GPS L1 C/A code for the desired SV ID and code shift
44 void beidou_b1i_code_gen_float(own::span<float> dest, int32_t prn, uint32_t chip_shift);
45 
46 //! Generates complex GPS L1 C/A code for the desired SV ID and code shift
47 void beidou_b1i_code_gen_complex(own::span<std::complex<float>> dest, int32_t prn, uint32_t chip_shift);
48 
49 //! Generates complex GPS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
50 void beidou_b1i_code_gen_complex_sampled(own::span<std::complex<float>> dest, uint32_t prn, int32_t sampling_freq, uint32_t chip_shift);
51 
52 
53 /** \} */
54 /** \} */
55 #endif // GNSS_SDR_BEIDOU_B1I_SIGNAL_REPLICA_H
void beidou_b1i_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.
STL namespace.
void beidou_b1i_code_gen_int(own::span< int32_t > dest, int32_t prn, uint32_t chip_shift)
Generates int32_t GPS L1 C/A code for the desired SV ID and code shift.
void beidou_b1i_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...
void beidou_b1i_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.