GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
GPS_L2C.h
Go to the documentation of this file.
1 /*!
2  * \file GPS_L2C.h
3  * \brief Defines system parameters for GPS L2C signal
4  * \author Javier Arribas, 2015. jarribas(at)cttc.es
5  *
6  * -----------------------------------------------------------------------------
7  *
8  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
9  * This file is part of GNSS-SDR.
10  *
11  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
12  * SPDX-License-Identifier: GPL-3.0-or-later
13  *
14  * -----------------------------------------------------------------------------
15  */
16 
17 
18 #ifndef GNSS_SDR_GPS_L2C_H
19 #define GNSS_SDR_GPS_L2C_H
20 
21 
22 #include "GPS_CNAV.h"
23 #include "gnss_frequencies.h"
24 #include <cstdint>
25 #include <utility> // std::pair
26 #include <vector>
27 
28 /** \addtogroup Core
29  * \{ */
30 /** \addtogroup System_Parameters
31  * \{ */
32 
33 
34 // carrier and code frequencies
35 constexpr double GPS_L2_FREQ_HZ = FREQ2; //!< L2 [Hz]
36 constexpr double GPS_L2_L_PERIOD_S = 1.5; //!< GPS L2 L code period [seconds]
37 constexpr double GPS_L2_M_CODE_RATE_CPS = 0.5115e6; //!< GPS L2 M code rate [chips/s]
38 constexpr double GPS_L2_M_PERIOD_S = 0.02; //!< GPS L2 M code period [seconds]
39 constexpr double GPS_L2_L_CODE_RATE_CPS = 0.5115e6; //!< GPS L2 L code rate [chips/s]
40 constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS = 10230; //!< GPS L2 M code length [chips]
41 constexpr int32_t GPS_L2_L_CODE_LENGTH_CHIPS = 767250; //!< GPS L2 L code length [chips]
42 constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS = 300; //!< GPS L2 CNAV page length, including preamble and CRC [bits]
43 constexpr int32_t GPS_L2_SYMBOLS_PER_BIT = 2;
44 constexpr int32_t GPS_L2_SAMPLES_PER_SYMBOL = 1;
45 constexpr int32_t GPS_L2_CNAV_DATA_PAGE_SYMBOLS = 600;
46 constexpr int32_t GPS_L2_CNAV_DATA_PAGE_DURATION_S = 12;
47 
48 constexpr int32_t GPS_L2C_HISTORY_DEEP = 5;
49 
50 // optimum parameters
51 constexpr uint32_t GPS_L2C_OPT_ACQ_FS_SPS = 2000000; //!< Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate
52 
53 constexpr int32_t GPS_L2C_M_INIT_REG[115] =
54  {0742417664, 0756014035, 0002747144, 0066265724, // 1:4
55  0601403471, 0703232733, 0124510070, 0617316361, // 5:8
56  0047541621, 0733031046, 0713512145, 0024437606,
57  0021264003, 0230655351, 0001314400, 0222021506,
58  0540264026, 0205521705, 0064022144, 0120161274,
59  0044023533, 0724744327, 0045743577, 0741201660,
60  0700274134, 0010247261, 0713433445, 0737324162,
61  0311627434, 0710452007, 0722462133, 0050172213,
62  0500653703, 0755077436, 0136717361, 0756675453,
63  0435506112, 0771353753, 0226107701, 0022025110,
64  0402466344, 0752566114, 0702011164, 0041216771,
65  0047457275, 0266333164, 0713167356, 0060546335,
66  0355173035, 0617201036, 0157465571, 0767360553,
67  0023127030, 0431343777, 0747317317, 0045706125,
68  0002744276, 0060036467, 0217744147, 0603340174, // 57:60
69  0326616775, 0063240065, 0111460621, // 61:63
70  0604055104, 0157065232, 0013305707, 0603552017, // 159:162
71  0230461355, 0603653437, 0652346475, 0743107103,
72  0401521277, 0167335110, 0014013575, 0362051132,
73  0617753265, 0216363634, 0755561123, 0365304033,
74  0625025543, 0054420334, 0415473671, 0662364360,
75  0373446602, 0417564100, 0000526452, 0226631300,
76  0113752074, 0706134401, 0041352546, 0664630154,
77  0276524255, 0714720530, 0714051771, 0044526647,
78  0207164322, 0262120161, 0204244652, 0202133131,
79  0714351204, 0657127260, 0130567507, 0670517677,
80  0607275514, 0045413633, 0212645405, 0613700455,
81  0706202440, 0705056276, 0020373522, 0746013617,
82  0132720621, 0434015513, 0566721727, 0140633660};
83 
84 
85 /** \} */
86 /** \} */
87 #endif // GNSS_SDR_GPS_L2C_H
Defines parameters for GPS CNAV.
constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS
GPS L2 CNAV page length, including preamble and CRC [bits].
Definition: GPS_L2C.h:42
constexpr int32_t GPS_L2_L_CODE_LENGTH_CHIPS
GPS L2 L code length [chips].
Definition: GPS_L2C.h:41
constexpr double GPS_L2_FREQ_HZ
L2 [Hz].
Definition: GPS_L2C.h:35
constexpr double GPS_L2_L_PERIOD_S
GPS L2 L code period [seconds].
Definition: GPS_L2C.h:36
constexpr double FREQ2
L2 frequency (Hz)
GNSS Frequencies.
constexpr uint32_t GPS_L2C_OPT_ACQ_FS_SPS
Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate...
Definition: GPS_L2C.h:51
constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS
GPS L2 M code length [chips].
Definition: GPS_L2C.h:40
constexpr double GPS_L2_M_PERIOD_S
GPS L2 M code period [seconds].
Definition: GPS_L2C.h:38
constexpr double GPS_L2_L_CODE_RATE_CPS
GPS L2 L code rate [chips/s].
Definition: GPS_L2C.h:39
constexpr double GPS_L2_M_CODE_RATE_CPS
GPS L2 M code rate [chips/s].
Definition: GPS_L2C.h:37