18 #ifndef GNSS_SDR_GALILEO_FNAV_H 19 #define GNSS_SDR_GALILEO_FNAV_H 32 const std::vector<std::pair<int32_t, int32_t>> FNAV_PAGE_TYPE_BIT({{1, 6}});
35 const std::vector<std::pair<int32_t, int32_t>> FNAV_SV_ID_PRN_1_BIT({{7, 6}});
36 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DNAV_1_BIT({{13, 10}});
37 const std::vector<std::pair<int32_t, int32_t>> FNAV_T0C_1_BIT({{23, 14}});
38 constexpr int32_t FNAV_T0C_1_LSB = 60;
39 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF0_1_BIT({{37, 31}});
40 constexpr
double FNAV_AF0_1_LSB =
TWO_N34;
41 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF1_1_BIT({{68, 21}});
42 constexpr
double FNAV_AF1_1_LSB =
TWO_N46;
43 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF2_1_BIT({{89, 6}});
44 constexpr
double FNAV_AF2_1_LSB =
TWO_N59;
45 const std::vector<std::pair<int32_t, int32_t>> FNAV_SISA_1_BIT({{95, 8}});
46 const std::vector<std::pair<int32_t, int32_t>> FNAV_AI0_1_BIT({{103, 11}});
47 constexpr
double FNAV_AI0_1_LSB =
TWO_N2;
48 const std::vector<std::pair<int32_t, int32_t>> FNAV_AI1_1_BIT({{114, 11}});
49 constexpr
double FNAV_AI1_1_LSB =
TWO_N8;
50 const std::vector<std::pair<int32_t, int32_t>> FNAV_AI2_1_BIT({{125, 14}});
51 constexpr
double FNAV_AI2_1_LSB =
TWO_N15;
52 const std::vector<std::pair<int32_t, int32_t>> FNAV_REGION1_1_BIT({{139, 1}});
53 const std::vector<std::pair<int32_t, int32_t>> FNAV_REGION2_1_BIT({{140, 1}});
54 const std::vector<std::pair<int32_t, int32_t>> FNAV_REGION3_1_BIT({{141, 1}});
55 const std::vector<std::pair<int32_t, int32_t>> FNAV_REGION4_1_BIT({{142, 1}});
56 const std::vector<std::pair<int32_t, int32_t>> FNAV_REGION5_1_BIT({{143, 1}});
57 const std::vector<std::pair<int32_t, int32_t>> FNAV_BGD_1_BIT({{144, 10}});
58 constexpr
double FNAV_BGD_1_LSB =
TWO_N32;
59 const std::vector<std::pair<int32_t, int32_t>> FNAV_E5AHS_1_BIT({{154, 2}});
60 const std::vector<std::pair<int32_t, int32_t>> FNAV_WN_1_BIT({{156, 12}});
61 const std::vector<std::pair<int32_t, int32_t>> FNAV_TOW_1_BIT({{168, 20}});
62 const std::vector<std::pair<int32_t, int32_t>> FNAV_E5ADVS_1_BIT({{188, 1}});
65 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DNAV_2_BIT({{7, 10}});
66 const std::vector<std::pair<int32_t, int32_t>> FNAV_M0_2_BIT({{17, 32}});
68 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGADOT_2_BIT({{49, 24}});
69 constexpr
double FNAV_OMEGADOT_2_LSB =
PI_TWO_N43;
70 const std::vector<std::pair<int32_t, int32_t>> FNAV_E_2_BIT({{73, 32}});
71 constexpr
double FNAV_E_2_LSB =
TWO_N33;
72 const std::vector<std::pair<int32_t, int32_t>> FNAV_A12_2_BIT({{105, 32}});
73 constexpr
double FNAV_A12_2_LSB =
TWO_N19;
74 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGA0_2_BIT({{137, 32}});
75 constexpr
double FNAV_OMEGA0_2_LSB =
PI_TWO_N31;
76 const std::vector<std::pair<int32_t, int32_t>> FNAV_IDOT_2_BIT({{169, 14}});
78 const std::vector<std::pair<int32_t, int32_t>> FNAV_WN_2_BIT({{183, 12}});
79 const std::vector<std::pair<int32_t, int32_t>> FNAV_TOW_2_BIT({{195, 20}});
82 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DNAV_3_BIT({{7, 10}});
83 const std::vector<std::pair<int32_t, int32_t>> FNAV_I0_3_BIT({{17, 32}});
85 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_3_BIT({{49, 32}});
87 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAN_3_BIT({{81, 16}});
88 constexpr
double FNAV_DELTAN_3_LSB =
PI_TWO_N43;
89 const std::vector<std::pair<int32_t, int32_t>> FNAV_CUC_3_BIT({{97, 16}});
90 constexpr
double FNAV_CUC_3_LSB =
TWO_N29;
91 const std::vector<std::pair<int32_t, int32_t>> FNAV_CUS_3_BIT({{113, 16}});
92 constexpr
double FNAV_CUS_3_LSB =
TWO_N29;
93 const std::vector<std::pair<int32_t, int32_t>> FNAV_CRC_3_BIT({{129, 16}});
94 constexpr
double FNAV_CRC_3_LSB =
TWO_N5;
95 const std::vector<std::pair<int32_t, int32_t>> FNAV_CRS_3_BIT({{145, 16}});
96 constexpr
double FNAV_CRS_3_LSB =
TWO_N5;
97 const std::vector<std::pair<int32_t, int32_t>> FNAV_T0E_3_BIT({{161, 14}});
98 constexpr int32_t FNAV_T0E_3_LSB = 60;
99 const std::vector<std::pair<int32_t, int32_t>> FNAV_WN_3_BIT({{175, 12}});
100 const std::vector<std::pair<int32_t, int32_t>> FNAV_TOW_3_BIT({{187, 20}});
103 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DNAV_4_BIT({{7, 10}});
104 const std::vector<std::pair<int32_t, int32_t>> FNAV_CIC_4_BIT({{17, 16}});
105 constexpr
double FNAV_CIC_4_LSB =
TWO_N29;
106 const std::vector<std::pair<int32_t, int32_t>> FNAV_CIS_4_BIT({{33, 16}});
107 constexpr
double FNAV_CIS_4_LSB =
TWO_N29;
108 const std::vector<std::pair<int32_t, int32_t>> FNAV_A0_4_BIT({{49, 32}});
109 constexpr
double FNAV_A0_4_LSB =
TWO_N30;
110 const std::vector<std::pair<int32_t, int32_t>> FNAV_A1_4_BIT({{81, 24}});
111 constexpr
double FNAV_A1_4_LSB =
TWO_N50;
112 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTATLS_4_BIT({{105, 8}});
113 const std::vector<std::pair<int32_t, int32_t>> FNAV_T0T_4_BIT({{113, 8}});
114 constexpr int32_t FNAV_T0T_4_LSB = 3600;
115 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_NOT_4_BIT({{121, 8}});
116 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_NLSF_4_BIT({{129, 8}});
117 const std::vector<std::pair<int32_t, int32_t>> FNAV_DN_4_BIT({{137, 3}});
118 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTATLSF_4_BIT({{140, 8}});
119 const std::vector<std::pair<int32_t, int32_t>> FNAV_T0G_4_BIT({{148, 8}});
120 constexpr int32_t FNAV_T0G_4_LSB = 3600;
121 const std::vector<std::pair<int32_t, int32_t>> FNAV_A0G_4_BIT({{156, 16}});
122 constexpr
double FNAV_A0G_4_LSB =
TWO_N35;
123 const std::vector<std::pair<int32_t, int32_t>> FNAV_A1G_4_BIT({{172, 12}});
124 constexpr
double FNAV_A1G_4_LSB =
TWO_N51;
125 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_N0G_4_BIT({{184, 6}});
126 const std::vector<std::pair<int32_t, int32_t>> FNAV_TOW_4_BIT({{190, 20}});
129 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DA_5_BIT({{7, 4}});
130 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_NA_5_BIT({{11, 2}});
131 const std::vector<std::pair<int32_t, int32_t>> FNAV_T0A_5_BIT({{13, 10}});
132 constexpr int32_t FNAV_T0A_5_LSB = 600;
133 const std::vector<std::pair<int32_t, int32_t>> FNAV_SVI_D1_5_BIT({{23, 6}});
134 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAA12_1_5_BIT({{29, 13}});
135 constexpr
double FNAV_DELTAA12_5_LSB =
TWO_N9;
136 const std::vector<std::pair<int32_t, int32_t>> FNAV_E_1_5_BIT({{42, 11}});
137 constexpr
double FNAV_E_5_LSB =
TWO_N16;
138 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_1_5_BIT({{53, 16}});
139 constexpr
double FNAV_W_5_LSB =
TWO_N15;
140 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAI_1_5_BIT({{69, 11}});
141 constexpr
double FNAV_DELTAI_5_LSB =
TWO_N14;
142 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGA0_1_5_BIT({{80, 16}});
143 constexpr
double FNAV_OMEGA0_5_LSB =
TWO_N15;
144 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGADOT_1_5_BIT({{96, 11}});
145 constexpr
double FNAV_OMEGADOT_5_LSB =
TWO_N33;
146 const std::vector<std::pair<int32_t, int32_t>> FNAV_M0_1_5_BIT({{107, 16}});
147 constexpr
double FNAV_M0_5_LSB =
TWO_N15;
148 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF0_1_5_BIT({{123, 16}});
149 constexpr
double FNAV_AF0_5_LSB =
TWO_N19;
150 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF1_1_5_BIT({{139, 13}});
151 constexpr
double FNAV_AF1_5_LSB =
TWO_N38;
152 const std::vector<std::pair<int32_t, int32_t>> FNAV_E5AHS_1_5_BIT({{152, 2}});
153 const std::vector<std::pair<int32_t, int32_t>> FNAV_SVI_D2_5_BIT({{154, 6}});
154 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAA12_2_5_BIT({{160, 13}});
155 const std::vector<std::pair<int32_t, int32_t>> FNAV_E_2_5_BIT({{173, 11}});
156 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_2_5_BIT({{184, 16}});
157 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAI_2_5_BIT({{200, 11}});
161 const std::vector<std::pair<int32_t, int32_t>> FNAV_IO_DA_6_BIT({{7, 4}});
163 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGADOT_2_6_BIT({{23, 11}});
164 const std::vector<std::pair<int32_t, int32_t>> FNAV_M0_2_6_BIT({{34, 16}});
165 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF0_2_6_BIT({{50, 16}});
166 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF1_2_6_BIT({{66, 13}});
167 const std::vector<std::pair<int32_t, int32_t>> FNAV_E5AHS_2_6_BIT({{79, 2}});
168 const std::vector<std::pair<int32_t, int32_t>> FNAV_SVI_D3_6_BIT({{81, 6}});
169 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAA12_3_6_BIT({{87, 13}});
170 const std::vector<std::pair<int32_t, int32_t>> FNAV_E_3_6_BIT({{100, 11}});
171 const std::vector<std::pair<int32_t, int32_t>> FNAV_W_3_6_BIT({{111, 16}});
172 const std::vector<std::pair<int32_t, int32_t>> FNAV_DELTAI_3_6_BIT({{127, 11}});
173 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGA0_3_6_BIT({{138, 16}});
174 const std::vector<std::pair<int32_t, int32_t>> FNAV_OMEGADOT_3_6_BIT({{154, 11}});
175 const std::vector<std::pair<int32_t, int32_t>> FNAV_M0_3_6_BIT({{165, 16}});
176 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF0_3_6_BIT({{181, 16}});
177 const std::vector<std::pair<int32_t, int32_t>> FNAV_AF1_3_6_BIT({{197, 13}});
178 const std::vector<std::pair<int32_t, int32_t>> FNAV_E5AHS_3_6_BIT({{210, 2}});
183 #endif // GNSS_SDR_GALILEO_FNAV_H constexpr double TWO_N59
2^-59
constexpr double TWO_N5
2^-5
constexpr double TWO_N8
2^-8
constexpr double TWO_N50
2^-50
constexpr double TWO_N16
2^-16
constexpr double TWO_N33
2^-33
constexpr double TWO_N32
2^-32
constexpr double TWO_N14
2^-14
constexpr double PI_TWO_N43
Pi*2^-43.
constexpr double TWO_N38
2^-38
constexpr double PI_TWO_N31
Pi*2^-31.
constexpr double TWO_N35
2^-35
Defines useful mathematical constants and their scaled versions.
constexpr double TWO_N30
2^-30
constexpr double TWO_N46
2^-46
constexpr double TWO_N51
2^-51
constexpr double TWO_N34
2^-34
constexpr double TWO_N9
2^-9
constexpr double TWO_N29
2^-29
constexpr double TWO_N19
2^-19
constexpr double TWO_N2
2^-2
constexpr double TWO_N15
2^-15