GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
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
35constexpr double GPS_L2_FREQ_HZ = FREQ2; //!< L2 [Hz]
36constexpr double GPS_L2_L_PERIOD_S = 1.5; //!< GPS L2 L code period [seconds]
37constexpr double GPS_L2_M_CODE_RATE_CPS = 0.5115e6; //!< GPS L2 M code rate [chips/s]
38constexpr double GPS_L2_M_CODE_RATE_L_ZEROED_CPS = 1.023e6; //!< GPS L2 M code rate with L2 M Zeroed [chips/s]
39constexpr double GPS_L2_M_PERIOD_S = 0.02; //!< GPS L2 M code period [seconds]
40constexpr double GPS_L2_L_CODE_RATE_CPS = 0.5115e6; //!< GPS L2 L code rate [chips/s]
41constexpr uint32_t GPS_L2_M_CODE_PERIOD_MS = 20; //!< GPS L2 L code period [ms]
42constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS = 10230; //!< GPS L2 M code length [chips]
43constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS_L_ZEROED = 2 * GPS_L2_M_CODE_LENGTH_CHIPS; //!< GPS L2 M code length with L2 CL zeroed [chips]
44constexpr int32_t GPS_L2_L_CODE_LENGTH_CHIPS = 767250; //!< GPS L2 L code length [chips]
45constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS = 300; //!< GPS L2 CNAV page length, including preamble and CRC [bits]
46constexpr int32_t GPS_L2_SYMBOLS_PER_BIT = 2;
47constexpr int32_t GPS_L2_SAMPLES_PER_SYMBOL = 1;
48constexpr int32_t GPS_L2_CNAV_DATA_PAGE_SYMBOLS = 600;
49constexpr int32_t GPS_L2_CNAV_DATA_PAGE_DURATION_S = 12;
50
51constexpr int32_t GPS_L2C_HISTORY_DEEP = 5;
52
53// optimum parameters
54constexpr uint32_t GPS_L2C_OPT_ACQ_FS_SPS = 2000000; //!< Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate
55
56constexpr int32_t GPS_L2C_M_INIT_REG[115] =
57 {0742417664, 0756014035, 0002747144, 0066265724, // 1:4
58 0601403471, 0703232733, 0124510070, 0617316361, // 5:8
59 0047541621, 0733031046, 0713512145, 0024437606,
60 0021264003, 0230655351, 0001314400, 0222021506,
61 0540264026, 0205521705, 0064022144, 0120161274,
62 0044023533, 0724744327, 0045743577, 0741201660,
63 0700274134, 0010247261, 0713433445, 0737324162,
64 0311627434, 0710452007, 0722462133, 0050172213,
65 0500653703, 0755077436, 0136717361, 0756675453,
66 0435506112, 0771353753, 0226107701, 0022025110,
67 0402466344, 0752566114, 0702011164, 0041216771,
68 0047457275, 0266333164, 0713167356, 0060546335,
69 0355173035, 0617201036, 0157465571, 0767360553,
70 0023127030, 0431343777, 0747317317, 0045706125,
71 0002744276, 0060036467, 0217744147, 0603340174, // 57:60
72 0326616775, 0063240065, 0111460621, // 61:63
73 0604055104, 0157065232, 0013305707, 0603552017, // 159:162
74 0230461355, 0603653437, 0652346475, 0743107103,
75 0401521277, 0167335110, 0014013575, 0362051132,
76 0617753265, 0216363634, 0755561123, 0365304033,
77 0625025543, 0054420334, 0415473671, 0662364360,
78 0373446602, 0417564100, 0000526452, 0226631300,
79 0113752074, 0706134401, 0041352546, 0664630154,
80 0276524255, 0714720530, 0714051771, 0044526647,
81 0207164322, 0262120161, 0204244652, 0202133131,
82 0714351204, 0657127260, 0130567507, 0670517677,
83 0607275514, 0045413633, 0212645405, 0613700455,
84 0706202440, 0705056276, 0020373522, 0746013617,
85 0132720621, 0434015513, 0566721727, 0140633660};
86
87
88/** \} */
89/** \} */
90#endif // GNSS_SDR_GPS_L2C_H
Defines parameters for GPS CNAV.
GNSS Frequencies.
constexpr double GPS_L2_M_CODE_RATE_L_ZEROED_CPS
GPS L2 M code rate with L2 M Zeroed [chips/s].
Definition GPS_L2C.h:38
constexpr double GPS_L2_M_PERIOD_S
GPS L2 M code period [seconds].
Definition GPS_L2C.h:39
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:54
constexpr double GPS_L2_L_PERIOD_S
GPS L2 L code period [seconds].
Definition GPS_L2C.h:36
constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS
GPS L2 M code length [chips].
Definition GPS_L2C.h:42
constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS
GPS L2 CNAV page length, including preamble and CRC [bits].
Definition GPS_L2C.h:45
constexpr double GPS_L2_M_CODE_RATE_CPS
GPS L2 M code rate [chips/s].
Definition GPS_L2C.h:37
constexpr double GPS_L2_FREQ_HZ
L2 [Hz].
Definition GPS_L2C.h:35
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:44
constexpr double GPS_L2_L_CODE_RATE_CPS
GPS L2 L code rate [chips/s].
Definition GPS_L2C.h:40
constexpr uint32_t GPS_L2_M_CODE_PERIOD_MS
GPS L2 L code period [ms].
Definition GPS_L2C.h:41
constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS_L_ZEROED
GPS L2 M code length with L2 CL zeroed [chips].
Definition GPS_L2C.h:43