GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
GPS_L5.h
Go to the documentation of this file.
1/*!
2 * \file GPS_L5.h
3 * \brief Defines system parameters for GPS L5 signal
4 * \author Javier Arribas, 2017. 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_L5_H
19#define GNSS_SDR_GPS_L5_H
20
21#include "GPS_CNAV.h"
22#include "gnss_frequencies.h"
23#include <cstdint>
24
25/** \addtogroup Core
26 * \{ */
27/** \addtogroup System_Parameters
28 * \{ */
29
30
31// carrier and code frequencies
32constexpr double GPS_L5_FREQ_HZ = FREQ5; //!< L5 [Hz]
33constexpr double GPS_L5I_CODE_RATE_CPS = 10.23e6; //!< GPS L5I code rate [chips/s]
34constexpr double GPS_L5I_PERIOD_S = 0.001; //!< GPS L5I code period [seconds]
35constexpr double GPS_L5I_SYMBOL_PERIOD_S = 0.01; //!< GPS L5I symbol period [seconds]
36constexpr double GPS_L5Q_CODE_RATE_CPS = 10.23e6; //!< GPS L5Q code rate [chips/s]
37constexpr double GPS_L5Q_PERIOD_S = 0.001; //!< GPS L5Q code period [seconds]
38constexpr int32_t GPS_L5Q_CODE_LENGTH_CHIPS = 10230; //!< GPS L5Q code length [chips]
39constexpr int32_t GPS_L5I_CODE_LENGTH_CHIPS = 10230; //!< GPS L5I code length [chips]
40constexpr int32_t GPS_L5I_PERIOD_MS = 1; //!< GPS L5I code period [ms]
41constexpr int32_t GPS_L5I_SYMBOL_PERIOD_MS = 10; //!< GPS L5I symbol period [ms]
42
43constexpr int32_t GPS_L5_HISTORY_DEEP = 5;
44
45// optimum parameters
46constexpr uint32_t GPS_L5_OPT_ACQ_FS_SPS = 10000000; //!< Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate
47
48constexpr int32_t GPS_L5I_INIT_REG[210] =
49 {266, 365, 804, 1138,
50 1509, 1559, 1756, 2084,
51 2170, 2303, 2527, 2687,
52 2930, 3471, 3940, 4132,
53 4332, 4924, 5343, 5443,
54 5641, 5816, 5898, 5918,
55 5955, 6243, 6345, 6477,
56 6518, 6875, 7168, 7187,
57 7329, 7577, 7720, 7777,
58 8057, 5358, 3550, 3412,
59 819,
60 4608, 3698, 962, 3001,
61 4441, 4937, 3717, 4730,
62 7291, 2279, 7613, 5723,
63 7030, 1475, 2593, 2904,
64 2056, 2757, 3756, 6205,
65 5053, 6437,
66 7789, 2311, 7432, 5155,
67 1593, 5841, 5014, 1545,
68 3016, 4875, 2119, 229,
69 7634, 1406, 4506, 1819,
70 7580, 5446, 6053, 7958,
71 5267, 2956, 3544, 1277,
72 2996, 1758, 3360, 2718,
73 3754, 7440, 2781, 6756,
74 7314, 208, 5252, 696,
75 527, 1399, 5879, 6868,
76 217, 7681, 3788, 1337,
77 2424, 4243, 5686, 1955,
78 4791, 492, 1518, 6566,
79 5349, 506, 113, 1953,
80 2797, 934, 3023, 3632,
81 1330, 4909, 4867, 1183,
82 3990, 6217, 1224, 1733,
83 2319, 3928, 2380, 841,
84 5049, 7027, 1197, 7208,
85 8000, 152, 6762, 3745,
86 4723, 5502, 4796, 123,
87 8142, 5091, 7875, 330,
88 5272, 4912, 374, 2045,
89 6616, 6321, 7605, 2570,
90 2419, 1234, 1922, 4317,
91 5110, 825, 958, 1089,
92 7813, 6058, 7703, 6702,
93 1714, 6371, 2281, 1986,
94 6282, 3201, 3760, 1056,
95 6233, 1150, 2823, 6250,
96 645, 2401, 1639, 2946,
97 7091, 923, 7045, 6493,
98 1706, 5836, 926, 6086,
99 950, 5905, 3240, 6675,
100 3197, 1555, 3589, 4555,
101 5671, 6948, 4664, 2086,
102 5950, 5521, 1515};
103
104
105constexpr int32_t GPS_L5Q_INIT_REG[210] =
106 {
107 1701, 323, 5292, 2020,
108 5429, 7136, 1041, 5947,
109 4315, 148, 535, 1939,
110 5206, 5910, 3595, 5135,
111 6082, 6990, 3546, 1523,
112 4548, 4484, 1893, 3961,
113 7106, 5299, 4660, 276,
114 4389, 3783, 1591, 1601,
115 749, 1387, 1661, 3210,
116 708,
117 4226, 5604, 6375, 3056,
118 1772, 3662, 4401, 5218,
119 2838, 6913, 1685, 1194,
120 6963, 5001, 6694, 991,
121 7489, 2441, 639, 2097,
122 2498, 6470, 2399, 242,
123 3768, 1186,
124 5246, 4259, 5907, 3870,
125 3262, 7387, 3069, 2999,
126 7993, 7849, 4157, 5031,
127 5986, 4833, 5739, 7846,
128 898, 2022, 7446, 6404,
129 155, 7862, 7795, 6121,
130 4840, 6585, 429, 6020,
131 200, 1664, 1499, 7298,
132 1305, 7323, 7544, 4438,
133 2485, 3387, 7319, 1853,
134 5781, 1874, 7555, 2132,
135 6441, 6722, 1192, 2588,
136 2188, 297, 1540, 4138,
137 5231, 4789, 659, 871,
138 6837, 1393, 7383, 611,
139 4920, 5416, 1611, 2474,
140 118, 1382, 1092, 7950,
141 7223, 1769, 4721, 1252,
142 5147, 2165, 7897, 4054,
143 3498, 6571, 2858, 8126,
144 7017, 1901, 181, 1114,
145 5195, 7479, 4186, 3904,
146 7128, 1396, 4513, 5967,
147 2580, 2575, 7961, 2598,
148 4508, 2090, 3685, 7748,
149 684, 913, 5558, 2894,
150 5858, 6432, 3813, 3573,
151 7523, 5280, 3376, 7424,
152 2918, 5793, 1747, 7079,
153 2921, 2490, 4119, 3373,
154 977, 681, 4273, 5419,
155 5626, 1266, 5804, 2414,
156 6444, 4757, 427, 5452,
157 5182, 6606, 6531, 4268,
158 3115, 6835, 862, 4856,
159 2765, 37, 1943, 7977,
160 2512, 4451, 4071};
161
162constexpr int32_t GPS_L5_CNAV_DATA_PAGE_BITS = 300; //!< GPS L5 CNAV page length, including preamble and CRC [bits]
163constexpr int32_t GPS_L5_SYMBOLS_PER_BIT = 2;
164constexpr int32_t GPS_L5_SAMPLES_PER_SYMBOL = 10;
165constexpr int32_t GPS_L5_CNAV_DATA_PAGE_SYMBOLS = 600;
166constexpr int32_t GPS_L5_CNAV_DATA_PAGE_DURATION_S = 6;
167constexpr int32_t GPS_L5I_NH_CODE_LENGTH = 10;
168constexpr int32_t GPS_L5I_NH_CODE[10] = {0, 0, 0, 0, 1, 1, 0, 1, 0, 1};
169constexpr int32_t GPS_L5Q_NH_CODE_LENGTH = 20;
170constexpr int32_t GPS_L5Q_NH_CODE[20] = {0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0};
171constexpr char GPS_L5I_NH_CODE_STR[11] = "0000110101";
172constexpr char GPS_L5Q_NH_CODE_STR[21] = "00000100110101001110";
173
174
175/** \} */
176/** \} */
177#endif // GNSS_SDR_GPS_L5_H
Defines parameters for GPS CNAV.
GNSS Frequencies.
constexpr double GPS_L5_FREQ_HZ
L5 [Hz].
Definition GPS_L5.h:32
constexpr int32_t GPS_L5I_PERIOD_MS
GPS L5I code period [ms].
Definition GPS_L5.h:40
constexpr int32_t GPS_L5I_CODE_LENGTH_CHIPS
GPS L5I code length [chips].
Definition GPS_L5.h:39
constexpr double GPS_L5Q_CODE_RATE_CPS
GPS L5Q code rate [chips/s].
Definition GPS_L5.h:36
constexpr double GPS_L5I_CODE_RATE_CPS
GPS L5I code rate [chips/s].
Definition GPS_L5.h:33
constexpr double FREQ5
L5/E5a frequency (Hz).
constexpr double GPS_L5I_PERIOD_S
GPS L5I code period [seconds].
Definition GPS_L5.h:34
constexpr int32_t GPS_L5I_SYMBOL_PERIOD_MS
GPS L5I symbol period [ms].
Definition GPS_L5.h:41
constexpr double GPS_L5I_SYMBOL_PERIOD_S
GPS L5I symbol period [seconds].
Definition GPS_L5.h:35
constexpr int32_t GPS_L5Q_CODE_LENGTH_CHIPS
GPS L5Q code length [chips].
Definition GPS_L5.h:38
constexpr uint32_t GPS_L5_OPT_ACQ_FS_SPS
Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.
Definition GPS_L5.h:46
constexpr int32_t GPS_L5_CNAV_DATA_PAGE_BITS
GPS L5 CNAV page length, including preamble and CRC [bits].
Definition GPS_L5.h:162
constexpr double GPS_L5Q_PERIOD_S
GPS L5Q code period [seconds].
Definition GPS_L5.h:37