FreqConsts.hpp
Go to the documentation of this file.
1 
8 //==============================================================================
9 //
10 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
11 //
12 // The GNSSTk is free software; you can redistribute it and/or modify
13 // it under the terms of the GNU Lesser General Public License as published
14 // by the Free Software Foundation; either version 3.0 of the License, or
15 // any later version.
16 //
17 // The GNSSTk is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
21 //
22 // You should have received a copy of the GNU Lesser General Public
23 // License along with GNSSTk; if not, write to the Free Software Foundation,
24 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
25 //
26 // This software was developed by Applied Research Laboratories at the
27 // University of Texas at Austin.
28 // Copyright 2004-2022, The Board of Regents of The University of Texas System
29 //
30 //==============================================================================
31 
32 
33 //==============================================================================
34 //
35 // This software was developed by Applied Research Laboratories at the
36 // University of Texas at Austin, under contract to an agency or agencies
37 // within the U.S. Department of Defense. The U.S. Government retains all
38 // rights to use, duplicate, distribute, disclose, or release this software.
39 //
40 // Pursuant to DoD Directive 523024
41 //
42 // DISTRIBUTION STATEMENT A: This software has been approved for public
43 // release, distribution is unlimited.
44 //
45 //==============================================================================
46 
47 #ifndef GNSSTK_FREQCONSTS_HPP
48 #define GNSSTK_FREQCONSTS_HPP
49 
50 #include "GNSSconstants.hpp"
51 #include "SatID.hpp"
52 
53 namespace gnsstk
54 {
56  const double FREQ_GPS_L1 = 1575.42e6;
60  const double FREQ_GPS_L2 = 1227.6e6;
64  const double FREQ_GPS_L5 = 1176.45e6;
68  const double FREQ_GLONASS_G1 = 1602e6;
72  const double FREQ_GLONASS_G1a = 1600.995e6;
76  const double FREQ_GLONASS_G2a = 1248.06e6;
80  const double FREQ_GLONASS_G2 = 1246e6;
84  const double FREQ_GLONASS_G2c = 1242e6;
88  const double FREQ_GLONASS_G5 = 1207.14e6;
92  const double FREQ_GLONASS_G3 = 1202.025e6;
96  const double FREQ_GALILEO_E1 = 1575.42e6;
100  const double FREQ_GALILEO_E5b = 1207.14e6;
104  const double FREQ_GALILEO_E5 = 1191.795e6;
108  const double FREQ_GALILEO_E5a = 1176.45e6;
112  const double FREQ_GALILEO_E6 = 1278.75e6;
116  const double FREQ_SBAS_L1 = 1575.42e6;
120  const double FREQ_SBAS_L5 = 1176.45e6;
124  const double FREQ_QZSS_L1 = 1575.42e6;
128  const double FREQ_QZSS_L2 = 1227.6e6;
132  const double FREQ_QZSS_L5 = 1176.45e6;
136  const double FREQ_QZSS_L6 = 1278.75e6;
140  const double FREQ_BEIDOU_B1U = 1589.742e6;
144  const double FREQ_BEIDOU_L1 = 1575.42e6;
148  const double FREQ_BEIDOU_B1 = 1561.098e6;
152  const double FREQ_BEIDOU_B2b = 1207.14e6;
156  const double FREQ_BEIDOU_B3 = 1268.52e6;
160  const double FREQ_BEIDOU_B2 = 1191.795e6;
164  const double FREQ_BEIDOU_B2a = 1176.45e6;
168  const double FREQ_NAVIC_S = 2492.028e6;
172  const double FREQ_NAVIC_L5 = 1176.45e6;
176  const double FREQ_STEP_GLONASS_G1 = 562.5e3;
178  const double FREQ_STEP_GLONASS_G2 = 437.5e3;
179 
191  inline double getWavelength(SatelliteSystem sys,
192  int rinexBandNum, int gloChan=0)
193  noexcept
194  {
195  switch(sys)
196  {
198  switch (rinexBandNum)
199  {
200  case 1: return WAVELENGTH_GPS_L1;
201  case 2: return WAVELENGTH_GPS_L2;
202  case 5: return WAVELENGTH_GPS_L5;
203  }
204  break;
206  switch (rinexBandNum)
207  {
208  case 1:
209  return (C_MPS/(FREQ_GLONASS_G1 + gloChan*FREQ_STEP_GLONASS_G1));
210  case 4: return WAVELENGTH_GLONASS_G1a;
211  case 6: return WAVELENGTH_GLONASS_G2a;
212  case 2:
213  return (C_MPS/(FREQ_GLONASS_G2 + gloChan*FREQ_STEP_GLONASS_G2));
214  case 3: return WAVELENGTH_GLONASS_G3;
215  }
216  break;
218  switch (rinexBandNum)
219  {
220  case 1: return WAVELENGTH_GALILEO_E1;
221  case 7: return WAVELENGTH_GALILEO_E5b;
222  case 8: return WAVELENGTH_GALILEO_E5;
223  case 5: return WAVELENGTH_GALILEO_E5a;
224  case 6: return WAVELENGTH_GALILEO_E6;
225  }
226  break;
228  switch (rinexBandNum)
229  {
230  case 1: return WAVELENGTH_SBAS_L1;
231  case 5: return WAVELENGTH_SBAS_L5;
232  }
233  break;
235  switch (rinexBandNum)
236  {
237  case 1: return WAVELENGTH_QZSS_L1;
238  case 2: return WAVELENGTH_QZSS_L2;
239  case 5: return WAVELENGTH_QZSS_L5;
240  case 6: return WAVELENGTH_QZSS_L6;
241  }
242  break;
244  switch (rinexBandNum)
245  {
246  case 1: return WAVELENGTH_BEIDOU_L1;
247  case 2: return WAVELENGTH_BEIDOU_B1;
248  case 7: return WAVELENGTH_BEIDOU_B2b;
249  case 6: return WAVELENGTH_BEIDOU_B3;
250  case 8: return WAVELENGTH_BEIDOU_B2;
251  case 5: return WAVELENGTH_BEIDOU_B2a;
252  }
253  break;
255  switch (rinexBandNum)
256  {
257  case 9: return WAVELENGTH_NAVIC_S;
258  case 5: return WAVELENGTH_NAVIC_L5;
259  }
260  break;
261  default:
262  break;
263  }
264  return 0.;
265  }
266 
271  inline double getBeta(SatelliteSystem sys, int na, int nb)
272  noexcept
273  {
274  double wla = getWavelength(sys,na);
275  double wlb = getWavelength(sys,nb);
276  if (wla == 0.0 || wlb == 0.0)
277  return 0.0;
278  return wlb/wla;
279  }
280 
286  inline double getAlpha(SatelliteSystem sys, int na, int nb)
287  noexcept
288  {
289  double beta(getBeta(sys,na,nb));
290  if (beta == 0.0)
291  return 0.0;
292  return (beta*beta-1.0);
293  }
294 } // namespace gnsstk
295 
296 #endif // GNSSTK_FREQCONSTS_HPP
gnsstk::SatelliteSystem::IRNSS
@ IRNSS
Official name changed from IRNSS to NavIC.
gnsstk::FREQ_STEP_GLONASS_G2
const double FREQ_STEP_GLONASS_G2
GLONASS G2 carrier frequency step size in Hz.
Definition: FreqConsts.hpp:178
gnsstk::WAVELENGTH_QZSS_L5
const double WAVELENGTH_QZSS_L5
QZSS L5 carrier wavelength in meters.
Definition: FreqConsts.hpp:134
gnsstk::FREQ_GALILEO_E1
const double FREQ_GALILEO_E1
Galileo E1 carrier frequency in Hz.
Definition: FreqConsts.hpp:96
gnsstk::WAVELENGTH_GLONASS_G5
const double WAVELENGTH_GLONASS_G5
GLONASS G5 carrier wavelength in meters.
Definition: FreqConsts.hpp:90
gnsstk::WAVELENGTH_QZSS_L1
const double WAVELENGTH_QZSS_L1
QZSS L1 carrier wavelength in meters.
Definition: FreqConsts.hpp:126
gnsstk::WAVELENGTH_BEIDOU_L1
const double WAVELENGTH_BEIDOU_L1
BeiDou L1 carrier wavelength in meters.
Definition: FreqConsts.hpp:146
gnsstk::FREQ_GALILEO_E5b
const double FREQ_GALILEO_E5b
Galileo E5b carrier frequency in Hz.
Definition: FreqConsts.hpp:100
gnsstk::FREQ_GPS_L2
const double FREQ_GPS_L2
GPS L2 carrier frequency in Hz.
Definition: FreqConsts.hpp:60
gnsstk::WAVELENGTH_GLONASS_G3
const double WAVELENGTH_GLONASS_G3
GLONASS G3 carrier wavelength in meters.
Definition: FreqConsts.hpp:94
gnsstk::WAVELENGTH_GALILEO_E6
const double WAVELENGTH_GALILEO_E6
Galileo E6 carrier wavelength in meters.
Definition: FreqConsts.hpp:114
gnsstk::WAVELENGTH_GALILEO_E5
const double WAVELENGTH_GALILEO_E5
Galileo E5 carrier wavelength in meters.
Definition: FreqConsts.hpp:106
gnsstk::FREQ_GALILEO_E5a
const double FREQ_GALILEO_E5a
Galileo E5a carrier frequency in Hz.
Definition: FreqConsts.hpp:108
gnsstk::WAVELENGTH_GLONASS_G1a
const double WAVELENGTH_GLONASS_G1a
GLONASS G1a carrier wavelength in meters.
Definition: FreqConsts.hpp:74
gnsstk::SatelliteSystem
SatelliteSystem
Supported satellite systems.
Definition: SatelliteSystem.hpp:55
gnsstk::FREQ_QZSS_L1
const double FREQ_QZSS_L1
QZSS L1 carrier frequency in Hz.
Definition: FreqConsts.hpp:124
gnsstk::FREQ_QZSS_L5
const double FREQ_QZSS_L5
QZSS L5 carrier frequency in Hz.
Definition: FreqConsts.hpp:132
SatID.hpp
gnsstk::FREQ_BEIDOU_B3
const double FREQ_BEIDOU_B3
BeiDou B3 carrier frequency in Hz.
Definition: FreqConsts.hpp:156
gnsstk::WAVELENGTH_QZSS_L6
const double WAVELENGTH_QZSS_L6
QZSS L6 carrier wavelength in meters.
Definition: FreqConsts.hpp:138
gnsstk::SatelliteSystem::Geosync
@ Geosync
gnsstk::FREQ_BEIDOU_B1U
const double FREQ_BEIDOU_B1U
BeiDou B1U carrier frequency in Hz.
Definition: FreqConsts.hpp:140
gnsstk::WAVELENGTH_GLONASS_G1
const double WAVELENGTH_GLONASS_G1
GLONASS G1 carrier wavelength in meters.
Definition: FreqConsts.hpp:70
gnsstk::getWavelength
double getWavelength(SatelliteSystem sys, int rinexBandNum, int gloChan=0) noexcept
Definition: FreqConsts.hpp:191
gnsstk::FREQ_NAVIC_L5
const double FREQ_NAVIC_L5
NavIC L5 carrier frequency in Hz.
Definition: FreqConsts.hpp:172
GNSSconstants.hpp
gnsstk::WAVELENGTH_QZSS_L2
const double WAVELENGTH_QZSS_L2
QZSS L2 carrier wavelength in meters.
Definition: FreqConsts.hpp:130
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::WAVELENGTH_BEIDOU_B2a
const double WAVELENGTH_BEIDOU_B2a
BeiDou B2a carrier wavelength in meters.
Definition: FreqConsts.hpp:166
gnsstk::getAlpha
double getAlpha(SatelliteSystem sys, int na, int nb) noexcept
Definition: FreqConsts.hpp:286
gnsstk::WAVELENGTH_BEIDOU_B2
const double WAVELENGTH_BEIDOU_B2
BeiDou B2 carrier wavelength in meters.
Definition: FreqConsts.hpp:162
gnsstk::FREQ_GALILEO_E6
const double FREQ_GALILEO_E6
Galileo E6 carrier frequency in Hz.
Definition: FreqConsts.hpp:112
gnsstk::SatelliteSystem::GPS
@ GPS
gnsstk::FREQ_GLONASS_G1
const double FREQ_GLONASS_G1
GLONASS G1 carrier frequency in Hz.
Definition: FreqConsts.hpp:68
gnsstk::FREQ_GLONASS_G5
const double FREQ_GLONASS_G5
GLONASS G5 carrier frequency in Hz.
Definition: FreqConsts.hpp:88
gnsstk::WAVELENGTH_NAVIC_L5
const double WAVELENGTH_NAVIC_L5
NavIC L5 carrier wavelength in meters.
Definition: FreqConsts.hpp:174
gnsstk::FREQ_BEIDOU_B2b
const double FREQ_BEIDOU_B2b
BeiDou B2b carrier frequency in Hz.
Definition: FreqConsts.hpp:152
gnsstk::FREQ_BEIDOU_B2a
const double FREQ_BEIDOU_B2a
BeiDou B2a carrier frequency in Hz.
Definition: FreqConsts.hpp:164
gnsstk::WAVELENGTH_GLONASS_G2c
const double WAVELENGTH_GLONASS_G2c
GLONASS G2c carrier wavelength in meters.
Definition: FreqConsts.hpp:86
gnsstk::C_MPS
const double C_MPS
m/s, speed of light; this value defined by GPS but applies to GAL and GLO.
Definition: GNSSconstants.hpp:74
gnsstk::WAVELENGTH_BEIDOU_B2b
const double WAVELENGTH_BEIDOU_B2b
BeiDou B2b carrier wavelength in meters.
Definition: FreqConsts.hpp:154
gnsstk::FREQ_GPS_L1
const double FREQ_GPS_L1
GPS L1 carrier frequency in Hz.
Definition: FreqConsts.hpp:56
gnsstk::FREQ_STEP_GLONASS_G1
const double FREQ_STEP_GLONASS_G1
GLONASS G1 carrier frequency step size in Hz.
Definition: FreqConsts.hpp:176
gnsstk::WAVELENGTH_BEIDOU_B3
const double WAVELENGTH_BEIDOU_B3
BeiDou B3 carrier wavelength in meters.
Definition: FreqConsts.hpp:158
gnsstk::WAVELENGTH_BEIDOU_B1
const double WAVELENGTH_BEIDOU_B1
BeiDou B1 carrier wavelength in meters.
Definition: FreqConsts.hpp:150
gnsstk::FREQ_GLONASS_G1a
const double FREQ_GLONASS_G1a
GLONASS G1a carrier frequency in Hz.
Definition: FreqConsts.hpp:72
gnsstk::FREQ_GLONASS_G3
const double FREQ_GLONASS_G3
GLONASS G3 carrier frequency in Hz.
Definition: FreqConsts.hpp:92
gnsstk::FREQ_BEIDOU_B1
const double FREQ_BEIDOU_B1
BeiDou B1 carrier frequency in Hz.
Definition: FreqConsts.hpp:148
gnsstk::beta
double beta(double x, double y)
Definition: SpecialFuncs.cpp:204
gnsstk::WAVELENGTH_GPS_L5
const double WAVELENGTH_GPS_L5
GPS L5 carrier wavelength in meters.
Definition: FreqConsts.hpp:66
gnsstk::WAVELENGTH_GPS_L1
const double WAVELENGTH_GPS_L1
GPS L1 carrier wavelength in meters.
Definition: FreqConsts.hpp:58
gnsstk::FREQ_QZSS_L6
const double FREQ_QZSS_L6
QZSS L6 carrier frequency in Hz.
Definition: FreqConsts.hpp:136
gnsstk::WAVELENGTH_GALILEO_E1
const double WAVELENGTH_GALILEO_E1
Galileo E1 carrier wavelength in meters.
Definition: FreqConsts.hpp:98
gnsstk::FREQ_GALILEO_E5
const double FREQ_GALILEO_E5
Galileo E5 carrier frequency in Hz.
Definition: FreqConsts.hpp:104
gnsstk::WAVELENGTH_GALILEO_E5a
const double WAVELENGTH_GALILEO_E5a
Galileo E5a carrier wavelength in meters.
Definition: FreqConsts.hpp:110
gnsstk::FREQ_QZSS_L2
const double FREQ_QZSS_L2
QZSS L2 carrier frequency in Hz.
Definition: FreqConsts.hpp:128
gnsstk::FREQ_GPS_L5
const double FREQ_GPS_L5
GPS L5 carrier frequency in Hz.
Definition: FreqConsts.hpp:64
gnsstk::WAVELENGTH_GPS_L2
const double WAVELENGTH_GPS_L2
GPS L2 carrier wavelength in meters.
Definition: FreqConsts.hpp:62
gnsstk::WAVELENGTH_NAVIC_S
const double WAVELENGTH_NAVIC_S
NavIC S carrier wavelength in meters.
Definition: FreqConsts.hpp:170
gnsstk::getBeta
double getBeta(SatelliteSystem sys, int na, int nb) noexcept
Definition: FreqConsts.hpp:271
gnsstk::FREQ_BEIDOU_L1
const double FREQ_BEIDOU_L1
BeiDou L1 carrier frequency in Hz.
Definition: FreqConsts.hpp:144
gnsstk::FREQ_SBAS_L5
const double FREQ_SBAS_L5
SBAS L5 carrier frequency in Hz.
Definition: FreqConsts.hpp:120
gnsstk::WAVELENGTH_GLONASS_G2a
const double WAVELENGTH_GLONASS_G2a
GLONASS G2a carrier wavelength in meters.
Definition: FreqConsts.hpp:78
gnsstk::FREQ_BEIDOU_B2
const double FREQ_BEIDOU_B2
BeiDou B2 carrier frequency in Hz.
Definition: FreqConsts.hpp:160
gnsstk::WAVELENGTH_BEIDOU_B1U
const double WAVELENGTH_BEIDOU_B1U
BeiDou B1U carrier wavelength in meters.
Definition: FreqConsts.hpp:142
gnsstk::SatelliteSystem::Glonass
@ Glonass
gnsstk::WAVELENGTH_SBAS_L5
const double WAVELENGTH_SBAS_L5
SBAS L5 carrier wavelength in meters.
Definition: FreqConsts.hpp:122
gnsstk::SatelliteSystem::BeiDou
@ BeiDou
aka Compass
gnsstk::FREQ_GLONASS_G2
const double FREQ_GLONASS_G2
GLONASS G2 carrier frequency in Hz.
Definition: FreqConsts.hpp:80
gnsstk::FREQ_GLONASS_G2c
const double FREQ_GLONASS_G2c
GLONASS G2c carrier frequency in Hz.
Definition: FreqConsts.hpp:84
gnsstk::FREQ_GLONASS_G2a
const double FREQ_GLONASS_G2a
GLONASS G2a carrier frequency in Hz.
Definition: FreqConsts.hpp:76
gnsstk::FREQ_SBAS_L1
const double FREQ_SBAS_L1
SBAS L1 carrier frequency in Hz.
Definition: FreqConsts.hpp:116
gnsstk::WAVELENGTH_SBAS_L1
const double WAVELENGTH_SBAS_L1
SBAS L1 carrier wavelength in meters.
Definition: FreqConsts.hpp:118
gnsstk::SatelliteSystem::QZSS
@ QZSS
gnsstk::WAVELENGTH_GLONASS_G2
const double WAVELENGTH_GLONASS_G2
GLONASS G2 carrier wavelength in meters.
Definition: FreqConsts.hpp:82
gnsstk::WAVELENGTH_GALILEO_E5b
const double WAVELENGTH_GALILEO_E5b
Galileo E5b carrier wavelength in meters.
Definition: FreqConsts.hpp:102
gnsstk::FREQ_NAVIC_S
const double FREQ_NAVIC_S
NavIC S carrier frequency in Hz.
Definition: FreqConsts.hpp:168
gnsstk::SatelliteSystem::Galileo
@ Galileo


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39