GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
Classes | Macros | Functions | Variables
core_system_parameters

Classes

class  Agnss_Ref_Location
 Interface of an Assisted GNSS REFERENCE LOCATION storage. More...
 
class  Agnss_Ref_Time
 Interface of an Assisted GNSS REFERENCE TIME storage. More...
 
class  Beidou_Dnav_Almanac
 This class is a storage for the BeiDou D1 almanac. More...
 
class  Beidou_Dnav_Ephemeris
 This is a storage class for the Beidou SV ephemeris data as described in BeiDou Navigation Satellite System Signal In Space Interface Control Document Open Service Signal B1I (Version 3.0) More...
 
class  Beidou_Dnav_Iono
 This class is a storage for the BEIDOU IONOSPHERIC data as described in ICD v2.1. More...
 
class  Beidou_Dnav_Navigation_Message
 This class decodes a BeiDou D1 NAV Data message. More...
 
class  Beidou_Dnav_Utc_Model
 This class is a storage for the BeiDou DNAV UTC Model. More...
 
class  Galileo_Almanac
 This class is a storage for the Galileo SV ALMANAC data. More...
 
class  Galileo_Almanac_Helper
 This class is a storage for the GALILEO ALMANAC data as described in GALILEO ICD. More...
 
class  Galileo_Cnav_Message
 This class handles the Galileo CNAV Data message, as described in the Galileo High Accuracy Service Signal-In-Space Interface Control Document (HAS SIS ICD) Issue 1.0, May 2022. More...
 
class  Galileo_Ephemeris
 This class is a storage and orbital model functions for the Galileo SV ephemeris data as described in Galileo ICD paragraph 5.1.1. More...
 
class  Galileo_Fnav_Message
 This class handles the Galileo F/NAV Data message, as described in the Galileo Open Service Signal in Space Interface Control Document (OS SIS ICD), Issue 2.0 (Jan. 2021). See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf. More...
 
struct  mt1_header
 
class  Galileo_HAS_data
 This class is a storage for Galileo HAS message type 1, as defined in Galileo High Accuracy Service Signal-In-Space Interface Control Document (HAS SIS ICD) Issue 1.0, May 2022. See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_HAS_SIS_ICD_v1.0.pdf. More...
 
class  Galileo_HAS_page
 This class is a storage for Galileo HAS message page, as defined in Galileo High Accuracy Service Signal-In-Space Interface Control Document (HAS SIS ICD) Issue 1.0, May 2022. More...
 
class  Galileo_Inav_Message
 This class handles the Galileo I/NAV Data message, as described in the Galileo Open Service Signal in Space Interface Control Document (OS SIS ICD), Issue 2.0 (Jan. 2021). See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf. More...
 
class  Galileo_Iono
 This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5.1.6. More...
 
class  Galileo_Reduced_CED
 This class manages the Galileo Reduced Clock and Ephemeris Data. More...
 
class  Galileo_Utc_Model
 This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf paragraph 5.1.7. More...
 
class  Glonass_Gnav_Almanac
 This class is a storage for the GLONASS SV ALMANAC data as described GLONASS ICD (Edition 5.1) More...
 
class  Glonass_Gnav_Ephemeris
 This class is a storage and orbital model functions for the GLONASS SV ephemeris data as described in GLONASS ICD (Edition 5.1) More...
 
class  Glonass_Gnav_Navigation_Message
 This class decodes a GLONASS GNAV Data message as described in GLONASS ICD (Edition 5.1) More...
 
class  Glonass_Gnav_Utc_Model
 This class is a storage for the GLONASS GNAV UTC MODEL data as described in GLONASS ICD (Edition 5.1) More...
 
class  Gnss_Almanac
 Base class for GNSS almanac storage. More...
 
class  Gnss_Satellite
 This class represents a GNSS satellite. More...
 
class  Gnss_Signal
 This class represents a GNSS signal. More...
 
class  Gnss_Synchro
 This is the class that contains the information that is shared by the processing blocks. More...
 
class  Gps_Acq_Assist
 This class is a storage for the GPS GSM RRLL acquisition assistance data as described in Digital cellular telecommunications system (Phase 2+); Location Services (LCS); Mobile Station (MS) - Serving Mobile Location Centre (SMLC) Radio Resource LCS Protocol (RRLP) (3GPP TS 44.031 version 5.12.0 Release 5) More...
 
class  Gps_Almanac
 This class is a storage for the GPS SV ALMANAC data as described in IS-GPS-200M. More...
 
class  Gps_CNAV_Ephemeris
 This is a storage class for the GPS CNAV ephemeris data as described in IS-GPS-200M. More...
 
class  Gps_CNAV_Iono
 This class is a storage for the GPS IONOSPHERIC data as described in IS-GPS-200M. More...
 
class  Gps_CNAV_Navigation_Message
 This class decodes a GPS CNAV Data message as described in IS-GPS-200M. More...
 
class  Gps_CNAV_Utc_Model
 This class is a storage for the GPS UTC MODEL data as described in in IS-GPS-200M. More...
 
class  Gps_Ephemeris
 This class is a storage and orbital model functions for the GPS SV ephemeris data as described in IS-GPS-200M. More...
 
class  Gps_Iono
 This class is a storage for the GPS IONOSPHERIC data as described in IS-GPS-200M. More...
 
class  Gps_Navigation_Message
 This class decodes a GPS NAV Data message as described in IS-GPS-200M. More...
 
class  Gps_Utc_Model
 This class is a storage for the GPS UTC MODEL data as described in IS-GPS-200M. More...
 
class  ReedSolomon
 Class implementing a Reed-Solomon encoder and decoder RS(255,K,d) where k=255-nroots is the information vector length and d=nroots+1 is the minimum Hamming distance, with symbols of 8 bits. It allows shortened RS codes. More...
 
class  Sbas_Ephemeris
 This class stores SBAS SV ephemeris data. More...
 

Macros

#define DISPLAY_COLORS   1
 
#define GLONASS_GNAV_PREAMBLE
 

Functions

