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