const std::vector< std::pair< int32_t, int32_t > > D1_PRE ({{1, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_FRAID ({{16, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_SOW ({{19, 8}, {31, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_PNUM ({{44, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_SAT_H1 ({{43, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_AODC ({{44, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_URAI ({{49, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_WN ({{61, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TOC ({{74, 9}, {91, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TGD1 ({{99, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TGD2 ({{109, 4}, {121, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_ALPHA0 ({{127, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_ALPHA1 ({{135, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_ALPHA2 ({{151, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_ALPHA3 ({{159, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_BETA0 ({{167, 6}, {181, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_BETA1 ({{183, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_BETA2 ({{191, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_BETA3 ({{199, 4}, {211, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A2 ({{215, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0 ({{226, 7}, {241, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1 ({{258, 5}, {271, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_AODE ({{288, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_DELTA_N ({{43, 10}, {61, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CUC ({{67, 16}, {91, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_M0 ({{93, 20}, {121, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_E ({{133, 10}, {151, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CUS ({{181, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CRC ({{199, 4}, {211, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CRS ({{225, 8}, {241, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_SQRT_A ({{251, 12}, {271, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TOE_SF2 ({{291, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TOE_SF3 ({{43, 10}, {61, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_I0 ({{66, 17}, {91, 15}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CIC ({{106, 7}, {121, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA_DOT ({{132, 11}, {151, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_CIS ({{164, 9}, {181, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_IDOT ({{190, 13}, {211, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA0 ({{212, 21}, {241, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA ({{252, 11}, {271, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_SQRT_A_ALMANAC ({{51, 2}, {61, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1_ALMANAC ({{91, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0_ALMANAC ({{102, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA0_ALMANAC ({{121, 22}, {151, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_E_ALMANAC ({{153, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_DELTA_I ({{170, 3}, {181, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TOA ({{194, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA_DOT_ALMANAC ({{202, 1}, {211, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_OMEGA_ALMANAC ({{227, 6}, {241, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_M0_ALMANAC ({{259, 4}, {271, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA1 ({{51, 2}, {61, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA2 ({{68, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA3 ({{77, 6}, {91, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA4 ({{94, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA5 ({{103, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA6 ({{112, 1}, {121, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA7 ({{129, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA8 ({{138, 5}, {151, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA9 ({{155, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA10 ({{164, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA11 ({{181, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA12 ({{190, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA13 ({{199, 4}, {211, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA14 ({{216, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA15 ({{225, 8}, {241, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA16 ({{242, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA17 ({{251, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA18 ({{260, 3}, {271, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA19 ({{277, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA20 ({{51, 2}, {61, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA21 ({{68, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA22 ({{77, 6}, {91, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA23 ({{94, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA24 ({{103, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA25 ({{112, 1}, {121, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA26 ({{129, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA27 ({{138, 5}, {151, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA28 ({{155, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA29 ({{164, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_HEA30 ({{181, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_WNA ({{190, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_TOA2 ({{198, 5}, {211, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0GPS ({{97, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1GPS ({{111, 2}, {121, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0GAL ({{135, 8}, {151, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1GAL ({{157, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0GLO ({{181, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1GLO ({{195, 8}, {211, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_DELTA_T_LS ({{51, 2}, {61, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_DELTA_T_LSF ({{67, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_WN_LSF ({{75, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A0UTC ({{91, 22}, {121, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_A1UTC ({{131, 12}, {151, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D1_DN ({{163, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_PRE ({{1, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_FRAID ({{16, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_SOW ({{19, 8}, {31, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_PNUM ({{43, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_SAT_H1 ({{47, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_AODC ({{48, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_URAI ({{61, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_WN ({{65, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_TOC ({{78, 5}, {91, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_TGD1 ({{103, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_TGD2 ({{121, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_ALPHA0 ({{47, 6}, {61, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_ALPHA1 ({{63, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_ALPHA2 ({{71, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_ALPHA3 ({{79, 4}, {91, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_BETA0 ({{95, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_BETA1 ({{103, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_BETA2 ({{111, 2}, {121, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_BETA3 ({{127, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_A0 ({{101, 12}, {121, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_A1_MSB ({{133, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_A1_LSB ({{47, 6}, {61, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_A1 ({{279, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_A2 ({{73, 10}, {91, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_AODE ({{92, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_DELTA_N ({{97, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CUC_MSB ({{121, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CUC_LSB ({{47, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CUC ({{283, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_M0 ({{51, 2}, {61, 22}, {91, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CUS ({{99, 14}, {121, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_E_MSB ({{125, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_E_LSB ({{47, 6}, {61, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_SQRT_A ({{77, 6}, {91, 22}, {121, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CIC_MSB ({{125, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CIC_LSB ({{47, 6}, {61, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CIC ({{283, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CIS ({{63, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_TOE ({{81, 2}, {91, 15}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_I0_MSB ({{106, 7}, {121, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_I0_LSB ({{47, 6}, {61, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_I0 ({{269, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CRC ({{66, 17}, {91, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_CRS ({{92, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA_DOT_MSB ({{110, 3}, {121, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA_DOT_LSB ({{47, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA_DOT ({{277, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA0 ({{52, 1}, {61, 22}, {91, 9}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA_MSB ({{100, 13}, {121, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA_LSB ({{47, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_OMEGA ({{269, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > D2_IDOT ({{52, 1}, {61, 13}})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_STATUS ({1, 2})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_RESERVED ({3, 2})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_MESSAGE_TYPE ({5, 2})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_MESSAGE_ID ({7, 5})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_MESSAGE_SIZE ({12, 5})
 
const std::pair< int32_t, int32_t > GALILEO_HAS_MESSAGE_PAGE_ID ({17, 8})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_TOH ({1, 12})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_MASK_FLAG ({13, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_ORBIT_CORRECTION_FLAG ({14, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_CLOCK_FULLSET_FLAG ({15, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_CLOCK_SUBSET_FLAG ({16, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_CODE_BIAS_FLAG ({17, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_PHASE_BIAS_FLAG ({18, 1})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_RESERVED ({19, 4})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_MASK_ID ({23, 5})
 
const std::pair< int32_t, int32_t > GALILEO_MT1_HEADER_IOD_SET_ID ({28, 5})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_PAGE_TYPE_BIT ({{1, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_SV_ID_PRN_1_BIT ({{7, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DNAV_1_BIT ({{13, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_T0C_1_BIT ({{23, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF0_1_BIT ({{37, 31}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF1_1_BIT ({{68, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF2_1_BIT ({{89, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_SISA_1_BIT ({{95, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AI0_1_BIT ({{103, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AI1_1_BIT ({{114, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AI2_1_BIT ({{125, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_REGION1_1_BIT ({{139, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_REGION2_1_BIT ({{140, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_REGION3_1_BIT ({{141, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_REGION4_1_BIT ({{142, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_REGION5_1_BIT ({{143, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_BGD_1_BIT ({{144, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E5AHS_1_BIT ({{154, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_WN_1_BIT ({{156, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_TOW_1_BIT ({{168, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E5ADVS_1_BIT ({{188, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DNAV_2_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_M0_2_BIT ({{17, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGADOT_2_BIT ({{49, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E_2_BIT ({{73, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_A12_2_BIT ({{105, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGA0_2_BIT ({{137, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IDOT_2_BIT ({{169, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_WN_2_BIT ({{183, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_TOW_2_BIT ({{195, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DNAV_3_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_I0_3_BIT ({{17, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_3_BIT ({{49, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAN_3_BIT ({{81, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CUC_3_BIT ({{97, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CUS_3_BIT ({{113, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CRC_3_BIT ({{129, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CRS_3_BIT ({{145, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_T0E_3_BIT ({{161, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_WN_3_BIT ({{175, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_TOW_3_BIT ({{187, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DNAV_4_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CIC_4_BIT ({{17, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_CIS_4_BIT ({{33, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_A0_4_BIT ({{49, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_A1_4_BIT ({{81, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTATLS_4_BIT ({{105, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_T0T_4_BIT ({{113, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_NOT_4_BIT ({{121, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_NLSF_4_BIT ({{129, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DN_4_BIT ({{137, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTATLSF_4_BIT ({{140, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_T0G_4_BIT ({{148, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_A0G_4_BIT ({{156, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_A1G_4_BIT ({{172, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_N0G_4_BIT ({{184, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_TOW_4_BIT ({{190, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DA_5_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_NA_5_BIT ({{11, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_T0A_5_BIT ({{13, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_SVI_D1_5_BIT ({{23, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAA12_1_5_BIT ({{29, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E_1_5_BIT ({{42, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_1_5_BIT ({{53, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAI_1_5_BIT ({{69, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGA0_1_5_BIT ({{80, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGADOT_1_5_BIT ({{96, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_M0_1_5_BIT ({{107, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF0_1_5_BIT ({{123, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF1_1_5_BIT ({{139, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E5AHS_1_5_BIT ({{152, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_SVI_D2_5_BIT ({{154, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAA12_2_5_BIT ({{160, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E_2_5_BIT ({{173, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_2_5_BIT ({{184, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAI_2_5_BIT ({{200, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_IO_DA_6_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGADOT_2_6_BIT ({{23, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_M0_2_6_BIT ({{34, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF0_2_6_BIT ({{50, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF1_2_6_BIT ({{66, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E5AHS_2_6_BIT ({{79, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_SVI_D3_6_BIT ({{81, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAA12_3_6_BIT ({{87, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E_3_6_BIT ({{100, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_W_3_6_BIT ({{111, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_DELTAI_3_6_BIT ({{127, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGA0_3_6_BIT ({{138, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_OMEGADOT_3_6_BIT ({{154, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_M0_3_6_BIT ({{165, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF0_3_6_BIT ({{181, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_AF1_3_6_BIT ({{197, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > FNAV_E5AHS_3_6_BIT ({{210, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > TYPE ({{1, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > PAGE_TYPE_BIT ({{1, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_NAV_1_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > T0_E_1_BIT ({{17, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > M0_1_BIT ({{31, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > E_1_BIT ({{63, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > A_1_BIT ({{95, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_NAV_2_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_0_2_BIT ({{17, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > I_0_2_BIT ({{49, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_2_BIT ({{81, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > I_DOT_2_BIT ({{113, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_NAV_3_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_DOT_3_BIT ({{17, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_N_3_BIT ({{41, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > C_UC_3_BIT ({{57, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > C_US_3_BIT ({{73, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > C_RC_3_BIT ({{89, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > C_RS_3_BIT ({{105, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > SISA_3_BIT ({{121, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_NAV_4_BIT ({{7, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > SV_ID_PRN_4_BIT ({{17, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > C_IC_4_BIT ({{23, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > C_IS_4_BIT ({{39, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > T0C_4_BIT ({{55, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > AF0_4_BIT ({{69, 31}})
 
const std::vector< std::pair< int32_t, int32_t > > AF1_4_BIT ({{100, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > AF2_4_BIT ({{121, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > SPARE_4_BIT ({{127, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > AI0_5_BIT ({{7, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > AI1_5_BIT ({{18, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > AI2_5_BIT ({{29, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > REGION1_5_BIT ({{43, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > REGION2_5_BIT ({{44, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > REGION3_5_BIT ({{45, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > REGION4_5_BIT ({{46, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > REGION5_5_BIT ({{47, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > BGD_E1_E5A_5_BIT ({{48, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > BGD_E1_E5B_5_BIT ({{58, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > E5B_HS_5_BIT ({{68, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > E1_B_HS_5_BIT ({{70, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > E5B_DVS_5_BIT ({{72, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > E1_B_DVS_5_BIT ({{73, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_5_BIT ({{74, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > TOW_5_BIT ({{86, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > SPARE_5_BIT ({{106, 23}})
 
const std::vector< std::pair< int32_t, int32_t > > A0_6_BIT ({{7, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > A1_6_BIT ({{39, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_T_LS_6_BIT ({{63, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > T0T_6_BIT ({{71, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > W_NOT_6_BIT ({{79, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_LSF_6_BIT ({{87, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > DN_6_BIT ({{95, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_T_LSF_6_BIT ({{98, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > TOW_6_BIT ({{106, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_A_7_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_A_7_BIT ({{11, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > T0A_7_BIT ({{13, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > SVI_D1_7_BIT ({{23, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_A_7_BIT ({{29, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E_7_BIT ({{42, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_7_BIT ({{53, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_I_7_BIT ({{69, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA0_7_BIT ({{80, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_DOT_7_BIT ({{96, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > M0_7_BIT ({{107, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_A_8_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > AF0_8_BIT ({{11, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > AF1_8_BIT ({{27, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E5B_HS_8_BIT ({{40, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > E1_B_HS_8_BIT ({{42, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > SVI_D2_8_BIT ({{44, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_A_8_BIT ({{50, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E_8_BIT ({{63, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_8_BIT ({{74, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_I_8_BIT ({{90, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA0_8_BIT ({{101, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_DOT_8_BIT ({{117, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_A_9_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_A_9_BIT ({{11, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > T0A_9_BIT ({{13, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > M0_9_BIT ({{23, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > AF0_9_BIT ({{39, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > AF1_9_BIT ({{55, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E5B_HS_9_BIT ({{68, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > E1_B_HS_9_BIT ({{70, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > SVI_D3_9_BIT ({{72, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_A_9_BIT ({{78, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E_9_BIT ({{91, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_9_BIT ({{102, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_I_9_BIT ({{118, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > IOD_A_10_BIT ({{7, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA0_10_BIT ({{11, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_DOT_10_BIT ({{27, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > M0_10_BIT ({{38, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > AF0_10_BIT ({{54, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > AF1_10_BIT ({{70, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > E5B_HS_10_BIT ({{83, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > E1_B_HS_10_BIT ({{85, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > A_0_G_10_BIT ({{87, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > A_1_G_10_BIT ({{103, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > T_0_G_10_BIT ({{115, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_0_G_10_BIT ({{123, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_DeltaAred_BIT ({{7, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_exred_BIT ({{12, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_eyred_BIT ({{25, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_Deltai0red_BIT ({{38, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_Omega0red_BIT ({{55, 23}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_lambda0red_BIT ({{78, 23}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_af0red_BIT ({{101, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > CED_af1red_BIT ({{123, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > RS_IODNAV_LSBS ({{15, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > TIME_0_BIT ({{7, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_0_BIT ({{97, 12}})
 
const std::vector< std::pair< int32_t, int32_t > > TOW_0_BIT ({{109, 20}})
 
const std::vector< std::pair< int32_t, int32_t > > STRING_ID ({{2, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > KX ({{78, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > P1 ({{8, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > T_K_HR ({{10, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > T_K_MIN ({{15, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > T_K_SEC ({{21, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > X_N_DOT ({{22, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > X_N_DOT_DOT ({{46, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > X_N ({{51, 27}})
 
const std::vector< std::pair< int32_t, int32_t > > B_N ({{6, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > P2 ({{9, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > T_B ({{10, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > Y_N_DOT ({{22, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > Y_N_DOT_DOT ({{46, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > Y_N ({{51, 27}})
 
const std::vector< std::pair< int32_t, int32_t > > P3 ({{6, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > GAMMA_N ({{7, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > P ({{19, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > EPH_L_N ({{21, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > Z_N_DOT ({{22, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > Z_N_DOT_DOT ({{46, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > Z_N ({{51, 27}})
 
const std::vector< std::pair< int32_t, int32_t > > TAU_N ({{6, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_TAU_N ({{28, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > E_N ({{33, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > P4 ({{52, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > F_T ({{53, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > N_T ({{60, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > N ({{71, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > M ({{76, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > DAY_NUMBER_A ({{6, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > TAU_C ({{17, 32}})
 
const std::vector< std::pair< int32_t, int32_t > > N_4 ({{50, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > TAU_GPS ({{55, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > ALM_L_N ({{77, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > C_N ({{6, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > M_N_A ({{7, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > N_A ({{9, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > TAU_N_A ({{14, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > LAMBDA_N_A ({{24, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_I_N_A ({{45, 18}})
 
const std::vector< std::pair< int32_t, int32_t > > EPSILON_N_A ({{63, 15}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_N_A ({{6, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > T_LAMBDA_N_A ({{22, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_T_N_A ({{43, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_T_DOT_N_A ({{65, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > H_N_A ({{72, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > B1 ({{6, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > B2 ({{17, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_PRN ({{9, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_MSG_TYPE ({{15, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOW ({{21, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ALERT_FLAG ({{38, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_WN ({{39, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_HEALTH ({{52, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOP1 ({{55, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_URA ({{66, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOE1 ({{71, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_A ({{82, 26}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_A_DOT ({{108, 25}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_N0 ({{133, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_N0_DOT ({{150, 23}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_M0 ({{173, 33}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_E_ECCENTRICITY ({{206, 33}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_OMEGA ({{239, 33}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_INTEGRITY_FLAG ({{272, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_L2_PHASING_FLAG ({{273, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOE2 ({{39, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_OMEGA0 ({{50, 33}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_I0 ({{83, 33}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_OMEGA_DOT ({{116, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_I0_DOT ({{133, 15}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CIS ({{148, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CIC ({{164, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CRS ({{180, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CRC ({{204, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CUS ({{228, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_CUC ({{249, 21}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOP2 ({{39, 11}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_URA_NED0 ({{50, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_URA_NED1 ({{55, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_URA_NED2 ({{58, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOC ({{61, 11}})
 
const std::vector< std::pair< int, int > > CNAV_AF0 ({{72, 26}})
 
const std::vector< std::pair< int, int > > CNAV_AF1 ({{98, 20}})
 
const std::vector< std::pair< int, int > > CNAV_AF2 ({{118, 10}})
 
const std::vector< std::pair< int, int > > CNAV_TGD ({{128, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ISCL1 ({{141, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ISCL2 ({{154, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ISCL5I ({{167, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ISCL5Q ({{180, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ALPHA0 ({{193, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ALPHA1 ({{201, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ALPHA2 ({{209, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_ALPHA3 ({{217, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_BETA0 ({{225, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_BETA1 ({{233, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_BETA2 ({{241, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_BETA3 ({{249, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_WNOP ({{257, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_A0 ({{128, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_A1 ({{144, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_A2 ({{157, 7}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_TLS ({{164, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_TOT ({{172, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_WN_OT ({{188, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_WN_LSF ({{201, 13}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DN ({{214, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > CNAV_DELTA_TLSF ({{218, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > TOW ({{31, 17}})
 
const std::vector< std::pair< int32_t, int32_t > > INTEGRITY_STATUS_FLAG ({{23, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > ALERT_FLAG ({{48, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > ANTI_SPOOFING_FLAG ({{49, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > SUBFRAME_ID ({{50, 3}})
 
const std::vector< std::pair< int32_t, int32_t > > GPS_WEEK ({{61, 10}})
 
const std::vector< std::pair< int32_t, int32_t > > CA_OR_P_ON_L2 ({{71, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > SV_ACCURACY ({{73, 4}})
 
const std::vector< std::pair< int32_t, int32_t > > SV_HEALTH ({{77, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > L2_P_DATA_FLAG ({{91, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > T_GD ({{197, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > IODC ({{83, 2}, {211, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > T_OC ({{219, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > A_F2 ({{241, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > A_F1 ({{249, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > A_F0 ({{271, 22}})
 
const std::vector< std::pair< int32_t, int32_t > > IODE_SF2 ({{61, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > C_RS ({{69, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTA_N ({{91, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > M_0 ({{107, 8}, {121, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > C_UC ({{151, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > ECCENTRICITY ({{167, 8}, {181, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > C_US ({{211, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > SQRT_A ({{227, 8}, {241, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > T_OE ({{271, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > FIT_INTERVAL_FLAG ({{271, 1}})
 
const std::vector< std::pair< int32_t, int32_t > > AODO ({{272, 5}})
 
const std::vector< std::pair< int32_t, int32_t > > C_IC ({{61, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_0 ({{77, 8}, {91, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > C_IS ({{121, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > I_0 ({{137, 8}, {151, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > C_RC ({{181, 16}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA ({{197, 8}, {211, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > OMEGA_DOT ({{241, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > IODE_SF3 ({{271, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > I_DOT ({{279, 14}})
 
const std::vector< std::pair< int32_t, int32_t > > SV_DATA_ID ({{61, 2}})
 
const std::vector< std::pair< int32_t, int32_t > > SV_PAGE ({{63, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > ALPHA_0 ({{69, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > ALPHA_1 ({{77, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > ALPHA_2 ({{91, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > ALPHA_3 ({{99, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > BETA_0 ({{107, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > BETA_1 ({{121, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > BETA_2 ({{129, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > BETA_3 ({{137, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > A_1 ({{151, 24}})
 
const std::vector< std::pair< int32_t, int32_t > > A_0 ({{181, 24}, {211, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > T_OT ({{219, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_T ({{227, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTAT_LS ({{241, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_LSF ({{249, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > DN ({{257, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > DELTAT_LSF ({{271, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV25 ({{229, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV26 ({{241, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV27 ({{247, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV28 ({{253, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV29 ({{259, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV30 ({{271, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV31 ({{277, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV32 ({{283, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > T_OA ({{69, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > WN_A ({{77, 8}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV1 ({{91, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV2 ({{97, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV3 ({{103, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV4 ({{109, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV5 ({{121, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV6 ({{127, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV7 ({{133, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV8 ({{139, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV9 ({{151, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV10 ({{157, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV11 ({{163, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV12 ({{169, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV13 ({{181, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV14 ({{187, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV15 ({{193, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV16 ({{199, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV17 ({{211, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV18 ({{217, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV19 ({{223, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV20 ({{229, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV21 ({{241, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV22 ({{247, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV23 ({{253, 6}})
 
const std::vector< std::pair< int32_t, int32_t > > HEALTH_SV24 ({{259, 6}})
 

Variables

constexpr double BEIDOU_B1I_FREQ_HZ = FREQ1_BDS
 B1I [Hz]. More...
 
constexpr double BEIDOU_B1I_CODE_RATE_CPS = 2.046e6
 Beidou B1I code rate [chips/s]. More...
 
constexpr double BEIDOU_B1I_CODE_LENGTH_CHIPS = 2046.0
 Beidou B1I code length [chips]. More...
 
constexpr double BEIDOU_B1I_CODE_PERIOD_S = 0.001
 Beidou B1I code period [seconds]. More...
 
constexpr double BEIDOU_B1I_PREAMBLE_DURATION_S = 0.220
 
constexpr uint32_t BEIDOU_B1I_CODE_PERIOD_MS = 1
 Beidou B1I code period [ms]. More...
 
constexpr uint32_t BEIDOU_B1I_PREAMBLE_LENGTH_BITS = 11
 
constexpr uint32_t BEIDOU_B1I_PREAMBLE_LENGTH_SYMBOLS = 220
 
constexpr int32_t BEIDOU_B1I_SECONDARY_CODE_LENGTH = 20
 
constexpr int32_t BEIDOU_B1I_GEO_PREAMBLE_LENGTH_SYMBOLS = 22
 
constexpr int32_t BEIDOU_B1I_PREAMBLE_DURATION_MS = 220
 
constexpr int32_t BEIDOU_B1I_TELEMETRY_RATE_BITS_SECOND = 50
 
constexpr int32_t BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT = 20
 
constexpr int32_t BEIDOU_B1I_GEO_TELEMETRY_SYMBOLS_PER_BIT = 2
 
constexpr int32_t BEIDOU_B1I_TELEMETRY_SYMBOL_PERIOD_MS = static_cast<int32_t>(static_cast<uint32_t>(BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT) * BEIDOU_B1I_CODE_PERIOD_MS)
 
constexpr int32_t BEIDOU_B1I_TELEMETRY_RATE_SYMBOLS_SECOND = BEIDOU_B1I_TELEMETRY_RATE_BITS_SECOND * BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT
 
constexpr char BEIDOU_B1I_SECONDARY_CODE_STR [21] = "00000100110101001110"
 
constexpr char BEIDOU_B1I_GEO_PREAMBLE_SYMBOLS_STR [23] = "1111110000001100001100"
 
constexpr char BEIDOU_B1I_D2_SECONDARY_CODE_STR [3] = "00"
 
constexpr double BEIDOU_B3I_FREQ_HZ = FREQ3_BDS
 BeiDou B3I [Hz]. More...
 
constexpr double BEIDOU_B3I_CODE_RATE_CPS = 10.23e6
 BeiDou B3I code rate [chips/s]. More...
 
constexpr double BEIDOU_B3I_CODE_LENGTH_CHIPS = 10230.0
 BeiDou B3I code length [chips]. More...
 
constexpr double BEIDOU_B3I_CODE_PERIOD_S = 0.001
 BeiDou B3I code period [seconds]. More...
 
constexpr double BEIDOU_B3I_PREAMBLE_DURATION_S = 0.220
 
constexpr uint32_t BEIDOU_B3I_CODE_PERIOD_MS = 1
 BeiDou B3I code period [ms]. More...
 
constexpr uint32_t BEIDOU_B3I_PREAMBLE_LENGTH_BITS = 11
 
constexpr uint32_t BEIDOU_B3I_PREAMBLE_LENGTH_SYMBOLS = 220
 
constexpr int32_t BEIDOU_B3I_SECONDARY_CODE_LENGTH = 20
 
constexpr int32_t BEIDOU_B3I_GEO_PREAMBLE_LENGTH_SYMBOLS = 22
 
constexpr int32_t BEIDOU_B3I_PREAMBLE_DURATION_MS = 220
 
constexpr int32_t BEIDOU_B3I_TELEMETRY_RATE_BITS_SECOND = 50
 D1 NAV message bit rate [bits/s]. More...
 
constexpr int32_t BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT = 20
 
constexpr int32_t BEIDOU_B3I_GEO_TELEMETRY_SYMBOLS_PER_BIT = 2
 
constexpr int32_t BEIDOU_B3I_TELEMETRY_SYMBOL_PERIOD_MS = static_cast<int32_t>(static_cast<uint32_t>(BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT) * BEIDOU_B3I_CODE_PERIOD_MS)
 
constexpr int32_t BEIDOU_B3I_TELEMETRY_RATE_SYMBOLS_SECOND = BEIDOU_B3I_TELEMETRY_RATE_BITS_SECOND * BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT
 
constexpr char BEIDOU_B3I_SECONDARY_CODE_STR [21] = "00000100110101001110"
 
constexpr char BEIDOU_B3I_GEO_PREAMBLE_SYMBOLS_STR [23] = "1111110000001100001100"
 
constexpr char BEIDOU_B3I_D2_SECONDARY_CODE_STR [3] = "00"
 
constexpr double D1_TOC_LSB = TWO_P3
 
constexpr double D1_TGD1_LSB = 0.1e-9
 
constexpr double D1_TGD2_LSB = 0.1e-9
 
constexpr double D1_ALPHA0_LSB = TWO_N30
 
constexpr double D1_ALPHA1_LSB = TWO_N27
 
constexpr double D1_ALPHA2_LSB = TWO_N24
 
constexpr double D1_ALPHA3_LSB = TWO_N24
 
constexpr double D1_BETA0_LSB = TWO_P11
 
constexpr double D1_BETA1_LSB = TWO_P14
 
constexpr double D1_BETA2_LSB = TWO_P16
 
constexpr double D1_BETA3_LSB = TWO_P16
 
constexpr double D1_A2_LSB = TWO_N66
 
constexpr double D1_A0_LSB = TWO_N33
 
constexpr double D1_A1_LSB = TWO_N50
 
constexpr double D1_DELTA_N_LSB = PI_TWO_N43
 
constexpr double D1_CUC_LSB = TWO_N31
 
constexpr double D1_M0_LSB = PI_TWO_N31
 
constexpr double D1_E_LSB = TWO_N33
 
constexpr double D1_CUS_LSB = TWO_N31
 
constexpr double D1_CRC_LSB = TWO_N6
 
constexpr double D1_CRS_LSB = TWO_N6
 
constexpr double D1_SQRT_A_LSB = TWO_N19
 
constexpr double D1_TOE_LSB = TWO_P3
 
constexpr double D1_I0_LSB = PI_TWO_N31
 
constexpr double D1_CIC_LSB = TWO_N31
 
constexpr double D1_OMEGA_DOT_LSB = PI_TWO_N43
 
constexpr double D1_CIS_LSB = TWO_N31
 
constexpr double D1_IDOT_LSB = PI_TWO_N43
 
constexpr double D1_OMEGA0_LSB = PI_TWO_N31
 
constexpr double D1_OMEGA_LSB = PI_TWO_N31
 
constexpr double D1_SQRT_A_ALMANAC_LSB = TWO_N11
 
constexpr double D1_A1_ALMANAC_LSB = TWO_N38
 
constexpr double D1_A0_ALMANAC_LSB = TWO_N20
 
constexpr double D1_OMEGA0_ALMANAC_LSB = PI_TWO_N23
 
constexpr double D1_E_ALMANAC_LSB = TWO_N21
 
constexpr double D1_DELTA_I_LSB = PI_TWO_N19
 
constexpr double D1_TOA_LSB = TWO_P12
 
constexpr double D1_OMEGA_DOT_ALMANAC_LSB = PI_TWO_N38
 
constexpr double D1_OMEGA_ALMANAC_LSB = PI_TWO_N23
 
constexpr double D1_M0_ALMANAC_LSB = PI_TWO_N23
 
constexpr double D1_A0GPS_LSB = 0.1e-9
 
constexpr double D1_A1GPS_LSB = 0.1e-9
 
constexpr double D1_A0GAL_LSB = 0.1e-9
 
constexpr double D1_A1GAL_LSB = 0.1e-9
 
constexpr double D1_A0GLO_LSB = 0.1e-9
 
constexpr double D1_A1GLO_LSB = 0.1e-9
 
constexpr double D1_A0UTC_LSB = TWO_N30
 
constexpr double D1_A1UTC_LSB = TWO_N50
 
constexpr int32_t BEIDOU_DNAV_PREAMBLE_LENGTH_BITS = 11
 
constexpr int32_t BEIDOU_DNAV_PREAMBLE_LENGTH_SYMBOLS = 11
 
constexpr int32_t BEIDOU_DNAV_PREAMBLE_PERIOD_SYMBOLS = 300
 
constexpr int32_t BEIDOU_DNAV_SUBFRAME_DATA_BITS = 300
 Number of bits per subframe in the NAV message [bits]. More...
 
constexpr int32_t BEIDOU_DNAV_BDT2GPST_LEAP_SEC_OFFSET = 14
 
constexpr int32_t BEIDOU_DNAV_BDT2GPST_WEEK_NUM_OFFSET = 1356
 
constexpr uint32_t BEIDOU_DNAV_SUBFRAME_SYMBOLS = 300
 
constexpr uint32_t BEIDOU_DNAV_WORDS_SUBFRAME = 10
 
constexpr uint32_t BEIDOU_DNAV_WORD_LENGTH_BITS = 30
 
constexpr char BEIDOU_DNAV_PREAMBLE [12] = "11100010010"
 
const std::string TEXT_RESET = "\033[0m"
 
const std::string TEXT_BLACK = "\033[30m"
 
const std::string TEXT_RED = "\033[31m"
 
const std::string TEXT_GREEN = "\033[32m"
 
const std::string TEXT_YELLOW = "\033[33m"
 
const std::string TEXT_BLUE = "\033[34m"
 
const std::string TEXT_MAGENTA = "\033[35m"
 
const std::string TEXT_CYAN = "\033[36m"
 
const std::string TEXT_WHITE = "\033[37m"
 
const std::string TEXT_BOLD_BLACK = "\033[1m\033[30m"
 
const std::string TEXT_BOLD_RED = "\033[1m\033[31m"
 
const std::string TEXT_BOLD_GREEN = "\033[1m\033[32m"
 
const std::string TEXT_BOLD_YELLOW = "\033[1m\033[33m"
 
const std::string TEXT_BOLD_BLUE = "\033[1m\033[34m"
 
const std::string TEXT_BOLD_MAGENTA = "\033[1m\033[35m"
 
const std::string TEXT_BOLD_CYAN = "\033[1m\033[36m"
 
const std::string TEXT_BOLD_WHITE = "\033[1m\033[37m"
 
constexpr size_t HAS_MSG_NSYS_LENGTH = 4
 
constexpr size_t HAS_MSG_ID_MASK_LENGTH = 4
 
constexpr size_t HAS_MSG_SATELLITE_MASK_LENGTH = 40
 
constexpr size_t HAS_MSG_SIGNAL_MASK_LENGTH = 16
 
constexpr size_t HAS_MSG_NAV_MESSAGE_LENGTH = 3
 
constexpr size_t HAS_MSG_MASK_RESERVED_LENGTH = 6
 
constexpr size_t HAS_MSG_VALIDITY_INDEX_LENGTH = 4
 
constexpr size_t HAS_MSG_IOD_GPS_LENGTH = 8
 
constexpr size_t HAS_MSG_IOD_GAL_LENGTH = 10
 
constexpr size_t HAS_MSG_DELTA_RADIAL_LENGTH = 13
 
constexpr size_t HAS_MSG_DELTA_IN_TRACK_LENGTH = 12
 
constexpr size_t HAS_MSG_DELTA_CROSS_TRACK_LENGTH = 12
 
constexpr size_t HAS_MSG_DELTA_CLOCK_MULTIPLIER_LENGTH = 2
 
constexpr size_t HAS_MSG_DELTA_CLOCK_CORRECTION_LENGTH = 13
 
constexpr size_t HAS_MSG_NSYS_SUB_LENGTH = 4
 
constexpr size_t HAS_MSG_ID_CLOCK_SUBSET_LENGTH = 4
 
constexpr size_t HAS_MSG_DELTA_CLOCK_MULTIPLIER_SUBSET_LENGTH = 2
 
constexpr size_t HAS_MSG_DELTA_CLOCK_CORRECTION_SUBSET_LENGTH = 13
 
constexpr size_t HAS_MSG_CODE_BIAS_LENGTH = 11
 
constexpr size_t HAS_MSG_PHASE_BIAS_LENGTH = 11
 
constexpr size_t HAS_MSG_PHASE_DISCONTINUITY_INDICATOR_LENGTH = 2
 
constexpr uint64_t MAX_SECONDS_REMEMBERING_MID = 150
 
constexpr int32_t GALILEO_CNAV_SYMBOLS_PER_PAGE = 1000
 
constexpr int32_t GALILEO_CNAV_PREAMBLE_PERIOD_SYMBOLS = 1000
 
constexpr int32_t GALILEO_CNAV_PAGE_MS = 1
 
constexpr int32_t GALILEO_CNAV_INTERLEAVER_ROWS = 8
 
constexpr int32_t GALILEO_CNAV_INTERLEAVER_COLS = 123
 
constexpr int32_t GALILEO_CNAV_TELEMETRY_RATE_BITS_SECOND = 1000
 
constexpr int32_t GALILEO_CNAV_HAS_PAGE_DATA_BITS = 448
 
constexpr int32_t GALILEO_CNAV_PAGE_RESERVED_BITS = 14
 
constexpr int32_t GALILEO_CNAV_BYTES_FOR_CRC = 58
 
constexpr int32_t GALILEO_CNAV_CRC_LENGTH = 24
 
constexpr int32_t GALILEO_CNAV_MESSAGE_BITS_PER_PAGE = 424
 
constexpr int32_t GALILEO_CNAV_PAGE_HEADER_BITS = 24
 
constexpr int32_t GALILEO_CNAV_PREAMBLE_LENGTH_BITS = 16
 
constexpr int32_t GALILEO_CNAV_MAX_NUMBER_SYMBOLS_ENCODED_BLOCK = 255
 
constexpr int32_t GALILEO_CNAV_MT1_HEADER_BITS = 32
 
constexpr int32_t GALILEO_CNAV_OCTETS_IN_SUBPAGE = 53
 
constexpr int32_t GALILEO_CNAV_INFORMATION_VECTOR_LENGTH = 32
 
constexpr int32_t GALILEO_CNAV_BITS_FOR_CRC = GALILEO_CNAV_HAS_PAGE_DATA_BITS + GALILEO_CNAV_PAGE_RESERVED_BITS
 
constexpr int32_t HAS_MSG_NUMBER_MASK_IDS = 32
 
constexpr int32_t HAS_MSG_NUMBER_GNSS_IDS = 16
 
constexpr int32_t HAS_MSG_NUMBER_MESSAGE_IDS = 32
 
constexpr int32_t HAS_MSG_NUMBER_SATELLITE_IDS = 40
 
constexpr int32_t HAS_MSG_NUMBER_SIGNAL_MASKS = 16
 
constexpr float HAS_MSG_DELTA_RADIAL_SCALE_FACTOR = 0.0025
 
constexpr float HAS_MSG_DELTA_IN_TRACK_SCALE_FACTOR = 0.008
 
constexpr float HAS_MSG_DELTA_CROSS_TRACK_SCALE_FACTOR = 0.008
 
constexpr float HAS_MSG_DELTA_CLOCK_SCALE_FACTOR = 0.0025
 
constexpr float HAS_MSG_CODE_BIAS_SCALE_FACTOR = 0.02
 
constexpr float HAS_MSG_PHASE_BIAS_SCALE_FACTOR = 0.01
 
constexpr uint16_t HAS_MSG_NUMBER_MAX_TOH = 3599
 
constexpr uint8_t HAS_MSG_GPS_SYSTEM = 0
 
constexpr uint8_t HAS_MSG_GALILEO_SYSTEM = 2
 
constexpr uint8_t HAS_MSG_WRONG_SYSTEM = 255
 
constexpr char GALILEO_CNAV_PREAMBLE [17] = "1011011101110000"
 
const std::unordered_map< uint8_t, std::unordered_map< uint8_t, std::string > > HAS_SIGNAL_INDEX_TABLE
 
const std::unordered_map< uint8_t, uint16_t > HAS_VALIDITY_INTERVALS
 
constexpr double GALILEO_E1_FREQ_HZ = FREQ1
 Galileo E1 carrier frequency [Hz]. More...
 
constexpr double GALILEO_E1_CODE_CHIP_RATE_CPS = 1.023e6
 Galileo E1 code rate [chips/s]. More...
 
constexpr double GALILEO_E1_CODE_PERIOD_S = 0.004
 Galileo E1 code period [s]. More...
 
constexpr double GALILEO_E1_SUB_CARRIER_A_RATE_HZ = 1.023e6
 Galileo E1 sub-carrier 'a' rate [Hz]. More...
 
constexpr double GALILEO_E1_SUB_CARRIER_B_RATE_HZ = 6.138e6
 Galileo E1 sub-carrier 'b' rate [Hz]. More...
 
constexpr double GALILEO_E1_B_CODE_LENGTH_CHIPS = 4092.0
 Galileo E1-B code length [chips]. More...
 
constexpr double GALILEO_E1_B_SYMBOL_RATE_BPS = 250.0
 Galileo E1-B symbol rate [bits/second]. More...
 
constexpr uint32_t GALILEO_E1_CODE_PERIOD_MS = 4
 Galileo E1 code period [ms]. More...
 
constexpr int32_t GALILEO_E1_B_SAMPLES_PER_SYMBOL = 1
 (Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS) / Galileo_E1_B_SYMBOL_RATE_BPS More...
 
constexpr int32_t GALILEO_E1_C_SECONDARY_CODE_LENGTH = 25
 Galileo E1-C secondary code length [chips]. More...
 
constexpr int32_t GALILEO_E1_NUMBER_OF_CODES = 50
 
constexpr uint32_t GALILEO_E1_OPT_ACQ_FS_SPS = 2000000
 Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate. More...
 
constexpr int32_t GALILEO_E1_HISTORY_DEEP = 100
 Observable history length for interpotalion. More...
 
constexpr char GALILEO_E1_C_SECONDARY_CODE [26] = "0011100000001010110110010"
 
constexpr size_t GALILEO_E1_B_PRIMARY_CODE_STR_LENGTH = 1023
 
constexpr char GALILEO_E1_B_PRIMARY_CODE [GALILEO_E1_NUMBER_OF_CODES][1024]
 
constexpr size_t GALILEO_E1_C_PRIMARY_CODE_STR_LENGTH = 1023
 
constexpr char GALILEO_E1_C_PRIMARY_CODE [GALILEO_E1_NUMBER_OF_CODES][1024]
 
constexpr double GALILEO_E5A_FREQ_HZ = FREQ5
 Galileo E5a carrier frequency [Hz]. More...
 
constexpr double GALILEO_E5A_CODE_CHIP_RATE_CPS = 1.023e7
 Galileo E5a code rate [chips/s]. More...
 
constexpr double GALILEO_E5A_I_TIERED_CODE_PERIOD_S = 0.020
 Galileo E5a-I tiered code period [s]. More...
 
constexpr double GALILEO_E5A_Q_TIERED_CODE_PERIOD_S = 0.100
 Galileo E5a-Q tiered code period [s]. More...
 
constexpr double GALILEO_E5A_CODE_PERIOD_S = 0.001
 Galileo E5a primary code period [s]. More...
 
constexpr int32_t GALILEO_E5A_CODE_LENGTH_CHIPS = 10230
 Galileo E5a primary code length [chips]. More...
 
constexpr int32_t GALILEO_E5A_I_SECONDARY_CODE_LENGTH = 20
 Galileo E5a-I secondary code length [chips]. More...
 
constexpr int32_t GALILEO_E5A_Q_SECONDARY_CODE_LENGTH = 100
 Galileo E5a-Q secondary code length [chips]. More...
 
constexpr int32_t GALILEO_E5A_CODE_PERIOD_MS = 1
 Galileo E5a primary code period [ms]. More...
 
constexpr int32_t GALILEO_E5A_SYMBOL_RATE_BPS = 50
 Galileo E5a symbol rate [bits/second]. More...
 
constexpr int32_t GALILEO_E5A_NUMBER_OF_CODES = 50
 
constexpr int32_t GALILEO_E5A_HISTORY_DEEP = 20
 
constexpr int32_t GALILEO_E5A_CRC_ERROR_LIMIT = 6
 
constexpr uint32_t GALILEO_E5A_OPT_ACQ_FS_SPS = 10000000
 Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate. More...
 
constexpr int32_t GALILEO_FNAV_PREAMBLE_LENGTH_BITS = 12
 
constexpr int32_t GALILEO_FNAV_CODES_PER_SYMBOL = 20
 
constexpr int32_t GALILEO_FNAV_CODES_PER_PREAMBLE = 240
 
constexpr int32_t GALILEO_FNAV_SYMBOLS_PER_PAGE = 500
 
constexpr int32_t GALILEO_FNAV_SECONDS_PER_PAGE = 10
 
constexpr int32_t GALILEO_FNAV_CODES_PER_PAGE = 10000
 
constexpr int32_t GALILEO_FNAV_INTERLEAVER_ROWS = 8
 
constexpr int32_t GALILEO_FNAV_INTERLEAVER_COLS = 61
 
constexpr int32_t GALILEO_FNAV_PAGE_TYPE_BITS = 6
 
constexpr int32_t GALILEO_FNAV_DATA_FRAME_BITS = 214
 
constexpr int32_t GALILEO_FNAV_DATA_FRAME_BYTES = 27
 
constexpr char GALILEO_FNAV_PREAMBLE [13] = "101101110000"
 
constexpr size_t GALILEO_E5A_I_PRIMARY_CODE_STR_LENGTH = 2558
 
constexpr char GALILEO_E5A_I_PRIMARY_CODE [GALILEO_E5A_NUMBER_OF_CODES][2559]
 
constexpr size_t GALILEO_E5A_Q_PRIMARY_CODE_STR_LENGTH = 2558
 
constexpr char GALILEO_E5A_Q_PRIMARY_CODE [GALILEO_E5A_NUMBER_OF_CODES][2559]
 
constexpr char GALILEO_E5A_I_SECONDARY_CODE [] = "10000100001011101001"
 
constexpr size_t GALILEO_E5A_Q_SECONDARY_CODE_STR_LENGTH = 100
 
constexpr char GALILEO_E5A_Q_SECONDARY_CODE [GALILEO_E5A_NUMBER_OF_CODES][101]
 
constexpr double GALILEO_E5B_FREQ_HZ = FREQ7
 Galileo E5b carrier frequency [Hz]. More...
 
constexpr double GALILEO_E5B_CODE_CHIP_RATE_CPS = 1.023e7
 Galileo E5b code rate [chips/s]. More...
 
constexpr double GALILEO_E5B_I_TIERED_CODE_PERIOD_S = 0.004
 Galileo E5b-I tiered code period [s]. More...
 
constexpr double GALILEO_E5B_Q_TIERED_CODE_PERIOD_S = 0.100
 Galileo E5b-Q tiered code period [s]. More...
 
constexpr double GALILEO_E5B_CODE_PERIOD_S = 0.001
 Galileo E5b primary code period [s]. More...
 
constexpr int32_t GALILEO_E5B_CODE_PERIOD_MS = 1
 Galileo E5b primary code period [ms]. More...
 
constexpr int32_t GALILEO_E5B_CODE_LENGTH_CHIPS = 10230
 Galileo E5b primary code length [chips]. More...
 
constexpr int32_t GALILEO_E5B_I_SECONDARY_CODE_LENGTH = 4
 Galileo E5b-I secondary code length [chips]. More...
 
constexpr int32_t GALILEO_E5B_Q_SECONDARY_CODE_LENGTH = 100
 Galileo E5b-Q secondary code length [chips]. More...
 
constexpr int32_t GALILEO_E5B_SYMBOL_RATE_BPS = 250
 Galileo E5b symbol rate [bits/second]. More...
 
constexpr int32_t GALILEO_E5B_NUMBER_OF_CODES = 50
 
constexpr int32_t GALILEO_E5B_HISTORY_DEEP = 100
 
constexpr uint32_t GALILEO_E5B_OPT_ACQ_FS_SPS = 10000000
 Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate. More...
 
constexpr char GALILEO_E5B_I_SECONDARY_CODE [5] = "1110"
 
constexpr size_t GALILEO_E5B_I_PRIMARY_CODE_STR_LENGTH = 2558
 
constexpr char GALILEO_E5B_I_PRIMARY_CODE [GALILEO_E5B_NUMBER_OF_CODES][2559]
 
constexpr size_t GALILEO_E5B_Q_PRIMARY_CODE_STR_LENGTH = 2558
 
constexpr char GALILEO_E5B_Q_PRIMARY_CODE [GALILEO_E5B_NUMBER_OF_CODES][2559]
 
constexpr size_t GALILEO_E5B_Q_SECONDARY_CODE_STR_LENGTH = 100
 
constexpr char GALILEO_E5B_Q_SECONDARY_CODE [GALILEO_E5B_NUMBER_OF_CODES][101]
 
constexpr double GALILEO_E6_FREQ_HZ = FREQ6
 Galileo E6 carrier frequency [Hz]. More...
 
constexpr double GALILEO_E6_B_CODE_CHIP_RATE_CPS = 5.115e6
 Galileo E6 B code rate [chips/s]. More...
 
constexpr double GALILEO_E6_C_CODE_CHIP_RATE_CPS = 5.115e6
 Galileo E6 C code rate [chips/s]. More...
 
constexpr double GALILEO_E6_CODE_PERIOD_S = 0.001
 Galileo E6 code period [s]. More...
 
constexpr double GALILEO_E6_B_CODE_LENGTH_CHIPS = 5115.0
 Galileo E6 B code length [chips]. More...
 
constexpr double GALILEO_E6_C_CODE_LENGTH_CHIPS = 5115.0
 Galileo E6 C code length [chips]. More...
 
constexpr double GALILEO_E6_C_SECONDARY_CODE_LENGTH_CHIPS = 100.0
 Galileo E6 C secondary code length [chips]. More...
 
constexpr uint32_t GALILEO_E6_CODE_PERIOD_MS = 1
 Galileo E& B/C code period [ms]. More...
 
constexpr int32_t GALILEO_E6_NUMBER_OF_CODES = 50
 
constexpr uint32_t GALILEO_E6_OPT_ACQ_FS_SPS = 10000000
 
constexpr size_t GALILEO_E6_B_PRIMARY_CODE_STR_LENGTH = 1279
 
constexpr char GALILEO_E6_B_PRIMARY_CODE [GALILEO_E6_NUMBER_OF_CODES][1280]
 
constexpr size_t GALILEO_E6_C_PRIMARY_CODE_STR_LENGTH = 1279
 
constexpr char GALILEO_E6_C_PRIMARY_CODE [GALILEO_E6_NUMBER_OF_CODES][1280]
 
constexpr size_t GALILEO_E6_C_SECONDARY_CODE_STR_LENGTH = 25
 
constexpr char GALILEO_E6_C_SECONDARY_CODE [GALILEO_E6_NUMBER_OF_CODES][26]
 
constexpr int32_t FNAV_T0C_1_LSB = 60
 
constexpr double FNAV_AF0_1_LSB = TWO_N34
 
constexpr double FNAV_AF1_1_LSB = TWO_N46
 
constexpr double FNAV_AF2_1_LSB = TWO_N59
 
constexpr double FNAV_AI0_1_LSB = TWO_N2
 
constexpr double FNAV_AI1_1_LSB = TWO_N8
 
constexpr double FNAV_AI2_1_LSB = TWO_N15
 
constexpr double FNAV_BGD_1_LSB = TWO_N32
 
constexpr double FNAV_M0_2_LSB = PI_TWO_N31
 
constexpr double FNAV_OMEGADOT_2_LSB = PI_TWO_N43
 
constexpr double FNAV_E_2_LSB = TWO_N33
 
constexpr double FNAV_A12_2_LSB = TWO_N19
 
constexpr double FNAV_OMEGA0_2_LSB = PI_TWO_N31
 
constexpr double FNAV_IDOT_2_LSB = PI_TWO_N43
 
constexpr double FNAV_I0_3_LSB = PI_TWO_N31
 
constexpr double FNAV_W_3_LSB = PI_TWO_N31
 
constexpr double FNAV_DELTAN_3_LSB = PI_TWO_N43
 
constexpr double FNAV_CUC_3_LSB = TWO_N29
 
constexpr double FNAV_CUS_3_LSB = TWO_N29
 
constexpr double FNAV_CRC_3_LSB = TWO_N5
 
constexpr double FNAV_CRS_3_LSB = TWO_N5
 
constexpr int32_t FNAV_T0E_3_LSB = 60
 
constexpr double FNAV_CIC_4_LSB = TWO_N29
 
constexpr double FNAV_CIS_4_LSB = TWO_N29
 
constexpr double FNAV_A0_4_LSB = TWO_N30
 
constexpr double FNAV_A1_4_LSB = TWO_N50
 
constexpr int32_t FNAV_T0T_4_LSB = 3600
 
constexpr int32_t FNAV_T0G_4_LSB = 3600
 
constexpr double FNAV_A0G_4_LSB = TWO_N35
 
constexpr double FNAV_A1G_4_LSB = TWO_N51
 
constexpr int32_t FNAV_T0A_5_LSB = 600
 
constexpr double FNAV_DELTAA12_5_LSB = TWO_N9
 
constexpr double FNAV_E_5_LSB = TWO_N16
 
constexpr double FNAV_W_5_LSB = TWO_N15
 
constexpr double FNAV_DELTAI_5_LSB = TWO_N14
 
constexpr double FNAV_OMEGA0_5_LSB = TWO_N15
 
constexpr double FNAV_OMEGADOT_5_LSB = TWO_N33
 
constexpr double FNAV_M0_5_LSB = TWO_N15
 
constexpr double FNAV_AF0_5_LSB = TWO_N19
 
constexpr double FNAV_AF1_5_LSB = TWO_N38
 
constexpr double GALILEO_INAV_PAGE_PART_WITH_PREABLE_SECONDS = 2.04
 Page Duration + (Galileo I/NAV Preamble bits)*(Galileo E5b-I tiered Code Period(seconds)) More...
 
constexpr uint32_t GALILEO_INAV_PAGE_SYMBOLS = 500
 The complete Galileo INAV page length. More...
 
constexpr int32_t GALILEO_INAV_PREAMBLE_LENGTH_BITS = 10
 
constexpr int32_t GALILEO_INAV_PREAMBLE_PERIOD_SYMBOLS = 250
 
constexpr int32_t GALILEO_INAV_PAGE_PART_SYMBOLS = 250
 Each Galileo INAV pages are composed of two parts (even and odd) each of 250 symbols, including preamble. See Galileo ICD 4.3.2. More...
 
constexpr int32_t GALILEO_INAV_PAGE_PART_SECONDS = 1
 
constexpr int32_t GALILEO_INAV_PAGE_PART_MS = 1000
 
constexpr int32_t GALILEO_INAV_PAGE_SECONDS = 2
 
constexpr int32_t GALILEO_INAV_INTERLEAVER_ROWS = 8
 
constexpr int32_t GALILEO_INAV_INTERLEAVER_COLS = 30
 
constexpr int32_t GALILEO_TELEMETRY_RATE_BITS_SECOND = 250
 
constexpr int32_t GALILEO_PAGE_TYPE_BITS = 6
 
constexpr int32_t GALILEO_DATA_JK_BITS = 128
 
constexpr int32_t GALILEO_DATA_FRAME_BITS = 196
 
constexpr int32_t GALILEO_DATA_FRAME_BYTES = 25
 
constexpr char GALILEO_INAV_PREAMBLE [11] = "0101100000"
 
constexpr int32_t T0E_1_LSB = 60
 
constexpr double M0_1_LSB = PI_TWO_N31
 
constexpr double E_1_LSB = TWO_N33
 
constexpr double A_1_LSB_GAL = TWO_N19
 
constexpr double OMEGA_0_2_LSB = PI_TWO_N31
 
constexpr double I_0_2_LSB = PI_TWO_N31
 
constexpr double OMEGA_2_LSB = PI_TWO_N31
 
constexpr double I_DOT_2_LSB = PI_TWO_N43
 
constexpr double OMEGA_DOT_3_LSB = PI_TWO_N43
 
constexpr double DELTA_N_3_LSB = PI_TWO_N43
 
constexpr double C_UC_3_LSB = TWO_N29
 
constexpr double C_US_3_LSB = TWO_N29
 
constexpr double C_RC_3_LSB = TWO_N5
 
constexpr double C_RS_3_LSB = TWO_N5
 
constexpr double C_IC_4_LSB = TWO_N29
 
constexpr double C_IS_4_LSB = TWO_N29
 
constexpr int32_t T0C_4_LSB = 60
 
constexpr double AF0_4_LSB = TWO_N34
 
constexpr double AF1_4_LSB = TWO_N46
 
constexpr double AF2_4_LSB = TWO_N59
 
constexpr double AI0_5_LSB = TWO_N2
 
constexpr double AI1_5_LSB = TWO_N8
 
constexpr double AI2_5_LSB = TWO_N15
 
constexpr double BGD_E1_E5A_5_LSB = TWO_N32
 
constexpr double BGD_E1_E5B_5_LSB = TWO_N32
 
constexpr double A0_6_LSB = TWO_N30
 
constexpr double A1_6_LSB = TWO_N50
 
constexpr int32_t T0T_6_LSB = 3600
 
constexpr int32_t T0A_7_LSB = 600
 
constexpr double DELTA_A_7_LSB = TWO_N9
 
constexpr double E_7_LSB = TWO_N16
 
constexpr double OMEGA_7_LSB = TWO_N15
 
constexpr double DELTA_I_7_LSB = TWO_N14
 
constexpr double OMEGA0_7_LSB = TWO_N15
 
constexpr double OMEGA_DOT_7_LSB = TWO_N33
 
constexpr double M0_7_LSB = TWO_N15
 
constexpr double AF0_8_LSB = TWO_N19
 
constexpr double AF1_8_LSB = TWO_N38
 
constexpr double DELTA_A_8_LSB = TWO_N9
 
constexpr double E_8_LSB = TWO_N16
 
constexpr double OMEGA_8_LSB = TWO_N15
 
constexpr double DELTA_I_8_LSB = TWO_N14
 
constexpr double OMEGA0_8_LSB = TWO_N15
 
constexpr double OMEGA_DOT_8_LSB = TWO_N33
 
constexpr int32_t T0A_9_LSB = 600
 
constexpr double M0_9_LSB = TWO_N15
 
constexpr double AF0_9_LSB = TWO_N19
 
constexpr double AF1_9_LSB = TWO_N38
 
constexpr double DELTA_A_9_LSB = TWO_N9
 
constexpr double E_9_LSB = TWO_N16
 
constexpr double OMEGA_9_LSB = TWO_N15
 
constexpr double DELTA_I_9_LSB = TWO_N14
 
constexpr double OMEGA0_10_LSB = TWO_N15
 
constexpr double OMEGA_DOT_10_LSB = TWO_N33
 
constexpr double M0_10_LSB = TWO_N15
 
constexpr double AF0_10_LSB = TWO_N19
 
constexpr double AF1_10_LSB = TWO_N38
 
constexpr double A_0G_10_LSB = TWO_N35
 
constexpr double A_1G_10_LSB = TWO_N51
 
constexpr int32_t T_0_G_10_LSB = 3600
 
constexpr double CED_DeltaAred_LSB = TWO_P8
 
constexpr double CED_exred_LSB = TWO_N22
 
constexpr double CED_eyred_LSB = TWO_N22
 
constexpr double CED_Deltai0red_LSB = TWO_N22
 
constexpr double CED_Omega0red_LSB = TWO_N22
 
constexpr double CED_lambda0red_LSB = TWO_N22
 
constexpr double CED_af0red_LSB = TWO_N26
 
constexpr double CED_af1red_LSB = TWO_N35
 
constexpr size_t INAV_RS_SUBVECTOR_LENGTH = 15
 
constexpr size_t INAV_RS_PARITY_VECTOR_LENGTH = 60
 
constexpr size_t INAV_RS_INFO_VECTOR_LENGTH = 58
 
constexpr size_t INAV_RS_BUFFER_LENGTH = 118
 
constexpr int32_t BITS_IN_OCTET = 8
 
constexpr int32_t FIRST_RS_BIT = 7
 
constexpr int32_t FIRST_RS_BIT_AFTER_IODNAV = 17
 
constexpr char GALILEO_INAV_PLAIN_SSP1 [9] = "00000100"
 
constexpr char GALILEO_INAV_PLAIN_SSP2 [9] = "00101011"
 
constexpr char GALILEO_INAV_PLAIN_SSP3 [9] = "00101111"
 
constexpr char GALILEO_INAV_ENCODED_SSP1 [17] = "1110100100100101"
 
constexpr char GALILEO_INAV_ENCODED_SSP2 [17] = "0110110001001110"
 
constexpr char GALILEO_INAV_ENCODED_SSP3 [17] = "1101000000111110"
 
constexpr double GLONASS_F_M_A = 0.35e9
 Gravitational constant of atmosphere [m^3/s^2]. More...
 
constexpr double GLONASS_SEMI_MAJOR_AXIS = 6378136
 Semi-major axis of Earth [m]. More...
 
constexpr double GLONASS_FLATTENING = 1.0 / 29825784.0
 Flattening parameter. More...
 
constexpr double GLONASS_GRAVITY = 97803284.0
 Equatorial acceleration of gravity [mGal]. More...
 
constexpr double GLONASS_GRAVITY_CORRECTION = 0.87
 Correction to acceleration of gravity at sea-level due to Atmosphere[uGal]. More...
 
constexpr double GLONASS_J2 = 1082625.75e-9
 Second zonal harmonic of the geopotential. More...
 
constexpr double GLONASS_J4 = -2370.89e-9
 Fourth zonal harmonic of the geopotential. More...
 
constexpr double GLONASS_J6 = 6.08e-9
 Sixth zonal harmonic of the geopotential. More...
 
constexpr double GLONASS_J8 = 1.40e-11
 Eighth zonal harmonic of the geopotential. More...
 
constexpr double GLONASS_U0 = 62636861.4
 Normal potential at surface of common terrestrial ellipsoid [m^2/s^2]. More...
 
constexpr double GLONASS_C20 = -1082.63e-6
 Second zonal coefficient of spherical harmonic expansion. More...
 
constexpr double GLONASS_EARTH_RADIUS = 6378.136
 Equatorial radius of Earth [km]. More...
 
constexpr double GLONASS_EARTH_INCLINATION = 0.000409148809899e3
 Mean inclination of ecliptic to equator (23 deg 26 min 33 sec) [rad]. More...
 
constexpr double GLONASS_TAU_0 = -0.005835151531174e3
 (-334 deg 19 min 46.40 sec) [rad]; More...
 
constexpr double GLONASS_TAU_1 = 0.071018041257371e3
 (4069 deg 02 min 02.52 sec) [rad]; More...
 
constexpr double GLONASS_MOON_Q0 = -0.001115184961435e3
 (-63 deg 53 min 43.41 sec) [rad] More...
 
constexpr double GLONASS_MOON_Q1 = 8.328691103668023e3
 (477198 deg 50 min 56.79 sec) [rad] More...
 
constexpr double GLONASS_MOON_OMEGA_0 = 0.004523601514852e3
 (259 deg 10 min 59.79 sec) [rad] More...
 
constexpr double GLONASS_MOON_OMEGA_1 = -0.033757146246552e3
 (-1934 deg 08 min 31.23 sec) [rad] More...
 
constexpr double GLONASS_MOON_GM = 4902.835
 Lunar gravitational constant [km^3/s^2]. More...
 
constexpr double GLONASS_MOON_SEMI_MAJOR_AXIS = 3.84385243e5
 Semi-major axis of lunar orbit [km];. More...
 
constexpr double GLONASS_MOON_ECCENTRICITY = 0.054900489
 Eccentricity of lunar orbit. More...
 
constexpr double GLONASS_MOON_INCLINATION = 0.000089803977407e3
 Inclination of lunar orbit to ecliptic plane (5 deg 08 min 43.4 sec) [rad]. More...
 
constexpr double GLONASS_SUN_OMEGA = 0.004908229466869e3
 TODO What is this operation in the seconds with T?(281 deg 13 min 15.0 + 6189.03 x T sec) [rad]. More...
 
constexpr double GLONASS_SUN_Q0 = 0.006256583774423e3
 (358 deg 28 min 33.04 sec) [rad] More...
 
constexpr double GLONASS_SUN_Q1 = 0e3
 TODO Why is the value greater than 60?(129596579.10 sec) [rad]. More...
 
constexpr double GLONASS_SUN_GM = 0.1325263e12
 Solar gravitational constant [km^3/s^2]. More...
 
constexpr double GLONASS_SUN_SEMI_MAJOR_AXIS = 1.49598e8
 Semi-major axis of solar orbit [km];. More...
 
constexpr double GLONASS_SUN_ECCENTRICITY = 0.016719
 Eccentricity of solar orbit. More...
 
constexpr double GLONASS_L2_CA_FREQ_HZ = FREQ2_GLO
 L2 [Hz]. More...
 
constexpr double GLONASS_L2_CA_DFREQ_HZ = DFRQ2_GLO
 Freq Bias for GLONASS L1 [Hz]. More...
 
constexpr double GLONASS_L2_CA_CODE_RATE_CPS = 0.511e6
 GLONASS L1 C/A code rate [chips/s]. More...
 
constexpr double GLONASS_L2_CA_CODE_LENGTH_CHIPS = 511.0
 GLONASS L1 C/A code length [chips]. More...
 
constexpr double GLONASS_L2_CA_CODE_PERIOD_S = 0.001
 GLONASS L1 C/A code period [seconds]. More...
 
constexpr double GLONASS_L2_CA_CHIP_PERIOD_S = 1.9569e-06
 GLONASS L1 C/A chip period [seconds]. More...
 
constexpr double GLONASS_L2_CA_SYMBOL_RATE_BPS = 1000.0
 
constexpr double GLONASS_L1_CA_FREQ_HZ = FREQ1_GLO
 L1 [Hz]. More...
 
constexpr double GLONASS_L1_CA_DFREQ_HZ = DFRQ1_GLO
 Freq Bias for GLONASS L1 [Hz]. More...
 
constexpr double GLONASS_L1_CA_CODE_RATE_CPS = 0.511e6
 GLONASS L1 C/A code rate [chips/s]. More...
 
constexpr double GLONASS_L1_CA_CODE_LENGTH_CHIPS = 511.0
 GLONASS L1 C/A code length [chips]. More...
 
constexpr double GLONASS_L1_CA_CODE_PERIOD_S = 0.001
 GLONASS L1 C/A code period [seconds]. More...
 
constexpr double GLONASS_L1_CA_CHIP_PERIOD_S = 1.9569e-06
 GLONASS L1 C/A chip period [seconds]. More...
 
constexpr double GLONASS_L1_CA_SYMBOL_RATE_BPS = 1000.0
 
constexpr int32_t GLONASS_CA_NBR_SATS = 24
 
constexpr int32_t GLONASS_L1_CA_HISTORY_DEEP = 100
 
constexpr double GLONASS_GNAV_PREAMBLE_DURATION_S = 0.300
 
constexpr int32_t GLONASS_GNAV_PREAMBLE_LENGTH_BITS = 30
 
constexpr int32_t GLONASS_GNAV_PREAMBLE_LENGTH_SYMBOLS = 300
 
constexpr int32_t GLONASS_GNAV_PREAMBLE_PERIOD_SYMBOLS = 2000
 
constexpr int32_t GLONASS_GNAV_TELEMETRY_RATE_BITS_SECOND = 50
 NAV message bit rate [bits/s]. More...
 
constexpr int32_t GLONASS_GNAV_TELEMETRY_SYMBOLS_PER_BIT = 10
 
constexpr int32_t GLONASS_GNAV_TELEMETRY_SYMBOLS_PER_PREAMBLE_BIT = 10
 
constexpr int32_t GLONASS_GNAV_TELEMETRY_RATE_SYMBOLS_SECOND = GLONASS_GNAV_TELEMETRY_RATE_BITS_SECOND * GLONASS_GNAV_TELEMETRY_SYMBOLS_PER_BIT
 NAV message bit rate [symbols/s]. More...
 
constexpr int32_t GLONASS_GNAV_STRING_SYMBOLS = 2000
 Number of bits per string in the GNAV message (85 data bits + 30 time mark bits) [bits]. More...
 
constexpr int32_t GLONASS_GNAV_STRING_BITS = 85
 Number of bits per string in the GNAV message (85 data bits + 30 time mark bits) [bits]. More...
 
constexpr int32_t GLONASS_GNAV_HAMMING_CODE_BITS = 8
 Number of bits in hamming code sequence of GNAV message. More...
 
constexpr int32_t GLONASS_GNAV_DATA_SYMBOLS = 1700
 
constexpr double GLONASS_LEAP_SECONDS [19][7]
 Record of leap seconds definition for GLOT to GPST conversion and vice versa. More...
 
const std::map< uint32_t, int32_t > GLONASS_PRN
 
const std::vector< int32_t > GLONASS_GNAV_CRC_I_INDEX {9, 10, 12, 13, 15, 17, 19, 20, 22, 24, 26, 28, 30, 32, 34, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_J_INDEX {9, 11, 12, 14, 15, 18, 19, 21, 22, 25, 26, 29, 30, 33, 34, 36, 37, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57, 60, 61, 64, 65, 67, 68, 71, 72, 75, 76, 79, 80, 83, 84}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_K_INDEX {10, 11, 12, 16, 17, 18, 19, 23, 24, 25, 26, 31, 32, 33, 34, 38, 39, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 62, 63, 64, 65, 69, 70, 71, 72, 77, 78, 79, 80, 85}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_L_INDEX {13, 14, 15, 16, 17, 18, 19, 27, 28, 29, 30, 31, 32, 33, 34, 42, 43, 44, 45, 46, 47, 48, 49, 58, 59, 60, 61, 62, 63, 64, 65, 73, 74, 75, 76, 77, 78, 79, 80}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_M_INDEX {20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 81, 82, 83, 84, 85}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_N_INDEX {35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_P_INDEX {66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85}
 
const std::vector< int32_t > GLONASS_GNAV_CRC_Q_INDEX {9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85}
 
const std::vector< int32_t > GLONASS_GNAV_ECC_LOCATOR {0, 0, 1, 8, 2, 9, 10, 11, 3, 12, 13, 14, 15, 16, 17, 18, 4, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 5, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84}
 
constexpr double FREQ1 = 1.57542e9
 L1/E1 frequency (Hz) More...
 
constexpr double FREQ2 = 1.22760e9
 L2 frequency (Hz) More...
 
constexpr double FREQ5 = 1.17645e9
 L5/E5a frequency (Hz) More...
 
constexpr double FREQ6 = 1.27875e9
 E6/LEX frequency (Hz) More...
 
constexpr double FREQ7 = 1.20714e9
 E5b frequency (Hz) More...
 
constexpr double FREQ8 = 1.191795e9
 E5a+b frequency (Hz) More...
 
constexpr double FREQ9 = 2.492028e9
 S frequency (Hz) More...
 
constexpr double FREQ1_GLO = 1.60200e9
 GLONASS G1 base frequency (Hz) More...
 
constexpr double DFRQ1_GLO = 0.56250e6
 GLONASS G1 bias frequency (Hz/n) More...
 
constexpr double FREQ2_GLO = 1.24600e9
 GLONASS G2 base frequency (Hz) More...
 
constexpr double DFRQ2_GLO = 0.43750e6
 GLONASS G2 bias frequency (Hz/n) More...
 
constexpr double FREQ3_GLO = 1.202025e9
 GLONASS G3 frequency (Hz) More...
 
constexpr double FREQ1_BDS = 1.561098e9
 BeiDou B1 frequency (Hz) More...
 
constexpr double FREQ2_BDS = 1.20714e9
 BeiDou B2 frequency (Hz) More...
 
constexpr double FREQ3_BDS = 1.26852e9
 BeiDou B3 frequency (Hz) More...
 
const std::unordered_map< std::string, double > SIGNAL_FREQ_MAP
 
constexpr uint32_t CODE_NONE = 0
 obs code: none or unknown More...
 
constexpr uint32_t CODE_L1C = 1
 obs code: L1C/A,G1C/A,E1C (GPS,GLO,GAL,QZS,SBS) More...
 
constexpr uint32_t CODE_L1P = 2
 obs code: L1P,G1P (GPS,GLO) More...
 
constexpr uint32_t CODE_L1W = 3
 obs code: L1 Z-track (GPS) More...
 
constexpr uint32_t CODE_L1Y = 4
 obs code: L1Y (GPS) More...
 
constexpr uint32_t CODE_L1M = 5
 obs code: L1M (GPS) More...
 
constexpr uint32_t CODE_L1N = 6
 obs code: L1codeless (GPS) More...
 
constexpr uint32_t CODE_L1S = 7
 obs code: L1C(D) (GPS,QZS) More...
 
constexpr uint32_t CODE_L1L = 8
 obs code: L1C(P) (GPS,QZS) More...
 
constexpr uint32_t CODE_L1E = 9
 (not used) More...
 
constexpr uint32_t CODE_L1A = 10
 obs code: E1A (GAL) More...
 
constexpr uint32_t CODE_L1B = 11
 obs code: E1B (GAL) More...
 
constexpr uint32_t CODE_L1X = 12
 obs code: E1B+C,L1C(D+P) (GAL,QZS) More...
 
constexpr uint32_t CODE_L1Z = 13
 obs code: E1A+B+C,L1SAIF (GAL,QZS) More...
 
constexpr uint32_t CODE_L2C = 14
 obs code: L2C/A,G1C/A (GPS,GLO) More...
 
constexpr uint32_t CODE_L2D = 15
 obs code: L2 L1C/A-(P2-P1) (GPS) More...
 
constexpr uint32_t CODE_L2S = 16
 obs code: L2C(M) (GPS,QZS) More...
 
constexpr uint32_t CODE_L2L = 17
 obs code: L2C(L) (GPS,QZS) More...
 
constexpr uint32_t CODE_L2X = 18
 obs code: L2C(M+L),B1I+Q (GPS,QZS,BDS) More...
 
constexpr uint32_t CODE_L2P = 19
 obs code: L2P,G2P (GPS,GLO) More...
 
constexpr uint32_t CODE_L2W = 20
 obs code: L2 Z-track (GPS) More...
 
constexpr uint32_t CODE_L2Y = 21
 obs code: L2Y (GPS) More...
 
constexpr uint32_t CODE_L2M = 22
 obs code: L2M (GPS) More...
 
constexpr uint32_t CODE_L2N = 23
 obs code: L2codeless (GPS) More...
 
constexpr uint32_t CODE_L5I = 24
 obs code: L5/E5aI (GPS,GAL,QZS,SBS) More...
 
constexpr uint32_t CODE_L5Q = 25
 obs code: L5/E5aQ (GPS,GAL,QZS,SBS) More...
 
constexpr uint32_t CODE_L5X = 26
 obs code: L5/E5aI+Q/L5B+C (GPS,GAL,QZS,IRN,SBS) More...
 
constexpr uint32_t CODE_L7I = 27
 obs code: E5bI,B2I (GAL,BDS) More...
 
constexpr uint32_t CODE_L7Q = 28
 obs code: E5bQ,B2Q (GAL,BDS) More...
 
constexpr uint32_t CODE_L7X = 29
 obs code: E5bI+Q,B2I+Q (GAL,BDS) More...
 
constexpr uint32_t CODE_L6A = 30
 obs code: E6A (GAL) More...
 
constexpr uint32_t CODE_L6B = 31
 obs code: E6B (GAL) More...
 
constexpr uint32_t CODE_L6C = 32
 obs code: E6C (GAL) More...
 
constexpr uint32_t CODE_L6X = 33
 obs code: E6B+C,LEXS+L,B3I+Q (GAL,QZS,BDS) More...
 
constexpr uint32_t CODE_L6Z = 34
 obs code: E6A+B+C (GAL) More...
 
constexpr uint32_t CODE_L6S = 35
 obs code: LEXS (QZS) More...
 
constexpr uint32_t CODE_L6L = 36
 obs code: LEXL (QZS) More...
 
constexpr uint32_t CODE_L8I = 37
 obs code: E5(a+b)I (GAL) More...
 
constexpr uint32_t CODE_L8Q = 38
 obs code: E5(a+b)Q (GAL) More...
 
constexpr uint32_t CODE_L8X = 39
 obs code: E5(a+b)I+Q (GAL) More...
 
constexpr uint32_t CODE_L2I = 40
 obs code: B1I (BDS) More...
 
constexpr uint32_t CODE_L2Q = 41
 obs code: B1Q (BDS) More...
 
constexpr uint32_t CODE_L6I = 42
 obs code: B3I (BDS) More...
 
constexpr uint32_t CODE_L6Q = 43
 obs code: B3Q (BDS) More...
 
constexpr uint32_t CODE_L3I = 44
 obs code: G3I (GLO) More...
 
constexpr uint32_t CODE_L3Q = 45
 obs code: G3Q (GLO) More...
 
constexpr uint32_t CODE_L3X = 46
 obs code: G3I+Q (GLO) More...
 
constexpr uint32_t CODE_L1I = 47
 obs code: B1I (BDS) More...
 
constexpr uint32_t CODE_L1Q = 48
 obs code: B1Q (BDS) More...
 
constexpr uint32_t CODE_L5A = 49
 obs code: L5A SPS (IRN) More...
 
constexpr uint32_t CODE_L5B = 50
 obs code: L5B RS(D) (IRN) More...
 
constexpr uint32_t CODE_L5C = 51
 obs code: L5C RS(P) (IRN) More...
 
constexpr uint32_t CODE_L9A = 52
 obs code: SA SPS (IRN) More...
 
constexpr uint32_t CODE_L9B = 53
 obs code: SB RS(D) (IRN) More...
 
constexpr uint32_t CODE_L9C = 54
 obs code: SC RS(P) (IRN) More...
 
constexpr uint32_t CODE_L9X = 55
 obs code: SB+C (IRN) More...
 
constexpr int32_t MAXCODE = 55
 max number of obs code More...
 
constexpr int32_t GPS_CNAV_DATA_PAGE_BITS = 300
 
constexpr int32_t CNAV_TOW_LSB = 6
 
constexpr int32_t CNAV_TOP1_LSB = 300
 
constexpr int32_t CNAV_TOE1_LSB = 300
 
constexpr double CNAV_DELTA_A_LSB = TWO_N9
 
constexpr double CNAV_A_DOT_LSB = TWO_N21
 
constexpr double CNAV_DELTA_N0_LSB = TWO_N44 * GNSS_PI
 
constexpr double CNAV_DELTA_N0_DOT_LSB = TWO_N57 * GNSS_PI
 
constexpr double CNAV_M0_LSB = TWO_N32 * GNSS_PI
 
constexpr double CNAV_E_ECCENTRICITY_LSB = TWO_N34
 
constexpr double CNAV_OMEGA_LSB = TWO_N32 * GNSS_PI
 
constexpr int32_t CNAV_TOE2_LSB = 300
 
constexpr double CNAV_OMEGA0_LSB = TWO_N32 * GNSS_PI
 
constexpr double CNAV_I0_LSB = TWO_N32 * GNSS_PI
 
constexpr double CNAV_DELTA_OMEGA_DOT_LSB = TWO_N44 * GNSS_PI
 
constexpr double CNAV_I0_DOT_LSB = TWO_N44 * GNSS_PI
 
constexpr double CNAV_CIS_LSB = TWO_N30
 
constexpr double CNAV_CIC_LSB = TWO_N30
 
constexpr double CNAV_CRS_LSB = TWO_N8
 
constexpr double CNAV_CRC_LSB = TWO_N8
 
constexpr double CNAV_CUS_LSB = TWO_N30
 
constexpr double CNAV_CUC_LSB = TWO_N30
 
constexpr int32_t CNAV_TOP2_LSB = 300
 
constexpr int32_t CNAV_TOC_LSB = 300
 
constexpr double CNAV_AF0_LSB = TWO_N35
 
constexpr double CNAV_AF1_LSB = TWO_N48
 
constexpr double CNAV_AF2_LSB = TWO_N60
 
constexpr double CNAV_TGD_LSB = TWO_N35
 
constexpr double CNAV_ISCL1_LSB = TWO_N35
 
constexpr double CNAV_ISCL2_LSB = TWO_N35
 
constexpr double CNAV_ISCL5I_LSB = TWO_N35
 
constexpr double CNAV_ISCL5Q_LSB = TWO_N35
 
constexpr double CNAV_ALPHA0_LSB = TWO_N30
 
constexpr double CNAV_ALPHA1_LSB = TWO_N27
 
constexpr double CNAV_ALPHA2_LSB = TWO_N24
 
constexpr double CNAV_ALPHA3_LSB = TWO_N24
 
constexpr double CNAV_BETA0_LSB = TWO_P11
 
constexpr double CNAV_BETA1_LSB = TWO_P14
 
constexpr double CNAV_BETA2_LSB = TWO_P16
 
constexpr double CNAV_BETA3_LSB = TWO_P16
 
constexpr double CNAV_A0_LSB = TWO_N35
 
constexpr double CNAV_A1_LSB = TWO_N51
 
constexpr double CNAV_A2_LSB = TWO_N68
 
constexpr int32_t CNAV_DELTA_TLS_LSB = 1
 
constexpr int32_t CNAV_TOT_LSB = TWO_P4
 
constexpr int32_t CNAV_WN_OT_LSB = 1
 
constexpr int32_t CNAV_WN_LSF_LSB = 1
 
constexpr int32_t CNAV_DN_LSB = 1
 
constexpr int32_t CNAV_DELTA_TLSF_LSB = 1
 
constexpr double CNAV_A_REF = 26559710.0
 
constexpr double CNAV_OMEGA_DOT_REF = -2.6e-9
 
constexpr double GPS_L1_FREQ_HZ = FREQ1
 L1 [Hz]. More...
 
constexpr double GPS_L1_CA_CODE_RATE_CPS = 1.023e6
 GPS L1 C/A code rate [chips/s]. More...
 
constexpr double GPS_L1_CA_CODE_LENGTH_CHIPS = 1023.0
 GPS L1 C/A code length [chips]. More...
 
constexpr double GPS_L1_CA_CODE_PERIOD_S = 0.001
 GPS L1 C/A code period [seconds]. More...
 
constexpr double GPS_L1_CA_CHIP_PERIOD_S = 9.7752e-07
 GPS L1 C/A chip period [seconds]. More...
 
constexpr uint32_t GPS_L1_CA_CODE_PERIOD_MS = 1U
 GPS L1 C/A code period [ms]. More...
 
constexpr uint32_t GPS_L1_CA_BIT_PERIOD_MS = 20U
 GPS L1 C/A bit period [ms]. More...
 
constexpr double MAX_TOA_DELAY_MS = 20.0
 Maximum Time-Of-Arrival (TOA) difference between satellites for a receiver operated on Earth surface is 20 ms. More...
 
constexpr uint32_t GPS_L1_CA_OPT_ACQ_FS_SPS = 2000000
 Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate. More...
 
constexpr int32_t GPS_L1_CA_HISTORY_DEEP = 100
 
constexpr double GPS_CA_PREAMBLE_DURATION_S = 0.160
 
constexpr int32_t GPS_CA_PREAMBLE_LENGTH_BITS = 8
 
constexpr int32_t GPS_CA_PREAMBLE_LENGTH_SYMBOLS = 160
 
constexpr int32_t GPS_CA_PREAMBLE_DURATION_MS = 160
 
constexpr int32_t GPS_CA_TELEMETRY_RATE_BITS_SECOND = 50
 NAV message bit rate [bits/s]. More...
 
constexpr int32_t GPS_CA_TELEMETRY_SYMBOLS_PER_BIT = 20
 
constexpr int32_t GPS_CA_TELEMETRY_RATE_SYMBOLS_SECOND = GPS_CA_TELEMETRY_RATE_BITS_SECOND * GPS_CA_TELEMETRY_SYMBOLS_PER_BIT
 NAV message bit rate [symbols/s]. More...
 
constexpr int32_t GPS_WORD_LENGTH = 4
 CRC + GPS WORD (-2 -1 0 ... 29) Bits = 4 bytes. More...
 
constexpr int32_t GPS_SUBFRAME_LENGTH = 40
 GPS_WORD_LENGTH x 10 = 40 bytes. More...
 
constexpr int32_t GPS_SUBFRAME_BITS = 300
 Number of bits per subframe in the NAV message [bits]. More...
 
constexpr int32_t GPS_SUBFRAME_SECONDS = 6
 Subframe duration [seconds]. More...
 
constexpr int32_t GPS_SUBFRAME_MS = 6000
 Subframe duration [seconds]. More...
 
constexpr int32_t GPS_WORD_BITS = 30
 Number of bits per word in the NAV message [bits]. More...
 
constexpr char GPS_CA_PREAMBLE [9] = "10001011"
 
constexpr char GPS_CA_PREAMBLE_SYMBOLS_STR [161] = "1111111111111111111100000000000000000000000000000000000000000000000000000000000011111111111111111111000000000000000000001111111111111111111111111111111111111111"
 
constexpr double T_GD_LSB = TWO_N31
 
constexpr int32_t T_OC_LSB = static_cast<int32_t>(TWO_P4)
 
constexpr double A_F2_LSB = TWO_N55
 
constexpr double A_F1_LSB = TWO_N43
 
constexpr double A_F0_LSB = TWO_N31
 
constexpr double C_RS_LSB = TWO_N5
 
constexpr double DELTA_N_LSB = PI_TWO_N43
 
constexpr double M_0_LSB = PI_TWO_N31
 
constexpr double C_UC_LSB = TWO_N29
 
constexpr double ECCENTRICITY_LSB = TWO_N33
 
constexpr double C_US_LSB = TWO_N29
 
constexpr double SQRT_A_LSB = TWO_N19
 
constexpr int32_t T_OE_LSB = static_cast<int32_t>(TWO_P4)
 
constexpr int32_t AODO_LSB = 900
 
constexpr double C_IC_LSB = TWO_N29
 
constexpr double OMEGA_0_LSB = PI_TWO_N31
 
constexpr double C_IS_LSB = TWO_N29
 
constexpr double I_0_LSB = PI_TWO_N31
 
constexpr double C_RC_LSB = TWO_N5
 
constexpr double OMEGA_LSB = PI_TWO_N31
 
constexpr double OMEGA_DOT_LSB = PI_TWO_N43
 
constexpr double I_DOT_LSB = PI_TWO_N43
 
constexpr double ALPHA_0_LSB = TWO_N30
 
constexpr double ALPHA_1_LSB = TWO_N27
 
constexpr double ALPHA_2_LSB = TWO_N24
 
constexpr double ALPHA_3_LSB = TWO_N24
 
constexpr double BETA_0_LSB = TWO_P11
 
constexpr double BETA_1_LSB = TWO_P14
 
constexpr double BETA_2_LSB = TWO_P16
 
constexpr double BETA_3_LSB = TWO_P16
 
constexpr double A_1_LSB = TWO_N50
 
constexpr double A_0_LSB = TWO_N30
 
constexpr double T_OT_LSB = TWO_P12
 
constexpr double WN_T_LSB = 1
 
constexpr double DELTAT_LS_LSB = 1
 
constexpr double WN_LSF_LSB = 1
 
constexpr double DN_LSB = 1
 
constexpr double DELTAT_LSF_LSB = 1
 
constexpr int32_t T_OA_LSB = TWO_P12
 
constexpr double GPS_L2_FREQ_HZ = FREQ2
 L2 [Hz]. More...
 
constexpr double GPS_L2_L_PERIOD_S = 1.5
 GPS L2 L code period [seconds]. More...
 
constexpr double GPS_L2_M_CODE_RATE_CPS = 0.5115e6
 GPS L2 M code rate [chips/s]. More...
 
constexpr double GPS_L2_M_PERIOD_S = 0.02
 GPS L2 M code period [seconds]. More...
 
constexpr double GPS_L2_L_CODE_RATE_CPS = 0.5115e6
 GPS L2 L code rate [chips/s]. More...
 
constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS = 10230
 GPS L2 M code length [chips]. More...
 
constexpr int32_t GPS_L2_L_CODE_LENGTH_CHIPS = 767250
 GPS L2 L code length [chips]. More...
 
constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS = 300
 GPS L2 CNAV page length, including preamble and CRC [bits]. More...
 
constexpr int32_t GPS_L2_SYMBOLS_PER_BIT = 2
 
constexpr int32_t GPS_L2_SAMPLES_PER_SYMBOL = 1
 
constexpr int32_t GPS_L2_CNAV_DATA_PAGE_SYMBOLS = 600
 
constexpr int32_t GPS_L2_CNAV_DATA_PAGE_DURATION_S = 12
 
constexpr int32_t GPS_L2C_HISTORY_DEEP = 5
 
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. More...
 
constexpr int32_t GPS_L2C_M_INIT_REG [115]
 
constexpr double GPS_L5_FREQ_HZ = FREQ5
 L5 [Hz]. More...
 
constexpr double GPS_L5I_CODE_RATE_CPS = 10.23e6
 GPS L5I code rate [chips/s]. More...
 
constexpr double GPS_L5I_PERIOD_S = 0.001
 GPS L5I code period [seconds]. More...
 
constexpr double GPS_L5I_SYMBOL_PERIOD_S = 0.01
 GPS L5I symbol period [seconds]. More...
 
constexpr double GPS_L5Q_CODE_RATE_CPS = 10.23e6
 GPS L5Q code rate [chips/s]. More...
 
constexpr double GPS_L5Q_PERIOD_S = 0.001
 GPS L5Q code period [seconds]. More...
 
constexpr int32_t GPS_L5Q_CODE_LENGTH_CHIPS = 10230
 GPS L5Q code length [chips]. More...
 
constexpr int32_t GPS_L5I_CODE_LENGTH_CHIPS = 10230
 GPS L5I code length [chips]. More...
 
constexpr int32_t GPS_L5I_PERIOD_MS = 1
 GPS L5I code period [ms]. More...
 
constexpr int32_t GPS_L5I_SYMBOL_PERIOD_MS = 10
 GPS L5I symbol period [ms]. More...
 
constexpr int32_t GPS_L5_HISTORY_DEEP = 5
 
constexpr uint32_t GPS_L5_OPT_ACQ_FS_SPS = 10000000
 Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate. More...
 
constexpr int32_t GPS_L5I_INIT_REG [210]
 
constexpr int32_t GPS_L5Q_INIT_REG [210]
 
constexpr int32_t GPS_L5_CNAV_DATA_PAGE_BITS = 300
 GPS L5 CNAV page length, including preamble and CRC [bits]. More...
 
constexpr int32_t GPS_L5_SYMBOLS_PER_BIT = 2
 
constexpr int32_t GPS_L5_SAMPLES_PER_SYMBOL = 10
 
constexpr int32_t GPS_L5_CNAV_DATA_PAGE_SYMBOLS = 600
 
constexpr int32_t GPS_L5_CNAV_DATA_PAGE_DURATION_S = 6
 
constexpr int32_t GPS_L5I_NH_CODE_LENGTH = 10
 
constexpr int32_t GPS_L5I_NH_CODE [10] = {0, 0, 0, 0, 1, 1, 0, 1, 0, 1}
 
constexpr int32_t GPS_L5Q_NH_CODE_LENGTH = 20
 
constexpr 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}
 
constexpr char GPS_L5I_NH_CODE_STR [11] = "0000110101"
 
constexpr char GPS_L5Q_NH_CODE_STR [21] = "00000100110101001110"
 
constexpr double GNSS_OMEGA_EARTH_DOT = 7.2921151467e-5
 Default Earth rotation rate, [rad/s]. More...
 
constexpr double SPEED_OF_LIGHT_M_S = 299792458.0
 Speed of light in vacuum [m/s]. More...
 
constexpr double SPEED_OF_LIGHT_M_MS = 299792.4580
 Speed of light in vacuum [m/ms]. More...
 
constexpr double GPS_GM = 3.986005e14
 Universal gravitational constant times the mass of the Earth, [m^3/s^2] IS-GPS-200M, 20.3.3.3.3.1. More...
 
constexpr double GPS_F = -4.442807633e-10
 Constant, [s/(m)^(1/2)], IS-GPS-200M, 20.3.3.3.3.1. More...
 
constexpr double GALILEO_GM = 3.986004418e14
 Geocentric gravitational constant[m^3/s^2], OS SIS ICD v2.0, pag. 44. More...
 
constexpr double GALILEO_F = -4.442807309e-10
 Constant, [s/(m)^(1/2)]. OS SIS ICD v2.0, pag. 47. More...
 
constexpr double GLONASS_OMEGA_EARTH_DOT = 7.292115e-5
 Earth rotation rate, [rad/s] ICD L1, L2 GLONASS Edition 5.1 2008 pag. 55. More...
 
constexpr double GLONASS_GM = 398600.44e9
 Universal gravitational constant times the mass of the Earth, [m^3/s^2]. More...
 
constexpr double BEIDOU_OMEGA_EARTH_DOT = 7.2921150e-5
 Earth rotation rate, [rad/s] as defined in BDS-SIS-ICD-B1I-3.0 2019-02, pag. 3. More...
 
constexpr double BEIDOU_GM = 3.986004418e14
 Universal gravitational constant times the mass of the Earth, [m^3/s^2] as defined in CGCS2000. More...
 
constexpr double BEIDOU_F = -4.442807309e-10
 Constant, [s/(m)^(1/2)] F=-2(GM)^.5/C^2. More...
 
constexpr double GNSS_PI = 3.1415926535898
 pi constant as defined for GNSS More...
 
constexpr double HALF_PI = GNSS_PI / 2.0
 pi/2 More...
 
constexpr double TWO_PI = 2.0 * GNSS_PI
 2 * pi More...
 
constexpr double TWO_P3 = 8.0
 2^3 More...
 
constexpr double TWO_P4 = 16.0
 2^4 More...
 
constexpr double TWO_P8 = 256.0
 2^8 More...
 
constexpr double TWO_P11 = 2048.0
 2^11 More...
 
constexpr double TWO_P12 = 4096.0
 2^12 More...
 
constexpr double TWO_P14 = 16384.0
 2^14 More...
 
constexpr double TWO_P16 = 65536.0
 2^16 More...
 
constexpr double TWO_P19 = 524288.0
 2^19 More...
 
constexpr double TWO_P31 = 2147483648.0
 2^31 More...
 
constexpr double TWO_P32 = 4294967296.0
 2^32 More...
 
constexpr double TWO_P56 = 7.205759403792794e+016
 2^56 More...
 
constexpr double TWO_P57 = 1.441151880758559e+017
 2^57 More...
 
constexpr double TWO_N2 = 0.25
 2^-2 More...
 
constexpr double TWO_N5 = 0.03125
 2^-5 More...
 
constexpr double TWO_N6 = 0.015625
 2^-6 More...
 
constexpr double TWO_N8 = 0.00390625
 2^-8 More...
 
constexpr double TWO_N9 = 0.001953125
 2^-9 More...
 
constexpr double TWO_N10 = 0.0009765625
 2^-10 More...
 
constexpr double TWO_N11 = 4.882812500000000e-004
 2^-11 More...
 
constexpr double TWO_N14 = 0.00006103515625
 2^-14 More...
 
constexpr double TWO_N15 = 3.051757812500000e-005
 2^-15 More...
 
constexpr double TWO_N16 = 1.525878906250000e-005
 2^-16 More...
 
constexpr double TWO_N17 = 7.629394531250000e-006
 2^-17 More...
 
constexpr double TWO_N18 = 3.814697265625000e-006
 2^-18 More...
 
constexpr double TWO_N19 = 1.907348632812500e-006
 2^-19 More...
 
constexpr double TWO_N20 = 9.536743164062500e-007
 2^-20 More...
 
constexpr double TWO_N21 = 4.768371582031250e-007
 2^-21 More...
 
constexpr double TWO_N22 = 2.384185791015625e-007
 2^-22 More...
 
constexpr double TWO_N23 = 1.192092895507810e-007
 2^-23 More...
 
constexpr double TWO_N24 = 5.960464477539063e-008
 2^-24 More...
 
constexpr double TWO_N25 = 2.980232238769531e-008
 2^-25 More...
 
constexpr double TWO_N26 = 1.490116119384765e-009
 2^-26 More...
 
constexpr double TWO_N27 = 7.450580596923828e-009
 2^-27 More...
 
constexpr double TWO_N29 = 1.862645149230957e-009
 2^-29 More...
 
constexpr double TWO_N30 = 9.313225746154785e-010
 2^-30 More...
 
constexpr double TWO_N31 = 4.656612873077393e-010
 2^-31 More...
 
constexpr double TWO_N32 = 2.328306436538696e-010
 2^-32 More...
 
constexpr double TWO_N33 = 1.164153218269348e-010
 2^-33 More...
 
constexpr double TWO_N34 = 5.82076609134674e-011
 2^-34 More...
 
constexpr double TWO_N35 = 2.91038304567337e-011
 2^-35 More...
 
constexpr double TWO_N38 = 3.637978807091713e-012
 2^-38 More...
 
constexpr double TWO_N39 = 1.818989403545856e-012
 2^-39 More...
 
constexpr double TWO_N40 = 9.094947017729280e-013
 2^-40 More...
 
constexpr double TWO_N43 = 1.136868377216160e-013
 2^-43 More...
 
constexpr double TWO_N44 = 5.684341886080802e-14
 2^-44 More...
 
constexpr double TWO_N46 = 1.4210854715202e-014
 2^-46 More...
 
constexpr double TWO_N48 = 3.552713678800501e-15
 2^-46 More...
 
constexpr double TWO_N50 = 8.881784197001252e-016
 2^-50 More...
 
constexpr double TWO_N51 = 4.44089209850063e-016
 2^-51 More...
 
constexpr double TWO_N55 = 2.775557561562891e-017
 2^-55 More...
 
constexpr double TWO_N57 = 6.938893903907228e-18
 2^-57 More...
 
constexpr double TWO_N59 = 1.73472347597681e-018
 2^-59 More...
 
constexpr double TWO_N60 = 8.673617379884036e-19
 2^-60 More...
 
constexpr double TWO_N66 = 1.3552527156068805425093160010874271392822265625e-20
 2^-66 More...
 
constexpr double TWO_N68 = 3.388131789017201e-21
 2^-68 More...
 
constexpr double PI_TWO_N19 = 5.992112452678286e-006
 Pi*2^-19. More...
 
constexpr double PI_TWO_N43 = 3.571577341960839e-013
 Pi*2^-43. More...
 
constexpr double PI_TWO_N31 = 1.462918079267160e-009
 Pi*2^-31. More...
 
constexpr double PI_TWO_N38 = 1.142904749427469e-011
 Pi*2^-38. More...
 
constexpr double PI_TWO_N23 = 3.745070282923929e-007
 Pi*2^-23. More...
 
constexpr double D2R = GNSS_PI / 180.0
 deg to rad More...
 
constexpr double R2D = 180.0 / GNSS_PI
 rad to deg More...
 
constexpr double SC2RAD = GNSS_PI
 semi-circle to radian (IS-GPS) More...
 
constexpr double AS2R = D2R / 3600.0
 arc sec to radian More...
 
constexpr double AU = 149597870691.0
 1 Astronomical Unit AU (m) distance from Earth to the Sun. More...
 

Detailed Description

Classes containing info about system parameters for the different GNSS.

GNSS parameters

Macro Definition Documentation

◆ GLONASS_GNAV_PREAMBLE

#define GLONASS_GNAV_PREAMBLE
Value:
{ \
1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0 \
}

Definition at line 90 of file GLONASS_L1_L2_CA.h.

Function Documentation

◆ ALPHA_0()

const std::vector<std::pair<int32_t, int32_t> > ALPHA_0 ( {{69, 8}}  )
Todo:
read all pages of subframe 4

◆ T_OA()

const std::vector<std::pair<int32_t, int32_t> > T_OA ( {{69, 8}}  )
Todo:
read all pages of subframe 5

Variable Documentation

◆ AS2R

constexpr double AS2R = D2R / 3600.0

arc sec to radian

Definition at line 126 of file MATH_CONSTANTS.h.

◆ AU

constexpr double AU = 149597870691.0

1 Astronomical Unit AU (m) distance from Earth to the Sun.

Definition at line 128 of file MATH_CONSTANTS.h.

◆ BEIDOU_B1I_CODE_LENGTH_CHIPS

constexpr double BEIDOU_B1I_CODE_LENGTH_CHIPS = 2046.0

Beidou B1I code length [chips].

Definition at line 34 of file Beidou_B1I.h.

◆ BEIDOU_B1I_CODE_PERIOD_MS

constexpr uint32_t BEIDOU_B1I_CODE_PERIOD_MS = 1

Beidou B1I code period [ms].

Definition at line 37 of file Beidou_B1I.h.

◆ BEIDOU_B1I_CODE_PERIOD_S

constexpr double BEIDOU_B1I_CODE_PERIOD_S = 0.001

Beidou B1I code period [seconds].

Definition at line 35 of file Beidou_B1I.h.

◆ BEIDOU_B1I_CODE_RATE_CPS

constexpr double BEIDOU_B1I_CODE_RATE_CPS = 2.046e6

Beidou B1I code rate [chips/s].

Definition at line 33 of file Beidou_B1I.h.

◆ BEIDOU_B1I_FREQ_HZ

constexpr double BEIDOU_B1I_FREQ_HZ = FREQ1_BDS

B1I [Hz].

Definition at line 32 of file Beidou_B1I.h.

◆ BEIDOU_B3I_CODE_LENGTH_CHIPS

constexpr double BEIDOU_B3I_CODE_LENGTH_CHIPS = 10230.0

BeiDou B3I code length [chips].

Definition at line 33 of file Beidou_B3I.h.

◆ BEIDOU_B3I_CODE_PERIOD_MS

constexpr uint32_t BEIDOU_B3I_CODE_PERIOD_MS = 1

BeiDou B3I code period [ms].

Definition at line 36 of file Beidou_B3I.h.

◆ BEIDOU_B3I_CODE_PERIOD_S

constexpr double BEIDOU_B3I_CODE_PERIOD_S = 0.001

BeiDou B3I code period [seconds].

Definition at line 34 of file Beidou_B3I.h.

◆ BEIDOU_B3I_CODE_RATE_CPS

constexpr double BEIDOU_B3I_CODE_RATE_CPS = 10.23e6

BeiDou B3I code rate [chips/s].

Definition at line 32 of file Beidou_B3I.h.

◆ BEIDOU_B3I_FREQ_HZ

constexpr double BEIDOU_B3I_FREQ_HZ = FREQ3_BDS

BeiDou B3I [Hz].

Definition at line 31 of file Beidou_B3I.h.

◆ BEIDOU_B3I_TELEMETRY_RATE_BITS_SECOND

constexpr int32_t BEIDOU_B3I_TELEMETRY_RATE_BITS_SECOND = 50

D1 NAV message bit rate [bits/s].

Definition at line 42 of file Beidou_B3I.h.

◆ BEIDOU_DNAV_SUBFRAME_DATA_BITS

constexpr int32_t BEIDOU_DNAV_SUBFRAME_DATA_BITS = 300

Number of bits per subframe in the NAV message [bits].

Definition at line 87 of file Beidou_DNAV.h.

◆ BEIDOU_F

constexpr double BEIDOU_F = -4.442807309e-10

Constant, [s/(m)^(1/2)] F=-2(GM)^.5/C^2.

Definition at line 45 of file MATH_CONSTANTS.h.

◆ BEIDOU_GM

constexpr double BEIDOU_GM = 3.986004418e14

Universal gravitational constant times the mass of the Earth, [m^3/s^2] as defined in CGCS2000.

Definition at line 44 of file MATH_CONSTANTS.h.

◆ BEIDOU_OMEGA_EARTH_DOT

constexpr double BEIDOU_OMEGA_EARTH_DOT = 7.2921150e-5

Earth rotation rate, [rad/s] as defined in BDS-SIS-ICD-B1I-3.0 2019-02, pag. 3.

Definition at line 43 of file MATH_CONSTANTS.h.

◆ CODE_L1A

constexpr uint32_t CODE_L1A = 10

obs code: E1A (GAL)

Definition at line 40 of file gnss_obs_codes.h.

◆ CODE_L1B

constexpr uint32_t CODE_L1B = 11

obs code: E1B (GAL)

Definition at line 41 of file gnss_obs_codes.h.

◆ CODE_L1C

constexpr uint32_t CODE_L1C = 1

obs code: L1C/A,G1C/A,E1C (GPS,GLO,GAL,QZS,SBS)

Definition at line 31 of file gnss_obs_codes.h.

◆ CODE_L1E

constexpr uint32_t CODE_L1E = 9

(not used)

Definition at line 39 of file gnss_obs_codes.h.

◆ CODE_L1I

constexpr uint32_t CODE_L1I = 47

obs code: B1I (BDS)

Definition at line 77 of file gnss_obs_codes.h.

◆ CODE_L1L

constexpr uint32_t CODE_L1L = 8

obs code: L1C(P) (GPS,QZS)

Definition at line 38 of file gnss_obs_codes.h.

◆ CODE_L1M

constexpr uint32_t CODE_L1M = 5

obs code: L1M (GPS)

Definition at line 35 of file gnss_obs_codes.h.

◆ CODE_L1N

constexpr uint32_t CODE_L1N = 6

obs code: L1codeless (GPS)

Definition at line 36 of file gnss_obs_codes.h.

◆ CODE_L1P

constexpr uint32_t CODE_L1P = 2

obs code: L1P,G1P (GPS,GLO)

Definition at line 32 of file gnss_obs_codes.h.

◆ CODE_L1Q

constexpr uint32_t CODE_L1Q = 48

obs code: B1Q (BDS)

Definition at line 78 of file gnss_obs_codes.h.

◆ CODE_L1S

constexpr uint32_t CODE_L1S = 7

obs code: L1C(D) (GPS,QZS)

Definition at line 37 of file gnss_obs_codes.h.

◆ CODE_L1W

constexpr uint32_t CODE_L1W = 3

obs code: L1 Z-track (GPS)

Definition at line 33 of file gnss_obs_codes.h.

◆ CODE_L1X

constexpr uint32_t CODE_L1X = 12

obs code: E1B+C,L1C(D+P) (GAL,QZS)

Definition at line 42 of file gnss_obs_codes.h.

◆ CODE_L1Y

constexpr uint32_t CODE_L1Y = 4

obs code: L1Y (GPS)

Definition at line 34 of file gnss_obs_codes.h.

◆ CODE_L1Z

constexpr uint32_t CODE_L1Z = 13

obs code: E1A+B+C,L1SAIF (GAL,QZS)

Definition at line 43 of file gnss_obs_codes.h.

◆ CODE_L2C

constexpr uint32_t CODE_L2C = 14

obs code: L2C/A,G1C/A (GPS,GLO)

Definition at line 44 of file gnss_obs_codes.h.

◆ CODE_L2D

constexpr uint32_t CODE_L2D = 15

obs code: L2 L1C/A-(P2-P1) (GPS)

Definition at line 45 of file gnss_obs_codes.h.

◆ CODE_L2I

constexpr uint32_t CODE_L2I = 40

obs code: B1I (BDS)

Definition at line 70 of file gnss_obs_codes.h.

◆ CODE_L2L

constexpr uint32_t CODE_L2L = 17

obs code: L2C(L) (GPS,QZS)

Definition at line 47 of file gnss_obs_codes.h.

◆ CODE_L2M

constexpr uint32_t CODE_L2M = 22

obs code: L2M (GPS)

Definition at line 52 of file gnss_obs_codes.h.

◆ CODE_L2N

constexpr uint32_t CODE_L2N = 23

obs code: L2codeless (GPS)

Definition at line 53 of file gnss_obs_codes.h.

◆ CODE_L2P

constexpr uint32_t CODE_L2P = 19

obs code: L2P,G2P (GPS,GLO)

Definition at line 49 of file gnss_obs_codes.h.

◆ CODE_L2Q

constexpr uint32_t CODE_L2Q = 41

obs code: B1Q (BDS)

Definition at line 71 of file gnss_obs_codes.h.

◆ CODE_L2S

constexpr uint32_t CODE_L2S = 16

obs code: L2C(M) (GPS,QZS)

Definition at line 46 of file gnss_obs_codes.h.

◆ CODE_L2W

constexpr uint32_t CODE_L2W = 20

obs code: L2 Z-track (GPS)

Definition at line 50 of file gnss_obs_codes.h.

◆ CODE_L2X

constexpr uint32_t CODE_L2X = 18

obs code: L2C(M+L),B1I+Q (GPS,QZS,BDS)

Definition at line 48 of file gnss_obs_codes.h.

◆ CODE_L2Y

constexpr uint32_t CODE_L2Y = 21

obs code: L2Y (GPS)

Definition at line 51 of file gnss_obs_codes.h.

◆ CODE_L3I

constexpr uint32_t CODE_L3I = 44

obs code: G3I (GLO)

Definition at line 74 of file gnss_obs_codes.h.

◆ CODE_L3Q

constexpr uint32_t CODE_L3Q = 45

obs code: G3Q (GLO)

Definition at line 75 of file gnss_obs_codes.h.

◆ CODE_L3X

constexpr uint32_t CODE_L3X = 46

obs code: G3I+Q (GLO)

Definition at line 76 of file gnss_obs_codes.h.

◆ CODE_L5A

constexpr uint32_t CODE_L5A = 49

obs code: L5A SPS (IRN)

Definition at line 79 of file gnss_obs_codes.h.

◆ CODE_L5B

constexpr uint32_t CODE_L5B = 50

obs code: L5B RS(D) (IRN)

Definition at line 80 of file gnss_obs_codes.h.

◆ CODE_L5C

constexpr uint32_t CODE_L5C = 51

obs code: L5C RS(P) (IRN)

Definition at line 81 of file gnss_obs_codes.h.

◆ CODE_L5I

constexpr uint32_t CODE_L5I = 24

obs code: L5/E5aI (GPS,GAL,QZS,SBS)

Definition at line 54 of file gnss_obs_codes.h.

◆ CODE_L5Q

constexpr uint32_t CODE_L5Q = 25

obs code: L5/E5aQ (GPS,GAL,QZS,SBS)

Definition at line 55 of file gnss_obs_codes.h.

◆ CODE_L5X

constexpr uint32_t CODE_L5X = 26

obs code: L5/E5aI+Q/L5B+C (GPS,GAL,QZS,IRN,SBS)

Definition at line 56 of file gnss_obs_codes.h.

◆ CODE_L6A

constexpr uint32_t CODE_L6A = 30

obs code: E6A (GAL)

Definition at line 60 of file gnss_obs_codes.h.

◆ CODE_L6B

constexpr uint32_t CODE_L6B = 31

obs code: E6B (GAL)

Definition at line 61 of file gnss_obs_codes.h.

◆ CODE_L6C

constexpr uint32_t CODE_L6C = 32

obs code: E6C (GAL)

Definition at line 62 of file gnss_obs_codes.h.

◆ CODE_L6I

constexpr uint32_t CODE_L6I = 42

obs code: B3I (BDS)

Definition at line 72 of file gnss_obs_codes.h.

◆ CODE_L6L

constexpr uint32_t CODE_L6L = 36

obs code: LEXL (QZS)

Definition at line 66 of file gnss_obs_codes.h.

◆ CODE_L6Q

constexpr uint32_t CODE_L6Q = 43

obs code: B3Q (BDS)

Definition at line 73 of file gnss_obs_codes.h.

◆ CODE_L6S

constexpr uint32_t CODE_L6S = 35

obs code: LEXS (QZS)

Definition at line 65 of file gnss_obs_codes.h.

◆ CODE_L6X

constexpr uint32_t CODE_L6X = 33

obs code: E6B+C,LEXS+L,B3I+Q (GAL,QZS,BDS)

Definition at line 63 of file gnss_obs_codes.h.

◆ CODE_L6Z

constexpr uint32_t CODE_L6Z = 34

obs code: E6A+B+C (GAL)

Definition at line 64 of file gnss_obs_codes.h.

◆ CODE_L7I

constexpr uint32_t CODE_L7I = 27

obs code: E5bI,B2I (GAL,BDS)

Definition at line 57 of file gnss_obs_codes.h.

◆ CODE_L7Q

constexpr uint32_t CODE_L7Q = 28

obs code: E5bQ,B2Q (GAL,BDS)

Definition at line 58 of file gnss_obs_codes.h.

◆ CODE_L7X

constexpr uint32_t CODE_L7X = 29

obs code: E5bI+Q,B2I+Q (GAL,BDS)

Definition at line 59 of file gnss_obs_codes.h.

◆ CODE_L8I

constexpr uint32_t CODE_L8I = 37

obs code: E5(a+b)I (GAL)

Definition at line 67 of file gnss_obs_codes.h.

◆ CODE_L8Q

constexpr uint32_t CODE_L8Q = 38

obs code: E5(a+b)Q (GAL)

Definition at line 68 of file gnss_obs_codes.h.

◆ CODE_L8X

constexpr uint32_t CODE_L8X = 39

obs code: E5(a+b)I+Q (GAL)

Definition at line 69 of file gnss_obs_codes.h.

◆ CODE_L9A

constexpr uint32_t CODE_L9A = 52

obs code: SA SPS (IRN)

Definition at line 82 of file gnss_obs_codes.h.

◆ CODE_L9B

constexpr uint32_t CODE_L9B = 53

obs code: SB RS(D) (IRN)

Definition at line 83 of file gnss_obs_codes.h.

◆ CODE_L9C

constexpr uint32_t CODE_L9C = 54

obs code: SC RS(P) (IRN)

Definition at line 84 of file gnss_obs_codes.h.

◆ CODE_L9X

constexpr uint32_t CODE_L9X = 55

obs code: SB+C (IRN)

Definition at line 85 of file gnss_obs_codes.h.

◆ CODE_NONE

constexpr uint32_t CODE_NONE = 0

obs code: none or unknown

Definition at line 30 of file gnss_obs_codes.h.

◆ D2R

constexpr double D2R = GNSS_PI / 180.0

deg to rad

Definition at line 123 of file MATH_CONSTANTS.h.

◆ DFRQ1_GLO

constexpr double DFRQ1_GLO = 0.56250e6

GLONASS G1 bias frequency (Hz/n)

Definition at line 39 of file gnss_frequencies.h.

◆ DFRQ2_GLO

constexpr double DFRQ2_GLO = 0.43750e6

GLONASS G2 bias frequency (Hz/n)

Definition at line 41 of file gnss_frequencies.h.

◆ FREQ1

constexpr double FREQ1 = 1.57542e9

L1/E1 frequency (Hz)

Definition at line 31 of file gnss_frequencies.h.

◆ FREQ1_BDS

constexpr double FREQ1_BDS = 1.561098e9

BeiDou B1 frequency (Hz)

Definition at line 43 of file gnss_frequencies.h.

◆ FREQ1_GLO

constexpr double FREQ1_GLO = 1.60200e9

GLONASS G1 base frequency (Hz)

Definition at line 38 of file gnss_frequencies.h.

◆ FREQ2

constexpr double FREQ2 = 1.22760e9

L2 frequency (Hz)

Definition at line 32 of file gnss_frequencies.h.

◆ FREQ2_BDS

constexpr double FREQ2_BDS = 1.20714e9

BeiDou B2 frequency (Hz)

Definition at line 44 of file gnss_frequencies.h.

◆ FREQ2_GLO

constexpr double FREQ2_GLO = 1.24600e9

GLONASS G2 base frequency (Hz)

Definition at line 40 of file gnss_frequencies.h.

◆ FREQ3_BDS

constexpr double FREQ3_BDS = 1.26852e9

BeiDou B3 frequency (Hz)

Definition at line 45 of file gnss_frequencies.h.

◆ FREQ3_GLO

constexpr double FREQ3_GLO = 1.202025e9

GLONASS G3 frequency (Hz)

Definition at line 42 of file gnss_frequencies.h.

◆ FREQ5

constexpr double FREQ5 = 1.17645e9

L5/E5a frequency (Hz)

Definition at line 33 of file gnss_frequencies.h.

◆ FREQ6

constexpr double FREQ6 = 1.27875e9

E6/LEX frequency (Hz)

Definition at line 34 of file gnss_frequencies.h.

◆ FREQ7

constexpr double FREQ7 = 1.20714e9

E5b frequency (Hz)

Definition at line 35 of file gnss_frequencies.h.

◆ FREQ8

constexpr double FREQ8 = 1.191795e9

E5a+b frequency (Hz)

Definition at line 36 of file gnss_frequencies.h.

◆ FREQ9

constexpr double FREQ9 = 2.492028e9

S frequency (Hz)

Definition at line 37 of file gnss_frequencies.h.

◆ GALILEO_E1_B_CODE_LENGTH_CHIPS

constexpr double GALILEO_E1_B_CODE_LENGTH_CHIPS = 4092.0

Galileo E1-B code length [chips].

Definition at line 39 of file Galileo_E1.h.

◆ GALILEO_E1_B_SAMPLES_PER_SYMBOL

constexpr int32_t GALILEO_E1_B_SAMPLES_PER_SYMBOL = 1

(Galileo_E1_CODE_CHIP_RATE_HZ / Galileo_E1_B_CODE_LENGTH_CHIPS) / Galileo_E1_B_SYMBOL_RATE_BPS

Definition at line 42 of file Galileo_E1.h.

◆ GALILEO_E1_B_SYMBOL_RATE_BPS

constexpr double GALILEO_E1_B_SYMBOL_RATE_BPS = 250.0

Galileo E1-B symbol rate [bits/second].

Definition at line 40 of file Galileo_E1.h.

◆ GALILEO_E1_C_SECONDARY_CODE_LENGTH

constexpr int32_t GALILEO_E1_C_SECONDARY_CODE_LENGTH = 25

Galileo E1-C secondary code length [chips].

Definition at line 43 of file Galileo_E1.h.

◆ GALILEO_E1_CODE_CHIP_RATE_CPS

constexpr double GALILEO_E1_CODE_CHIP_RATE_CPS = 1.023e6

Galileo E1 code rate [chips/s].

Definition at line 35 of file Galileo_E1.h.

◆ GALILEO_E1_CODE_PERIOD_MS

constexpr uint32_t GALILEO_E1_CODE_PERIOD_MS = 4

Galileo E1 code period [ms].

Definition at line 41 of file Galileo_E1.h.

◆ GALILEO_E1_CODE_PERIOD_S

constexpr double GALILEO_E1_CODE_PERIOD_S = 0.004

Galileo E1 code period [s].

Definition at line 36 of file Galileo_E1.h.

◆ GALILEO_E1_FREQ_HZ

constexpr double GALILEO_E1_FREQ_HZ = FREQ1

Galileo E1 carrier frequency [Hz].

Definition at line 34 of file Galileo_E1.h.

◆ GALILEO_E1_HISTORY_DEEP

constexpr int32_t GALILEO_E1_HISTORY_DEEP = 100

Observable history length for interpotalion.

Definition at line 50 of file Galileo_E1.h.

◆ GALILEO_E1_OPT_ACQ_FS_SPS

constexpr uint32_t GALILEO_E1_OPT_ACQ_FS_SPS = 2000000

Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.

Definition at line 48 of file Galileo_E1.h.

◆ GALILEO_E1_SUB_CARRIER_A_RATE_HZ

constexpr double GALILEO_E1_SUB_CARRIER_A_RATE_HZ = 1.023e6

Galileo E1 sub-carrier 'a' rate [Hz].

Definition at line 37 of file Galileo_E1.h.

◆ GALILEO_E1_SUB_CARRIER_B_RATE_HZ

constexpr double GALILEO_E1_SUB_CARRIER_B_RATE_HZ = 6.138e6

Galileo E1 sub-carrier 'b' rate [Hz].

Definition at line 38 of file Galileo_E1.h.

◆ GALILEO_E5A_CODE_CHIP_RATE_CPS

constexpr double GALILEO_E5A_CODE_CHIP_RATE_CPS = 1.023e7

Galileo E5a code rate [chips/s].

Definition at line 33 of file Galileo_E5a.h.

◆ GALILEO_E5A_CODE_LENGTH_CHIPS

constexpr int32_t GALILEO_E5A_CODE_LENGTH_CHIPS = 10230

Galileo E5a primary code length [chips].

Definition at line 37 of file Galileo_E5a.h.

◆ GALILEO_E5A_CODE_PERIOD_MS

constexpr int32_t GALILEO_E5A_CODE_PERIOD_MS = 1

Galileo E5a primary code period [ms].

Definition at line 40 of file Galileo_E5a.h.

◆ GALILEO_E5A_CODE_PERIOD_S

constexpr double GALILEO_E5A_CODE_PERIOD_S = 0.001

Galileo E5a primary code period [s].

Definition at line 36 of file Galileo_E5a.h.

◆ GALILEO_E5A_FREQ_HZ

constexpr double GALILEO_E5A_FREQ_HZ = FREQ5

Galileo E5a carrier frequency [Hz].

Definition at line 32 of file Galileo_E5a.h.

◆ GALILEO_E5A_I_SECONDARY_CODE_LENGTH

constexpr int32_t GALILEO_E5A_I_SECONDARY_CODE_LENGTH = 20

Galileo E5a-I secondary code length [chips].

Definition at line 38 of file Galileo_E5a.h.

◆ GALILEO_E5A_I_TIERED_CODE_PERIOD_S

constexpr double GALILEO_E5A_I_TIERED_CODE_PERIOD_S = 0.020

Galileo E5a-I tiered code period [s].

Definition at line 34 of file Galileo_E5a.h.

◆ GALILEO_E5A_OPT_ACQ_FS_SPS

constexpr uint32_t GALILEO_E5A_OPT_ACQ_FS_SPS = 10000000

Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.

Definition at line 50 of file Galileo_E5a.h.

◆ GALILEO_E5A_Q_SECONDARY_CODE_LENGTH

constexpr int32_t GALILEO_E5A_Q_SECONDARY_CODE_LENGTH = 100

Galileo E5a-Q secondary code length [chips].

Definition at line 39 of file Galileo_E5a.h.

◆ GALILEO_E5A_Q_TIERED_CODE_PERIOD_S

constexpr double GALILEO_E5A_Q_TIERED_CODE_PERIOD_S = 0.100

Galileo E5a-Q tiered code period [s].

Definition at line 35 of file Galileo_E5a.h.

◆ GALILEO_E5A_SYMBOL_RATE_BPS

constexpr int32_t GALILEO_E5A_SYMBOL_RATE_BPS = 50

Galileo E5a symbol rate [bits/second].

Definition at line 41 of file Galileo_E5a.h.

◆ GALILEO_E5B_CODE_CHIP_RATE_CPS

constexpr double GALILEO_E5B_CODE_CHIP_RATE_CPS = 1.023e7

Galileo E5b code rate [chips/s].

Definition at line 34 of file Galileo_E5b.h.

◆ GALILEO_E5B_CODE_LENGTH_CHIPS

constexpr int32_t GALILEO_E5B_CODE_LENGTH_CHIPS = 10230

Galileo E5b primary code length [chips].

Definition at line 39 of file Galileo_E5b.h.

◆ GALILEO_E5B_CODE_PERIOD_MS

constexpr int32_t GALILEO_E5B_CODE_PERIOD_MS = 1

Galileo E5b primary code period [ms].

Definition at line 38 of file Galileo_E5b.h.

◆ GALILEO_E5B_CODE_PERIOD_S

constexpr double GALILEO_E5B_CODE_PERIOD_S = 0.001

Galileo E5b primary code period [s].

Definition at line 37 of file Galileo_E5b.h.

◆ GALILEO_E5B_FREQ_HZ

constexpr double GALILEO_E5B_FREQ_HZ = FREQ7

Galileo E5b carrier frequency [Hz].

Definition at line 33 of file Galileo_E5b.h.

◆ GALILEO_E5B_I_SECONDARY_CODE_LENGTH

constexpr int32_t GALILEO_E5B_I_SECONDARY_CODE_LENGTH = 4

Galileo E5b-I secondary code length [chips].

Definition at line 40 of file Galileo_E5b.h.

◆ GALILEO_E5B_I_TIERED_CODE_PERIOD_S

constexpr double GALILEO_E5B_I_TIERED_CODE_PERIOD_S = 0.004

Galileo E5b-I tiered code period [s].

Definition at line 35 of file Galileo_E5b.h.

◆ GALILEO_E5B_OPT_ACQ_FS_SPS

constexpr uint32_t GALILEO_E5B_OPT_ACQ_FS_SPS = 10000000

Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.

Definition at line 50 of file Galileo_E5b.h.

◆ GALILEO_E5B_Q_SECONDARY_CODE_LENGTH

constexpr int32_t GALILEO_E5B_Q_SECONDARY_CODE_LENGTH = 100

Galileo E5b-Q secondary code length [chips].

Definition at line 41 of file Galileo_E5b.h.

◆ GALILEO_E5B_Q_TIERED_CODE_PERIOD_S

constexpr double GALILEO_E5B_Q_TIERED_CODE_PERIOD_S = 0.100

Galileo E5b-Q tiered code period [s].

Definition at line 36 of file Galileo_E5b.h.

◆ GALILEO_E5B_SYMBOL_RATE_BPS

constexpr int32_t GALILEO_E5B_SYMBOL_RATE_BPS = 250

Galileo E5b symbol rate [bits/second].

Definition at line 42 of file Galileo_E5b.h.

◆ GALILEO_E6_B_CODE_CHIP_RATE_CPS

constexpr double GALILEO_E6_B_CODE_CHIP_RATE_CPS = 5.115e6

Galileo E6 B code rate [chips/s].

Definition at line 31 of file Galileo_E6.h.

◆ GALILEO_E6_B_CODE_LENGTH_CHIPS

constexpr double GALILEO_E6_B_CODE_LENGTH_CHIPS = 5115.0

Galileo E6 B code length [chips].

Definition at line 35 of file Galileo_E6.h.

◆ GALILEO_E6_C_CODE_CHIP_RATE_CPS

constexpr double GALILEO_E6_C_CODE_CHIP_RATE_CPS = 5.115e6

Galileo E6 C code rate [chips/s].

Definition at line 32 of file Galileo_E6.h.

◆ GALILEO_E6_C_CODE_LENGTH_CHIPS

constexpr double GALILEO_E6_C_CODE_LENGTH_CHIPS = 5115.0

Galileo E6 C code length [chips].

Definition at line 36 of file Galileo_E6.h.

◆ GALILEO_E6_C_SECONDARY_CODE_LENGTH_CHIPS

constexpr double GALILEO_E6_C_SECONDARY_CODE_LENGTH_CHIPS = 100.0

Galileo E6 C secondary code length [chips].

Definition at line 37 of file Galileo_E6.h.

◆ GALILEO_E6_CODE_PERIOD_MS

constexpr uint32_t GALILEO_E6_CODE_PERIOD_MS = 1

Galileo E& B/C code period [ms].

Definition at line 38 of file Galileo_E6.h.

◆ GALILEO_E6_CODE_PERIOD_S

constexpr double GALILEO_E6_CODE_PERIOD_S = 0.001

Galileo E6 code period [s].

Definition at line 33 of file Galileo_E6.h.

◆ GALILEO_E6_FREQ_HZ

constexpr double GALILEO_E6_FREQ_HZ = FREQ6

Galileo E6 carrier frequency [Hz].

Definition at line 30 of file Galileo_E6.h.

◆ GALILEO_F

constexpr double GALILEO_F = -4.442807309e-10

Constant, [s/(m)^(1/2)]. OS SIS ICD v2.0, pag. 47.

Definition at line 36 of file MATH_CONSTANTS.h.

◆ GALILEO_GM

constexpr double GALILEO_GM = 3.986004418e14

Geocentric gravitational constant[m^3/s^2], OS SIS ICD v2.0, pag. 44.

Definition at line 35 of file MATH_CONSTANTS.h.

◆ GALILEO_INAV_PAGE_PART_SYMBOLS

constexpr int32_t GALILEO_INAV_PAGE_PART_SYMBOLS = 250

Each Galileo INAV pages are composed of two parts (even and odd) each of 250 symbols, including preamble. See Galileo ICD 4.3.2.

Definition at line 38 of file Galileo_INAV.h.

◆ GALILEO_INAV_PAGE_PART_WITH_PREABLE_SECONDS

constexpr double GALILEO_INAV_PAGE_PART_WITH_PREABLE_SECONDS = 2.04

Page Duration + (Galileo I/NAV Preamble bits)*(Galileo E5b-I tiered Code Period(seconds))

Definition at line 34 of file Galileo_INAV.h.

◆ GALILEO_INAV_PAGE_SYMBOLS

constexpr uint32_t GALILEO_INAV_PAGE_SYMBOLS = 500

The complete Galileo INAV page length.

Definition at line 35 of file Galileo_INAV.h.

◆ GLONASS_C20

constexpr double GLONASS_C20 = -1082.63e-6

Second zonal coefficient of spherical harmonic expansion.

Definition at line 45 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_EARTH_INCLINATION

constexpr double GLONASS_EARTH_INCLINATION = 0.000409148809899e3

Mean inclination of ecliptic to equator (23 deg 26 min 33 sec) [rad].

Definition at line 47 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_EARTH_RADIUS

constexpr double GLONASS_EARTH_RADIUS = 6378.136

Equatorial radius of Earth [km].

Definition at line 46 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_F_M_A

constexpr double GLONASS_F_M_A = 0.35e9

Gravitational constant of atmosphere [m^3/s^2].

Definition at line 35 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_FLATTENING

constexpr double GLONASS_FLATTENING = 1.0 / 29825784.0

Flattening parameter.

Definition at line 37 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GM

constexpr double GLONASS_GM = 398600.44e9

Universal gravitational constant times the mass of the Earth, [m^3/s^2].

Definition at line 40 of file MATH_CONSTANTS.h.

◆ GLONASS_GNAV_HAMMING_CODE_BITS

constexpr int32_t GLONASS_GNAV_HAMMING_CODE_BITS = 8

Number of bits in hamming code sequence of GNAV message.

Definition at line 104 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GNAV_STRING_BITS

constexpr int32_t GLONASS_GNAV_STRING_BITS = 85

Number of bits per string in the GNAV message (85 data bits + 30 time mark bits) [bits].

Definition at line 103 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GNAV_STRING_SYMBOLS

constexpr int32_t GLONASS_GNAV_STRING_SYMBOLS = 2000

Number of bits per string in the GNAV message (85 data bits + 30 time mark bits) [bits].

Definition at line 102 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GNAV_TELEMETRY_RATE_BITS_SECOND

constexpr int32_t GLONASS_GNAV_TELEMETRY_RATE_BITS_SECOND = 50

NAV message bit rate [bits/s].

Definition at line 98 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GNAV_TELEMETRY_RATE_SYMBOLS_SECOND

constexpr int32_t GLONASS_GNAV_TELEMETRY_RATE_SYMBOLS_SECOND = GLONASS_GNAV_TELEMETRY_RATE_BITS_SECOND * GLONASS_GNAV_TELEMETRY_SYMBOLS_PER_BIT

NAV message bit rate [symbols/s].

Definition at line 101 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GRAVITY

constexpr double GLONASS_GRAVITY = 97803284.0

Equatorial acceleration of gravity [mGal].

Definition at line 38 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_GRAVITY_CORRECTION

constexpr double GLONASS_GRAVITY_CORRECTION = 0.87

Correction to acceleration of gravity at sea-level due to Atmosphere[uGal].

Definition at line 39 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_J2

constexpr double GLONASS_J2 = 1082625.75e-9

Second zonal harmonic of the geopotential.

Definition at line 40 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_J4

constexpr double GLONASS_J4 = -2370.89e-9

Fourth zonal harmonic of the geopotential.

Definition at line 41 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_J6

constexpr double GLONASS_J6 = 6.08e-9

Sixth zonal harmonic of the geopotential.

Definition at line 42 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_J8

constexpr double GLONASS_J8 = 1.40e-11

Eighth zonal harmonic of the geopotential.

Definition at line 43 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_CHIP_PERIOD_S

constexpr double GLONASS_L1_CA_CHIP_PERIOD_S = 1.9569e-06

GLONASS L1 C/A chip period [seconds].

Definition at line 81 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_CODE_LENGTH_CHIPS

constexpr double GLONASS_L1_CA_CODE_LENGTH_CHIPS = 511.0

GLONASS L1 C/A code length [chips].

Definition at line 79 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_CODE_PERIOD_S

constexpr double GLONASS_L1_CA_CODE_PERIOD_S = 0.001

GLONASS L1 C/A code period [seconds].

Definition at line 80 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_CODE_RATE_CPS

constexpr double GLONASS_L1_CA_CODE_RATE_CPS = 0.511e6

GLONASS L1 C/A code rate [chips/s].

Definition at line 78 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_DFREQ_HZ

constexpr double GLONASS_L1_CA_DFREQ_HZ = DFRQ1_GLO

Freq Bias for GLONASS L1 [Hz].

Definition at line 77 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L1_CA_FREQ_HZ

constexpr double GLONASS_L1_CA_FREQ_HZ = FREQ1_GLO

L1 [Hz].

Definition at line 76 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_CHIP_PERIOD_S

constexpr double GLONASS_L2_CA_CHIP_PERIOD_S = 1.9569e-06

GLONASS L1 C/A chip period [seconds].

Definition at line 73 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_CODE_LENGTH_CHIPS

constexpr double GLONASS_L2_CA_CODE_LENGTH_CHIPS = 511.0

GLONASS L1 C/A code length [chips].

Definition at line 71 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_CODE_PERIOD_S

constexpr double GLONASS_L2_CA_CODE_PERIOD_S = 0.001

GLONASS L1 C/A code period [seconds].

Definition at line 72 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_CODE_RATE_CPS

constexpr double GLONASS_L2_CA_CODE_RATE_CPS = 0.511e6

GLONASS L1 C/A code rate [chips/s].

Definition at line 70 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_DFREQ_HZ

constexpr double GLONASS_L2_CA_DFREQ_HZ = DFRQ2_GLO

Freq Bias for GLONASS L1 [Hz].

Definition at line 69 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_L2_CA_FREQ_HZ

constexpr double GLONASS_L2_CA_FREQ_HZ = FREQ2_GLO

L2 [Hz].

Definition at line 68 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_LEAP_SECONDS

constexpr double GLONASS_LEAP_SECONDS[19][7]
Initial value:
= {
{2017, 1, 1, 0, 0, 0, -18},
{2015, 7, 1, 0, 0, 0, -17},
{2012, 7, 1, 0, 0, 0, -16},
{2009, 1, 1, 0, 0, 0, -15},
{2006, 1, 1, 0, 0, 0, -14},
{1999, 1, 1, 0, 0, 0, -13},
{1997, 7, 1, 0, 0, 0, -12},
{1996, 1, 1, 0, 0, 0, -11},
{1994, 7, 1, 0, 0, 0, -10},
{1993, 7, 1, 0, 0, 0, -9},
{1992, 7, 1, 0, 0, 0, -8},
{1991, 1, 1, 0, 0, 0, -7},
{1990, 1, 1, 0, 0, 0, -6},
{1988, 1, 1, 0, 0, 0, -5},
{1985, 7, 1, 0, 0, 0, -4},
{1983, 7, 1, 0, 0, 0, -3},
{1982, 7, 1, 0, 0, 0, -2},
{1981, 7, 1, 0, 0, 0, -1},
{}}

Record of leap seconds definition for GLOT to GPST conversion and vice versa.

Each entry is defined by an array of 7 elements consisting of yr,month,day,hr,min,sec,utc-gpst

Note
Ideally should use leap seconds definitions of rtklibGLONASS SV's orbital slots PRN = (orbital_slot - 1)

Definition at line 112 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_ECCENTRICITY

constexpr double GLONASS_MOON_ECCENTRICITY = 0.054900489

Eccentricity of lunar orbit.

Definition at line 58 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_GM

constexpr double GLONASS_MOON_GM = 4902.835

Lunar gravitational constant [km^3/s^2].

Definition at line 56 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_INCLINATION

constexpr double GLONASS_MOON_INCLINATION = 0.000089803977407e3

Inclination of lunar orbit to ecliptic plane (5 deg 08 min 43.4 sec) [rad].

Definition at line 59 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_OMEGA_0

constexpr double GLONASS_MOON_OMEGA_0 = 0.004523601514852e3

(259 deg 10 min 59.79 sec) [rad]

Definition at line 54 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_OMEGA_1

constexpr double GLONASS_MOON_OMEGA_1 = -0.033757146246552e3

(-1934 deg 08 min 31.23 sec) [rad]

Definition at line 55 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_Q0

constexpr double GLONASS_MOON_Q0 = -0.001115184961435e3

(-63 deg 53 min 43.41 sec) [rad]

Definition at line 52 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_Q1

constexpr double GLONASS_MOON_Q1 = 8.328691103668023e3

(477198 deg 50 min 56.79 sec) [rad]

Definition at line 53 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_MOON_SEMI_MAJOR_AXIS

constexpr double GLONASS_MOON_SEMI_MAJOR_AXIS = 3.84385243e5

Semi-major axis of lunar orbit [km];.

Definition at line 57 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_OMEGA_EARTH_DOT

constexpr double GLONASS_OMEGA_EARTH_DOT = 7.292115e-5

Earth rotation rate, [rad/s] ICD L1, L2 GLONASS Edition 5.1 2008 pag. 55.

Definition at line 39 of file MATH_CONSTANTS.h.

◆ GLONASS_SEMI_MAJOR_AXIS

constexpr double GLONASS_SEMI_MAJOR_AXIS = 6378136

Semi-major axis of Earth [m].

Definition at line 36 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_ECCENTRICITY

constexpr double GLONASS_SUN_ECCENTRICITY = 0.016719

Eccentricity of solar orbit.

Definition at line 66 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_GM

constexpr double GLONASS_SUN_GM = 0.1325263e12

Solar gravitational constant [km^3/s^2].

Definition at line 64 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_OMEGA

constexpr double GLONASS_SUN_OMEGA = 0.004908229466869e3

TODO What is this operation in the seconds with T?(281 deg 13 min 15.0 + 6189.03 x T sec) [rad].

Definition at line 61 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_Q0

constexpr double GLONASS_SUN_Q0 = 0.006256583774423e3

(358 deg 28 min 33.04 sec) [rad]

Definition at line 62 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_Q1

constexpr double GLONASS_SUN_Q1 = 0e3

TODO Why is the value greater than 60?(129596579.10 sec) [rad].

Definition at line 63 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_SUN_SEMI_MAJOR_AXIS

constexpr double GLONASS_SUN_SEMI_MAJOR_AXIS = 1.49598e8

Semi-major axis of solar orbit [km];.

Definition at line 65 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_TAU_0

constexpr double GLONASS_TAU_0 = -0.005835151531174e3

(-334 deg 19 min 46.40 sec) [rad];

Definition at line 49 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_TAU_1

constexpr double GLONASS_TAU_1 = 0.071018041257371e3

(4069 deg 02 min 02.52 sec) [rad];

Definition at line 50 of file GLONASS_L1_L2_CA.h.

◆ GLONASS_U0

constexpr double GLONASS_U0 = 62636861.4

Normal potential at surface of common terrestrial ellipsoid [m^2/s^2].

Definition at line 44 of file GLONASS_L1_L2_CA.h.

◆ GNSS_OMEGA_EARTH_DOT

constexpr double GNSS_OMEGA_EARTH_DOT = 7.2921151467e-5

Default Earth rotation rate, [rad/s].

Definition at line 26 of file MATH_CONSTANTS.h.

◆ GNSS_PI

constexpr double GNSS_PI = 3.1415926535898

pi constant as defined for GNSS

Definition at line 47 of file MATH_CONSTANTS.h.

◆ GPS_CA_TELEMETRY_RATE_BITS_SECOND

constexpr int32_t GPS_CA_TELEMETRY_RATE_BITS_SECOND = 50

NAV message bit rate [bits/s].

Definition at line 63 of file GPS_L1_CA.h.

◆ GPS_CA_TELEMETRY_RATE_SYMBOLS_SECOND

constexpr int32_t GPS_CA_TELEMETRY_RATE_SYMBOLS_SECOND = GPS_CA_TELEMETRY_RATE_BITS_SECOND * GPS_CA_TELEMETRY_SYMBOLS_PER_BIT

NAV message bit rate [symbols/s].

Definition at line 65 of file GPS_L1_CA.h.

◆ GPS_F

constexpr double GPS_F = -4.442807633e-10

Constant, [s/(m)^(1/2)], IS-GPS-200M, 20.3.3.3.3.1.

Definition at line 32 of file MATH_CONSTANTS.h.

◆ GPS_GM

constexpr double GPS_GM = 3.986005e14

Universal gravitational constant times the mass of the Earth, [m^3/s^2] IS-GPS-200M, 20.3.3.3.3.1.

Definition at line 31 of file MATH_CONSTANTS.h.

◆ GPS_L1_CA_BIT_PERIOD_MS

constexpr uint32_t GPS_L1_CA_BIT_PERIOD_MS = 20U

GPS L1 C/A bit period [ms].

Definition at line 40 of file GPS_L1_CA.h.

◆ GPS_L1_CA_CHIP_PERIOD_S

constexpr double GPS_L1_CA_CHIP_PERIOD_S = 9.7752e-07

GPS L1 C/A chip period [seconds].

Definition at line 38 of file GPS_L1_CA.h.

◆ GPS_L1_CA_CODE_LENGTH_CHIPS

constexpr double GPS_L1_CA_CODE_LENGTH_CHIPS = 1023.0

GPS L1 C/A code length [chips].

Definition at line 36 of file GPS_L1_CA.h.

◆ GPS_L1_CA_CODE_PERIOD_MS

constexpr uint32_t GPS_L1_CA_CODE_PERIOD_MS = 1U

GPS L1 C/A code period [ms].

Definition at line 39 of file GPS_L1_CA.h.

◆ GPS_L1_CA_CODE_PERIOD_S

constexpr double GPS_L1_CA_CODE_PERIOD_S = 0.001

GPS L1 C/A code period [seconds].

Definition at line 37 of file GPS_L1_CA.h.

◆ GPS_L1_CA_CODE_RATE_CPS

constexpr double GPS_L1_CA_CODE_RATE_CPS = 1.023e6

GPS L1 C/A code rate [chips/s].

Definition at line 35 of file GPS_L1_CA.h.

◆ GPS_L1_CA_OPT_ACQ_FS_SPS

constexpr uint32_t GPS_L1_CA_OPT_ACQ_FS_SPS = 2000000

Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.

Definition at line 53 of file GPS_L1_CA.h.

◆ GPS_L1_FREQ_HZ

constexpr double GPS_L1_FREQ_HZ = FREQ1

L1 [Hz].

Definition at line 34 of file GPS_L1_CA.h.

◆ GPS_L2_CNAV_DATA_PAGE_BITS

constexpr int32_t GPS_L2_CNAV_DATA_PAGE_BITS = 300

GPS L2 CNAV page length, including preamble and CRC [bits].

Definition at line 42 of file GPS_L2C.h.

◆ GPS_L2_FREQ_HZ

constexpr double GPS_L2_FREQ_HZ = FREQ2

L2 [Hz].

Definition at line 35 of file GPS_L2C.h.

◆ GPS_L2_L_CODE_LENGTH_CHIPS

constexpr int32_t GPS_L2_L_CODE_LENGTH_CHIPS = 767250

GPS L2 L code length [chips].

Definition at line 41 of file GPS_L2C.h.

◆ GPS_L2_L_CODE_RATE_CPS

constexpr double GPS_L2_L_CODE_RATE_CPS = 0.5115e6

GPS L2 L code rate [chips/s].

Definition at line 39 of file GPS_L2C.h.

◆ GPS_L2_L_PERIOD_S

constexpr double GPS_L2_L_PERIOD_S = 1.5

GPS L2 L code period [seconds].

Definition at line 36 of file GPS_L2C.h.

◆ GPS_L2_M_CODE_LENGTH_CHIPS

constexpr int32_t GPS_L2_M_CODE_LENGTH_CHIPS = 10230

GPS L2 M code length [chips].

Definition at line 40 of file GPS_L2C.h.

◆ GPS_L2_M_CODE_RATE_CPS

constexpr double GPS_L2_M_CODE_RATE_CPS = 0.5115e6

GPS L2 M code rate [chips/s].

Definition at line 37 of file GPS_L2C.h.

◆ GPS_L2_M_PERIOD_S

constexpr double GPS_L2_M_PERIOD_S = 0.02

GPS L2 M code period [seconds].

Definition at line 38 of file GPS_L2C.h.

◆ GPS_L2C_M_INIT_REG

constexpr int32_t GPS_L2C_M_INIT_REG[115]
Initial value:
=
{0742417664, 0756014035, 0002747144, 0066265724,
0601403471, 0703232733, 0124510070, 0617316361,
0047541621, 0733031046, 0713512145, 0024437606,
0021264003, 0230655351, 0001314400, 0222021506,
0540264026, 0205521705, 0064022144, 0120161274,
0044023533, 0724744327, 0045743577, 0741201660,
0700274134, 0010247261, 0713433445, 0737324162,
0311627434, 0710452007, 0722462133, 0050172213,
0500653703, 0755077436, 0136717361, 0756675453,
0435506112, 0771353753, 0226107701, 0022025110,
0402466344, 0752566114, 0702011164, 0041216771,
0047457275, 0266333164, 0713167356, 0060546335,
0355173035, 0617201036, 0157465571, 0767360553,
0023127030, 0431343777, 0747317317, 0045706125,
0002744276, 0060036467, 0217744147, 0603340174,
0326616775, 0063240065, 0111460621,
0604055104, 0157065232, 0013305707, 0603552017,
0230461355, 0603653437, 0652346475, 0743107103,
0401521277, 0167335110, 0014013575, 0362051132,
0617753265, 0216363634, 0755561123, 0365304033,
0625025543, 0054420334, 0415473671, 0662364360,
0373446602, 0417564100, 0000526452, 0226631300,
0113752074, 0706134401, 0041352546, 0664630154,
0276524255, 0714720530, 0714051771, 0044526647,
0207164322, 0262120161, 0204244652, 0202133131,
0714351204, 0657127260, 0130567507, 0670517677,
0607275514, 0045413633, 0212645405, 0613700455,
0706202440, 0705056276, 0020373522, 0746013617,
0132720621, 0434015513, 0566721727, 0140633660}

Definition at line 53 of file GPS_L2C.h.

◆ GPS_L2C_OPT_ACQ_FS_SPS

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.

Definition at line 51 of file GPS_L2C.h.

◆ GPS_L5_CNAV_DATA_PAGE_BITS

constexpr int32_t GPS_L5_CNAV_DATA_PAGE_BITS = 300

GPS L5 CNAV page length, including preamble and CRC [bits].

Definition at line 162 of file GPS_L5.h.

◆ GPS_L5_FREQ_HZ

constexpr double GPS_L5_FREQ_HZ = FREQ5

L5 [Hz].

Definition at line 32 of file GPS_L5.h.

◆ GPS_L5_OPT_ACQ_FS_SPS

constexpr uint32_t GPS_L5_OPT_ACQ_FS_SPS = 10000000

Sampling frequency that maximizes the acquisition SNR while using a non-multiple of chip rate.

Definition at line 46 of file GPS_L5.h.

◆ GPS_L5I_CODE_LENGTH_CHIPS

constexpr int32_t GPS_L5I_CODE_LENGTH_CHIPS = 10230

GPS L5I code length [chips].

Definition at line 39 of file GPS_L5.h.

◆ GPS_L5I_CODE_RATE_CPS

constexpr double GPS_L5I_CODE_RATE_CPS = 10.23e6

GPS L5I code rate [chips/s].

Definition at line 33 of file GPS_L5.h.

◆ GPS_L5I_PERIOD_MS

constexpr int32_t GPS_L5I_PERIOD_MS = 1

GPS L5I code period [ms].

Definition at line 40 of file GPS_L5.h.

◆ GPS_L5I_PERIOD_S

constexpr double GPS_L5I_PERIOD_S = 0.001

GPS L5I code period [seconds].

Definition at line 34 of file GPS_L5.h.

◆ GPS_L5I_SYMBOL_PERIOD_MS

constexpr int32_t GPS_L5I_SYMBOL_PERIOD_MS = 10

GPS L5I symbol period [ms].

Definition at line 41 of file GPS_L5.h.

◆ GPS_L5I_SYMBOL_PERIOD_S

constexpr double GPS_L5I_SYMBOL_PERIOD_S = 0.01

GPS L5I symbol period [seconds].

Definition at line 35 of file GPS_L5.h.

◆ GPS_L5Q_CODE_LENGTH_CHIPS

constexpr int32_t GPS_L5Q_CODE_LENGTH_CHIPS = 10230

GPS L5Q code length [chips].

Definition at line 38 of file GPS_L5.h.

◆ GPS_L5Q_CODE_RATE_CPS

constexpr double GPS_L5Q_CODE_RATE_CPS = 10.23e6

GPS L5Q code rate [chips/s].

Definition at line 36 of file GPS_L5.h.

◆ GPS_L5Q_PERIOD_S

constexpr double GPS_L5Q_PERIOD_S = 0.001

GPS L5Q code period [seconds].

Definition at line 37 of file GPS_L5.h.

◆ GPS_SUBFRAME_BITS

constexpr int32_t GPS_SUBFRAME_BITS = 300

Number of bits per subframe in the NAV message [bits].

Definition at line 68 of file GPS_L1_CA.h.

◆ GPS_SUBFRAME_LENGTH

constexpr int32_t GPS_SUBFRAME_LENGTH = 40

GPS_WORD_LENGTH x 10 = 40 bytes.

Definition at line 67 of file GPS_L1_CA.h.

◆ GPS_SUBFRAME_MS

constexpr int32_t GPS_SUBFRAME_MS = 6000

Subframe duration [seconds].

Definition at line 70 of file GPS_L1_CA.h.

◆ GPS_SUBFRAME_SECONDS

constexpr int32_t GPS_SUBFRAME_SECONDS = 6

Subframe duration [seconds].

Definition at line 69 of file GPS_L1_CA.h.

◆ GPS_WORD_BITS

constexpr int32_t GPS_WORD_BITS = 30

Number of bits per word in the NAV message [bits].

Definition at line 71 of file GPS_L1_CA.h.

◆ GPS_WORD_LENGTH

constexpr int32_t GPS_WORD_LENGTH = 4

CRC + GPS WORD (-2 -1 0 ... 29) Bits = 4 bytes.

Definition at line 66 of file GPS_L1_CA.h.

◆ HALF_PI

constexpr double HALF_PI = GNSS_PI / 2.0

pi/2

Definition at line 48 of file MATH_CONSTANTS.h.

◆ HAS_VALIDITY_INTERVALS

const std::unordered_map<uint8_t, uint16_t> HAS_VALIDITY_INTERVALS
Initial value:
= {
{0, 5},
{1, 10},
{2, 15},
{3, 20},
{4, 30},
{5, 60},
{6, 90},
{7, 120},
{8, 180},
{9, 240},
{10, 300},
{11, 600},
{12, 900},
{13, 1800},
{14, 3600}}

Definition at line 161 of file Galileo_CNAV.h.

◆ MAX_TOA_DELAY_MS

constexpr double MAX_TOA_DELAY_MS = 20.0

Maximum Time-Of-Arrival (TOA) difference between satellites for a receiver operated on Earth surface is 20 ms.

According to the GPS orbit model described in [1] Pag. 32. It should be taken into account to set the buffer size for the PRN start timestamp in the pseudoranges block. [1] J. Bao-Yen Tsui, Fundamentals of Global Positioning System Receivers. A Software Approach, John Wiley & Sons, Inc., Hoboken, NJ, 2nd edition, 2005.

Definition at line 50 of file GPS_L1_CA.h.

◆ MAXCODE

constexpr int32_t MAXCODE = 55

max number of obs code

Definition at line 86 of file gnss_obs_codes.h.

◆ PI_TWO_N19

constexpr double PI_TWO_N19 = 5.992112452678286e-006

Pi*2^-19.

Definition at line 117 of file MATH_CONSTANTS.h.

◆ PI_TWO_N23

constexpr double PI_TWO_N23 = 3.745070282923929e-007

Pi*2^-23.

Definition at line 121 of file MATH_CONSTANTS.h.

◆ PI_TWO_N31

constexpr double PI_TWO_N31 = 1.462918079267160e-009

Pi*2^-31.

Definition at line 119 of file MATH_CONSTANTS.h.

◆ PI_TWO_N38

constexpr double PI_TWO_N38 = 1.142904749427469e-011

Pi*2^-38.

Definition at line 120 of file MATH_CONSTANTS.h.

◆ PI_TWO_N43

constexpr double PI_TWO_N43 = 3.571577341960839e-013

Pi*2^-43.

Definition at line 118 of file MATH_CONSTANTS.h.

◆ R2D

constexpr double R2D = 180.0 / GNSS_PI

rad to deg

Definition at line 124 of file MATH_CONSTANTS.h.

◆ SC2RAD

constexpr double SC2RAD = GNSS_PI

semi-circle to radian (IS-GPS)

Definition at line 125 of file MATH_CONSTANTS.h.

◆ SIGNAL_FREQ_MAP

const std::unordered_map<std::string, double> SIGNAL_FREQ_MAP
Initial value:
= {
{"1C", FREQ1},
{"2S", FREQ2},
{"L5", FREQ5},
{"1B", FREQ1},
{"5X", FREQ5},
{"E6", FREQ6},
{"7X", FREQ7},
{"1G", FREQ1_GLO},
{"2G", FREQ2_GLO},
{"B1", FREQ1_BDS},
{"B2", FREQ2_BDS},
{"B3", FREQ3_BDS},
}
constexpr double FREQ1
L1/E1 frequency (Hz)
constexpr double FREQ1_GLO
GLONASS G1 base frequency (Hz)
constexpr double FREQ6
E6/LEX frequency (Hz)
constexpr double FREQ2_BDS
BeiDou B2 frequency (Hz)
constexpr double FREQ2_GLO
GLONASS G2 base frequency (Hz)
constexpr double FREQ3_BDS
BeiDou B3 frequency (Hz)
constexpr double FREQ5
L5/E5a frequency (Hz)
constexpr double FREQ7
E5b frequency (Hz)
constexpr double FREQ2
L2 frequency (Hz)
constexpr double FREQ1_BDS
BeiDou B1 frequency (Hz)

Definition at line 47 of file gnss_frequencies.h.

◆ SPEED_OF_LIGHT_M_MS

constexpr double SPEED_OF_LIGHT_M_MS = 299792.4580

Speed of light in vacuum [m/ms].

Definition at line 28 of file MATH_CONSTANTS.h.

◆ SPEED_OF_LIGHT_M_S

constexpr double SPEED_OF_LIGHT_M_S = 299792458.0

Speed of light in vacuum [m/s].

Definition at line 27 of file MATH_CONSTANTS.h.

◆ TWO_N10

constexpr double TWO_N10 = 0.0009765625

2^-10

Definition at line 77 of file MATH_CONSTANTS.h.

◆ TWO_N11

constexpr double TWO_N11 = 4.882812500000000e-004

2^-11

Definition at line 78 of file MATH_CONSTANTS.h.

◆ TWO_N14

constexpr double TWO_N14 = 0.00006103515625

2^-14

Definition at line 79 of file MATH_CONSTANTS.h.

◆ TWO_N15

constexpr double TWO_N15 = 3.051757812500000e-005

2^-15

Definition at line 80 of file MATH_CONSTANTS.h.

◆ TWO_N16

constexpr double TWO_N16 = 1.525878906250000e-005

2^-16

Definition at line 81 of file MATH_CONSTANTS.h.

◆ TWO_N17

constexpr double TWO_N17 = 7.629394531250000e-006

2^-17

Definition at line 82 of file MATH_CONSTANTS.h.

◆ TWO_N18

constexpr double TWO_N18 = 3.814697265625000e-006

2^-18

Definition at line 83 of file MATH_CONSTANTS.h.

◆ TWO_N19

constexpr double TWO_N19 = 1.907348632812500e-006

2^-19

Definition at line 84 of file MATH_CONSTANTS.h.

◆ TWO_N2

constexpr double TWO_N2 = 0.25

2^-2

Definition at line 72 of file MATH_CONSTANTS.h.

◆ TWO_N20

constexpr double TWO_N20 = 9.536743164062500e-007

2^-20

Definition at line 85 of file MATH_CONSTANTS.h.

◆ TWO_N21

constexpr double TWO_N21 = 4.768371582031250e-007

2^-21

Definition at line 86 of file MATH_CONSTANTS.h.

◆ TWO_N22

constexpr double TWO_N22 = 2.384185791015625e-007

2^-22

Definition at line 87 of file MATH_CONSTANTS.h.

◆ TWO_N23

constexpr double TWO_N23 = 1.192092895507810e-007

2^-23

Definition at line 88 of file MATH_CONSTANTS.h.

◆ TWO_N24

constexpr double TWO_N24 = 5.960464477539063e-008

2^-24

Definition at line 89 of file MATH_CONSTANTS.h.

◆ TWO_N25

constexpr double TWO_N25 = 2.980232238769531e-008

2^-25

Definition at line 90 of file MATH_CONSTANTS.h.

◆ TWO_N26

constexpr double TWO_N26 = 1.490116119384765e-009

2^-26

Definition at line 91 of file MATH_CONSTANTS.h.

◆ TWO_N27

constexpr double TWO_N27 = 7.450580596923828e-009

2^-27

Definition at line 92 of file MATH_CONSTANTS.h.

◆ TWO_N29

constexpr double TWO_N29 = 1.862645149230957e-009

2^-29

Definition at line 93 of file MATH_CONSTANTS.h.

◆ TWO_N30

constexpr double TWO_N30 = 9.313225746154785e-010

2^-30

Definition at line 94 of file MATH_CONSTANTS.h.

◆ TWO_N31

constexpr double TWO_N31 = 4.656612873077393e-010

2^-31

Definition at line 95 of file MATH_CONSTANTS.h.

◆ TWO_N32

constexpr double TWO_N32 = 2.328306436538696e-010

2^-32

Definition at line 96 of file MATH_CONSTANTS.h.

◆ TWO_N33

constexpr double TWO_N33 = 1.164153218269348e-010

2^-33

Definition at line 97 of file MATH_CONSTANTS.h.

◆ TWO_N34

constexpr double TWO_N34 = 5.82076609134674e-011

2^-34

Definition at line 98 of file MATH_CONSTANTS.h.

◆ TWO_N35

constexpr double TWO_N35 = 2.91038304567337e-011

2^-35

Definition at line 99 of file MATH_CONSTANTS.h.

◆ TWO_N38

constexpr double TWO_N38 = 3.637978807091713e-012

2^-38

Definition at line 100 of file MATH_CONSTANTS.h.

◆ TWO_N39

constexpr double TWO_N39 = 1.818989403545856e-012

2^-39

Definition at line 101 of file MATH_CONSTANTS.h.

◆ TWO_N40

constexpr double TWO_N40 = 9.094947017729280e-013

2^-40

Definition at line 102 of file MATH_CONSTANTS.h.

◆ TWO_N43

constexpr double TWO_N43 = 1.136868377216160e-013

2^-43

Definition at line 103 of file MATH_CONSTANTS.h.

◆ TWO_N44

constexpr double TWO_N44 = 5.684341886080802e-14

2^-44

Definition at line 104 of file MATH_CONSTANTS.h.

◆ TWO_N46

constexpr double TWO_N46 = 1.4210854715202e-014

2^-46

Definition at line 105 of file MATH_CONSTANTS.h.

◆ TWO_N48

constexpr double TWO_N48 = 3.552713678800501e-15

2^-46

Definition at line 106 of file MATH_CONSTANTS.h.

◆ TWO_N5

constexpr double TWO_N5 = 0.03125

2^-5

Definition at line 73 of file MATH_CONSTANTS.h.

◆ TWO_N50

constexpr double TWO_N50 = 8.881784197001252e-016

2^-50

Definition at line 108 of file MATH_CONSTANTS.h.

◆ TWO_N51

constexpr double TWO_N51 = 4.44089209850063e-016

2^-51

Definition at line 109 of file MATH_CONSTANTS.h.

◆ TWO_N55

constexpr double TWO_N55 = 2.775557561562891e-017

2^-55

Definition at line 110 of file MATH_CONSTANTS.h.

◆ TWO_N57

constexpr double TWO_N57 = 6.938893903907228e-18

2^-57

Definition at line 111 of file MATH_CONSTANTS.h.

◆ TWO_N59

constexpr double TWO_N59 = 1.73472347597681e-018

2^-59

Definition at line 112 of file MATH_CONSTANTS.h.

◆ TWO_N6

constexpr double TWO_N6 = 0.015625

2^-6

Definition at line 74 of file MATH_CONSTANTS.h.

◆ TWO_N60

constexpr double TWO_N60 = 8.673617379884036e-19

2^-60

Definition at line 113 of file MATH_CONSTANTS.h.

◆ TWO_N66

constexpr double TWO_N66 = 1.3552527156068805425093160010874271392822265625e-20

2^-66

Definition at line 114 of file MATH_CONSTANTS.h.

◆ TWO_N68

constexpr double TWO_N68 = 3.388131789017201e-21

2^-68

Definition at line 115 of file MATH_CONSTANTS.h.

◆ TWO_N8

constexpr double TWO_N8 = 0.00390625

2^-8

Definition at line 75 of file MATH_CONSTANTS.h.

◆ TWO_N9

constexpr double TWO_N9 = 0.001953125

2^-9

Definition at line 76 of file MATH_CONSTANTS.h.

◆ TWO_P11

constexpr double TWO_P11 = 2048.0

2^11

Definition at line 62 of file MATH_CONSTANTS.h.

◆ TWO_P12

constexpr double TWO_P12 = 4096.0

2^12

Definition at line 63 of file MATH_CONSTANTS.h.

◆ TWO_P14

constexpr double TWO_P14 = 16384.0

2^14

Definition at line 64 of file MATH_CONSTANTS.h.

◆ TWO_P16

constexpr double TWO_P16 = 65536.0

2^16

Definition at line 65 of file MATH_CONSTANTS.h.

◆ TWO_P19

constexpr double TWO_P19 = 524288.0

2^19

Definition at line 66 of file MATH_CONSTANTS.h.

◆ TWO_P3

constexpr double TWO_P3 = 8.0

2^3

Definition at line 59 of file MATH_CONSTANTS.h.

◆ TWO_P31

constexpr double TWO_P31 = 2147483648.0

2^31

Definition at line 67 of file MATH_CONSTANTS.h.

◆ TWO_P32

constexpr double TWO_P32 = 4294967296.0

2^32

Definition at line 68 of file MATH_CONSTANTS.h.

◆ TWO_P4

constexpr double TWO_P4 = 16.0

2^4

Definition at line 60 of file MATH_CONSTANTS.h.

◆ TWO_P56

constexpr double TWO_P56 = 7.205759403792794e+016

2^56

Definition at line 69 of file MATH_CONSTANTS.h.

◆ TWO_P57

constexpr double TWO_P57 = 1.441151880758559e+017

2^57

Definition at line 70 of file MATH_CONSTANTS.h.

◆ TWO_P8

constexpr double TWO_P8 = 256.0

2^8

Definition at line 61 of file MATH_CONSTANTS.h.

◆ TWO_PI

constexpr double TWO_PI = 2.0 * GNSS_PI

2 * pi

Definition at line 49 of file MATH_CONSTANTS.h.