Data Help with Data GPS/GNSS Data Data Formats BINEX Record structure Synchronization Record ID bytes Record message length Record message Record checksum/CRC Reverse record length Time stamps Proposed records Current records Forward parsing Conventions Record ID 0x00 Record ID 0x01 Record ID 0x05 Record ID 0x7d Record ID 0x7e Record ID 0x7f Log

BINEX Record 0x01: GNSS Navigation Information


Binary Exchange format for GPS/GNSS
Data/Metadata/Ephemerides/Orbits/Solutions


Index:
BINEX homepage
current BINEX Record 0x01 outline


Contact: GAGE BINEX contact




Record 0x01 Outline:
Each record 0x01 = 1 holds GNSS navigation information for a specific satellite. The format depends on the specific subrecord value. Depending on the subrecord, the navigaition information may correspond to the binary broadcast messeage, a decoded version of the message analogous to what would appear in a RINEX NAV file, or other orbit formats such as SP3, and so on.

Once the BINEX file or stream has been parsed and a record ID = 0x01 has been identified, the user should consult this page for decoding information of the record 0x01 message. For all 0x01 record messages, the first 1-4 bytes of the message should be examined to determine the subrecord ID. The C/C++ function read_ubnxi() can be used to do this. Once the subrecord ID has been determined, consult the appropriate subrecord description.






Record 0x01 Subrecord 0x00: 0x01-00 — Coded GNSS Ephemeris
The first byte of the 0x01-00 message will be the byte 0x00, denoting the subrecord 0x00. Subrecord 0x00 requires that the satellite number being stored is in the range of 1-32.

Immediately following the subrecord 0x01 byte will be a byte specifying the satellite ID. (See details on decoding.) The interpretation of the rest of the record message depends on which satellite system is specified in the satellite ID byte.

Following the SVid1 byte, the contents depend on the specific satellite system:

  • for GPS:
    • uint1, containing:
      • bit 0: information from subframe 4, page 25 available = uint1 & 0x01; if bit 0 = 1 and this indicates that bits 1-4 have the assigned meaning defined below; if the information is not available, bit 0 = 0 and the meaning of bits 1-4 are currently undefined
      • bits 1-3: 3-bit "SV configuration" (whether SV is Block I or II, from subframe 4, page 25) = uint1 >> 1 & 0x03
      • bit 4: 1-bit anti-spoof flag/y-code on (from subframe 4, page 25) = uint1 >> 4 & 0x01
      • bit 5: ToW in the next sint4 is valid = uint1 >> 5 & 0x01; if bit 5 = 1, the ToW is valid; if bit 5 = 0, the ToW is unknown
      • (upper 2 bits, 6-7, of this uint1 are reserved)
    • sint4 = ToW (time of week/time of message), in seconds, if it is known (also, bit 5 in the uint1 above should be set equal to 1); otherwise, set this sint4 equal to 0 (also, bit 5 in the uint1 above should be set equal to 0)
    • 72 bytes: The rest of the message for GPS will be the 72 bytes from GPS ephemeris subframes 1, 2, and 3, words 3-10, minus the 6 parity bits per each word, representing the encoded GPS navigation message, ordered in the same way as the subframes 1-3 and words 3-10. The MSB (bit 7) of the first byte of the rest of the message of subrecord 0x00 therefore corresponds to "Bit 61" of subframe 1 (the MSB of the 10-bit GPS week number), and so on. See the ICD-GPS-200 for details on decoding. No byte-swapping occurs in these 72 bytes of 0x01-00, regardless of the endian-ness of the synchronization/endian byte fo the record.
  • for non-GPS constellations: under consideration, but details of broadcast bits for these navigation messages must be completely understood first




Record 0x01 Subrecord 0x01: 0x01-01 — Decoded GPS Ephemeris
The first byte of the 0x01-01 message will be the byte 0x01, denoting the subrecord 0x01. Note: Subrecord 0x01 was originally hoped to be extensible to non-GPS navigation messages, but now it is exclusively meant for only GPS, with PRN values in the range of 1-32. For the NAVSTAR GPS navigation message, the ToE value must be equal to the ToC value (which has been the case for all valid GPS navigation messages for years).

  • ubnxi = subrecord ID, 0x01
  • uint1 = PRN - 1 (offset ID, 0-31; originally, this byte was meant to be a full satellite ID bytes — see details on decoding — but as 0x01-01 is restricted to be GPS-only and has ever only been used for the GPS constellation, which has a satellite system ID of 0, one can evalute this byte directly as PRN - 1)
  • uint2 = GPS week of ToE = ToC (whole 604800-second weeks completed since 6.0 Jan 1980 UTC)
  • sint4 = ToW, transmission time of week/time of message (seconds into GPS week), adjusted by ±604800 seconds to refer to the specified GPS week, if necessary (i.e. same as in the RINEX specification)
  • sint4 = ToC, time of clock = ToE, time of ephemeris (seconds into GPS week)
  • real4 = TGD (seconds)
  • sint4 = IODC, Issue of Data/Clock
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real4 = af0, SV clock bias (seconds)
  • sint4 = IODE, Issue of Data/Ephemeris
  • real4 = delta n (semicircles/second; multiply by exactly 3.1415926535898 to obtain radians/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second; multiply by exactly 3.1415926535898 to obtain radians/second)
  • real4 = i dot, rate of inclination (semicircles/second; multiply by exactly 3.1415926535898 to obtain radians/second)
  • real4 = nominal URA (user range accuracy) value (decimeters; multiply by 0.1 to obtain meters), rounded to the nearest decimeter (see ICD-GPS-200 20.3.3.3.1.3); if the URA index X = 15, then a value of 327670 decimeters should be stored for the nominal URA value, consistent with the convention used in RINEX
  • uint2 to hold the SV health coded value:
    • 6-bit SV health (coded) = bits 0-5 = uint2 & 0x003f
    • (upper 10 bits, 6-15, of this uint2 are reserved)
  • uint2 to hold three remaining pieces derived from the GPS navigation message in subframes 1-3:
    • curve fit interval, hours = bits 0-7 = uint2 & 0x00ff (value to be derived from the 1-bit fit interval flag and the value of the IODC; see ICD-GPS-200 Table 20-XII for details)
    • 1-bit L2 P data flag = bit 8 = uint2 >> 8 & 0x01, if available (if not available, always set bit 8 = 0)
    • 2-bit codes on L2 channel = bits 9-10 = uint2 >> 9 & 0x03, if available (if not available, always set bits 9,10 = 0)
    • (upper 5 bits, 11-15, of this uint2 are reserved)




Record 0x01 Subrecord 0x02: 0x01-02 — Decoded GLONASS — FDMA Ephemeris
The first byte of the 0x01-02 message will be the byte 0x02, denoting the subrecord 0x02. This record is designed to hold the decoded GLONASS ephemeris information for SVs broadcasting in FDMA. The definition of the fields in 0x01-02 are identical to those in RINEX 2.10 GLONASS NAVIGATION MESSAGE FILE — DATA RECORD DESCRIPTION.

  • ubnxi = subrecord ID, 0x02
  • uint1 = GLONASS slot # - 1 (offset ID, 0-23); or 255 (0xff) for "unknown", e.g. to be used for an SV in flight test mode, but not yet in operation otherwise
  • uint2 = GLONASS day number
  • uint4 = time of day (seconds)
  • real8 = SV clock bias (-TauN, seconds)
  • real8 = SV relative frequency bias (+GammaN)
  • uint4 = message frame time (tk, seconds)
  • real8 = SV X position (km)
  • real8 = SV X velocity (km/second)
  • real8 = SV X acceleration (km/second/second)
  • real8 = SV Y position (km)
  • real8 = SV Y velocity (km/second)
  • real8 = SV Y acceleration (km/second/second)
  • real8 = SV Z position (km)
  • real8 = SV Z velocity (km/second)
  • real8 = SV Z acceleration (km/second/second)
  • uint1 = SV health/operability defined as follows:
    • bit 0: MSB from Bn word (bit 0 = 0 = "health" in accordance with ephemeris data)
    • bit 1: (optional *) Cn from almanac (bit 1 = 1 = "health" in accordance with almanac data)
    • bit 2: (optional *) Cn available (bit 2 = 1 = "Cn almanac bit available and being used in bit 1")
    • bits 3-7: reserved **
    * Using bits 1 and 2 is highly recommended given that in the ICD-GLONASS (e.g. Edition 5.1, 2008), section 5.3, Table 5.1, states that the operability of the SV depends on both Bn and Cn, and that operability requires a Bn = 0 and Cn = 1, i.e. a Bn = 0 is insufficient.
    ** The ln bit in GLONASS-M navigation data is being considered, if necessary.
  • sint1 = frequency channel number for this slot # (as of 2005: -7, -6, ..., 5, 6)
  • uint1 = age of operation (days)
  • uint1 = leap seconds since 6.0 Jan 1980
  • real8 = A0 (= TauGPS) = GPS time - GLONASS time (seconds)
  • real8 = L1L2Delta, estimate of L1/L2 group delay




Record 0x01 Subrecord 0x03: 0x01-03 — Decoded SBAS Ephemeris
The first byte of the 0x01-03 message will be the byte 0x03, denoting the subrecord 0x03. This record is designed to hold the decoded SBAS ephemeris information. The definition of the fields in 0x01-03 are identical to those in RINEX 2.11 GEOSTATIONARY NAVIGATION MESSAGE FILE — DATA RECORD DESCRIPTION.

  • ubnxi = subrecord ID, 0x03
  • uint1 = SBAS PRN (full ID, 120-138)
  • uint2 = GPS week of ToE = ToC (whole 604800-second weeks completed since 6.0 Jan 1980 UTC)
  • sint4 = ToW, transmission time of week/time of message (seconds into GPS week), adjusted by ±604800 seconds to refer to the specified GPS week, if necessary (i.e. same as in the RINEX specification)
  • real8 = aGf0, SV clock bias (seconds) with respect to SBAS Network Time
  • real4 = aGf1, SV clock drift (seconds/second) with respect to SBAS Network Time
  • uint4 = ToE, time of ephemeris (= ToC, time of clock) (seconds into GPS week)
  • real8 = SV X position (km)
  • real8 = SV X velocity (km/second)
  • real8 = SV X acceleration (km/second/second)
  • real8 = SV Y position (km)
  • real8 = SV Y velocity (km/second)
  • real8 = SV Y acceleration (km/second/second)
  • real8 = SV Z position (km)
  • real8 = SV Z velocity (km/second)
  • real8 = SV Z acceleration (km/second/second)
  • uint1 =
    • bits 0-3 = 4 health bits in Message Type 17 (MT17);
    • bit 4 = 1 if MT17 health is unavailable, bit 4 = 0 otherwise;
    • bit 5 = 1 if the URA index is equal to 15, bit 5 = 0 otherwise;
    • bits 6-7 reserved;
    • if bit 4 = 1, it is recommended to also set bits 0-3 to 1;
    note: definition identical to SBAS (aka GEO) "Health" Section 9.2 of RINEX 2.11
  • uint1 = bits 0-3 = 4 bits URA index (ranges 0-15), bits 4-7 reserved
  • uint1 = IODN, Issue of Data Navigation (DO229, first 8 bits after Message if MT9)




Record 0x01 Subrecord 0x04: 0x01-04 — Decoded Galileo Ephemeris
The first byte of the 0x01-04 message will be the byte 0x04, denoting the subrecord 0x04. This record is designed to hold the decoded Galileo ephemeris information. The definition of the fields in 0x01-04, except SISA, are identical to those in RINEX 3.00/3.01 GALILEO NAVIGATION MESSAGE FILE — DATA RECORD DESCRIPTION.

  • ubnxi = subrecord ID, 0x04
  • uint1 = PRN - 1 (offset ID, 0-52)
  • uint2 = Galileo week of ToE = ToC (whole 604800-second weeks completed since 6.0 Jan 1980 UTC, so therefore aligned to and identical to the GPS week value)
  • sint4 = ToW, transmission time of message (seconds in Galileo week == GPS week, derived from WN and ToW of page type 1), adjusted by ±604800 seconds to refer to the specified Galileo week, if necessary
  • sint4 = ToE, time of ephemeris (seconds of week)
  • real4 = BGD E5a/E1 (seconds)
  • real4 = BGD E5b/E1 (seconds)
  • sint4 = IODnav, Issue of Data of the nav batch
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real4 = af0, SV clock bias (seconds)
  • real4 = delta n (semicircles/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second)
  • real4 = i dot, rate of inclination (semicircles/second)
  • real4 = SISA, Signal in space accuracy: if negative, this is -(SISA index + 1), where the SISA index = 0-255; positive values are reserved for the accuracy in distance when it becomes defined in the Galileo OS-SIS-ICD
  • uint2 = SV health:
    • bit 0: E1B DVS
    • bit 1,2: E1B HS
    • bit 3: E5a DVS
    • bit 4,5: E5a HS
    • bit 6: E5b DVS
    • bit 7,8: E5b HS
  • uint2 = data sources:
    • bit 0: I/NAV E1-B
    • bit 1: F/NAV E5a-I
    • bit 2: I/NAV E5b-I
    • bit 8: af0-af2, ToC are for E5a,E1
    • bit 9: af0-af2, ToC are for E5b,E1




Record 0x01 Subrecord 0x05: 0x01-05 — Decoded Beidou-2/Compass Ephemeris
The first byte of the 0x01-05 message will be the byte 0x05, denoting the subrecord 0x05. This record is designed to hold the decoded Beidou-2/Compass ephemeris information.

  • ubnxi = subrecord ID, 0x05
  • uint1 = PRN (full ID, 1-37)
  • uint2 = Beidou/Compass week of ToE (whole 604800-second weeks completed since 1.0 Jan 2006 UTC) (see note 1 below)
  • sint4 = ToW, transmission time of week (seconds in Beidou/Compass week), adjusted by ±604800 seconds to refer to the specified Beidou/Compass week, if necessary (see note 1 below)
  • sint4 = ToC, time of clock (seconds in Beidou/Compass week) adjusted by ±604800 seconds to refer to the specified Beidou/Compass week, if necessary (see note 1 below)
  • sint4 = ToE, time of ephemeris (seconds in Beidou/Compass week) (see note 1 below)
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real4 = af0, SV clock bias (seconds)
  • real4 = delta n (semicircles/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second)
  • real4 = i dot, rate of inclination (semicircles/second)
  • uint2 flags1 to hold the following quantities: (see note 2 below):
    • bit 0 = health (SatH1)
    • bits 1-5 = 5 bits IODC
    • bits 6-10 = 5 bits IODE
    • bits 11-13 = to specify nav type:
      • bits 13|12|11 = 0|0|0: uncertain/unknown
      • bits 13|12|11 = 0|0|1: D1 = IGSO or MEO (as per original B1I ICD)
      • bits 13|12|11 = 0|1|0: D2 = GEO (as per original B1I ICD)
      • (other bit combinations reserved)
    • bits 14-15 = reserved (set to 0)
  • uint4 flags2 to hold the following quantities: (see note 2 below):
    • bits 0-3 = 4 bits URAI
    • bits 4-13 = 10 bits TGD1
    • bits 14-23 = 10 bits TGD2
    • bit 24 = TGD2 flag: 0 = available and valid, 1 = use with care (unofficial TGD2 value)
    • bits 25-31 = to specify message source:
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|0|0|0: unknown
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|0|0|1: B1I
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|0|1|0: B1Q
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|0|1|1: B2I
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|1|0|0: B2Q
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|1|0|1: B3I
      • bits 31|30|29|28|27|26|25 = 0|0|0|0|1|1|0: B3Q
      • (other bit combinations reserved)

Note 1: The week, ToW, ToC, and ToE are in the Beidou/Compass time frame as transmitted by the satellites. Ignoring week roll over issues to convert from Beidou/Compass time to GPS time:

    week+= 1356
    ToW+= 14
    ToC+= 14
    ToE+= 14

Note 2: SatH1, IODE, IODC, URAI, TGD1 (and TGD2, if applicable) are unmodified from decoded navigation data stream.




Record 0x01 Subrecord 0x06: 0x01-06 — Decoded QZSS Ephemeris
The first byte of the 0x01-06 message will be the byte 0x06, denoting the subrecord 0x06. This record is designed to hold the decoded QZSS ephemeris information. Note: this record is provisional until further notice.

  • ubnxi = subrecord ID, 0x06
  • uint1 = PRN (full ID, 193-202)
  • uint2 = GPS week of ToE = ToC (whole 604800-second weeks completed since 6.0 Jan 1980 UTC)
  • sint4 = ToW, transmission time of week/time of message (seconds into GPS week, adjusted by ±604800 seconds to refer to the specified GPS week, if necessary
  • sint4 = ToC, time of clock = ToE, time of ephemeris (seconds into GPS week)
  • real4 = TGD (seconds)
  • sint4 = IODC, Issue of Data/Clock
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real4 = af0, SV clock bias (seconds)
  • sint4 = IODE, Issue of Data/Ephemeris
  • real4 = delta n (semicircles/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second)
  • real4 = i dot, rate of inclination (semicircles/second)
  • real4 = SV accuracy (decimeters; multiply by 0.1 to obtain meters), rounded to the nearest decimeter
  • uint2 = SV health, bits 17-22 w 3 sf 1
  • uint2 to hold three remaining pieces derived from the QZSS navigation message:
    • curve fit interval (bit 17 w 10 of sf 2), bit 0 = uint2 & 0x0001
    • (bits 1-15 of this uint2 are currently reserved)




Record 0x01 Subrecord 0x07: 0x01-07 — Decoded IRNSS Ephemeris
The first byte of the 0x01-07 message will be the byte 0x07, denoting the subrecord 0x07. This record is designed to hold the decoded IRNSS ephemeris information. Note: this record is provisional until further notice.

  • ubnxi = subrecord ID, 0x07
  • uint1 = PRN (full ID, 1-7)
  • uint2 = IRNSS week of ToE (whole 604800-second weeks completed since 13 seconds before 22.0 Aug 1999 UTC, i.e. GPS week - 1024); this value will not wrap when the 10-bit week number transmitted by the satellite wraps)
  • sint4 = ToW, transmission time of week/time of message (seconds into IRNSS week), adjusted by ±604800 seconds to refer to the specified IRNSS week, if necessary
  • sint4 = ToC, time of clock (seconds in IRNSS week), adjusted by ±604800 seconds to refer to the specified IRNSS week, if necessary
  • sint4 = ToE, time of ephemeris (seconds in IRNSS week)
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real4 = af0, SV clock bias (seconds)
  • real4 = delta n (semicircles/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second)
  • real4 = i dot, rate of inclination (semicircles/second)
  • uint1 = flags1 to hold the following quantities (URA index and health bits):
    • bits 0-3 = 4 bits URA index (ranges 0-15)
    • bit 4 = L5-band health flag
    • bit 5 = S-band health flag
    • bit 6 = Alert flag
    • (bit 7 of this uint1 currently reserved)
  • uint2 to hold the following quantities (IODEC and TGD):
    • bits 0-7 = unsigned 8 bits IODEC (0-255)
    • bits 8-15 = 8 bits TGD in 2^31 as transmitted by the satellite navigation message




General notes for all 0x01-11 to 0x01-17for upgraded decoded navigation subframe/block/string/page

Note 1: The subrecords 0x01-11 to 0x01-17 are to allow corrections or additions to the original 0x01-01 to 0x01-07 definitions and thereby should supersede the original 0x01-01 to 0x01-07 definitions when any of 0x01-11 to 0x01-17 are implemented.




Record 0x01 Subrecord 0x14: 0x01-14 — Upgraded Decoded Galileo Ephemeris
The first byte of the 0x01-14 message will be the byte 0x14, denoting the subrecord 0x14. This record is designed to hold the decoded Galileo ephemeris information. The definition of the fields in 0x01-14, except SISA, are identical to those in RINEX 3.03 GALILEO NAVIGATION MESSAGE FILE — DATA RECORD DESCRIPTION.

  • ubnxi = subrecord ID, 0x14
  • uint1 = PRN - 1 (offset ID, 0-52)
  • uint2 = Galileo week of ToE (whole 604800-second weeks completed since 6.0 Jan 1980 UTC, so therefore aligned to and identical to the GPS week value)
  • sint4 = ToW, transmission time of message (seconds in Galileo week == GPS week, derived from WN and ToW of page type 1), adjusted by ±604800 seconds to refer to the specified Galileo week, if necessary
  • sint4 = ToC, time of clock (seconds of week), adjusted by ±604800 seconds to refer to the specified week, if necessary
  • sint4 = ToE, time of ephemeris (seconds of week)
  • real4 = BGD E5a/E1 (seconds) (note 1 below)
  • real4 = BGD E5b/E1 (seconds); set to 0 (zero) if from F/NAV message (note 1 below)
  • sint4 = IODnav, Issue of Data of the nav batch
  • real4 = af2, SV clock drift rate (second/second^2)
  • real4 = af1, SV clock drift (second/second)
  • real8 = af0, SV clock bias (seconds)
  • real4 = delta n (semicircles/second)
  • real8 = M0, mean anomaly at reference time (radians)
  • real8 = e, eccentricity
  • real8 = sqrt a, square root of semi-major axis (meters^0.5)
  • real4 = Cic pertubation harmonic (radians)
  • real4 = Crc pertubation harmonic (meters)
  • real4 = Cis pertubation harmonic (radians)
  • real4 = Crs pertubation harmonic (meters)
  • real4 = Cuc pertubation harmonic (radians)
  • real4 = Cus pertubation harmonic (radians)
  • real8 = OMEGA0, lon. of asc. node (radians)
  • real8 = omega, arg. of perigee (radians)
  • real8 = i0, inclination at reference time (radians)
  • real4 = OMEGA dot, rate of right asc. (semicircles/second)
  • real4 = i dot, rate of inclination (semicircles/second)
  • real4 = SISA, Signal in space accuracy: if negative, this is -(SISA index + 1) for SISA index = 0-255; a positive value is the accuracy in distance in meters for SISA index = 0-125 as defined in the Galileo OS-SIS-ICD
  • uint2 = SV health (note 1 below):
    • bit 0: E1B DVS
    • bit 1,2: E1B HS
    • bit 3: E5a DVS
    • bit 4,5: E5a HS
    • bit 6: E5b DVS
    • bit 7,8: E5b HS
  • uint2 = data sources:
    • bit 0: I/NAV E1-B
    • bit 1: F/NAV E5a-I
    • bit 2: I/NAV E5b-I
    • bit 8: af0-af2, ToC are for E5a,E1
    • bit 9: af0-af2, ToC are for E5b,E1
    although only specific combinations are valid, i.e.
    • 0x102 (258) for F/NAV from E5a
    • 0x201 (513) for I/NAV from E1
    • 0x204 (516) for I/NAV from E5b
    • 0x205 (517) for I/NAV from E1+E5b
    and all other values are considered illegal and invalid.
Note 1 (as with RINEX): If bit 0 or bit 2 of data sources is set, E1-B DVS & HS, E5b DVS & HS and both BGDs are valid. If bit 1 of data sources is set, E5a DVS & HS and BGD E5a/E1 are valid. Non-valid parameters are set to 0 and to be ignored.




General notes for all 0x01-41 to 0x01-47for raw navigation subframe/block/string/page

Note 1: For 0x01-41 to 0x01-47, the transmission time time tag, corresponding to the first bit of the navigation message in the record.

Note 2: The storage for all bits of any navigation subframe/block/string/page is in N uint1 8-bit bytes. The first received bit is stored as the MSB of the first byte, bits follow sequentially, using the MSB of each following 8-bit byte first, and all the unused bits (if any) are the LSBs in the last byte. The navigation bits stored are always after deinterleaving and/or, if applicable, after Viterbi decoding.




Record 0x01 Subrecord 0x41: 0x01-41 — raw GPS navigation subframe
The first byte of the 0x01-41 message will be the byte 0x41, denoting the subrecord 0x41.

  • ubnxi = subrecord ID, 0x41
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 1)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — GPS L1-CA
      • 0x06 = 6 — GPS L1C
      • 0x0d = 13 — GPS L2C-M
      • 0x18 = 24 — GPS L5-I
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = GPS subframe number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation subframe:
    • N = 38 for the 300 bits of the GPS L1-CA, L2C-M, or L5-I subframe
    • not defined yet for GPS L1C subframe




Record 0x01 Subrecord 0x42: 0x01-42 — raw GLONASS navigation string
The first byte of the 0x01-42 message will be the byte 0x42, denoting the subrecord 0x42.

  • ubnxi = subrecord ID, 0x42
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = slot number (starts at 1)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — GLONASS FDMA G1-CA
      • 0x0b = 11 — GLONASS FDMA G2-CA
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = GLONASS string number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation string (i.e. all bits of the navigation string excluding the time mark):
    • N = 11 for the 85 bits of the GLONASS FDMA G1-CA or G2-CA string
    • not defined yet for GLONASS CDMA G3




Record 0x01 Subrecord 0x43: 0x01-43 — raw SBAS navigation block
The first byte of the 0x01-43 message will be the byte 0x43, denoting the subrecord 0x43.

  • ubnxi = subrecord ID, 0x43
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 120)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — SBAS L1-CA
      • 0x07 = 7 — SBAS L5-I
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = SBAS block number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation block:
    • N = 32 for the 250 bits of the SBAS L1-CA or L5-I block




Record 0x01 Subrecord 0x44: 0x01-44 — raw Galileo navigation page
The first byte of the 0x01-44 message will be the byte 0x44, denoting the subrecord 0x44.

  • ubnxi = subrecord ID, 0x44
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 1)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x02 = 2 — Galileo E1-B (I/NAV, 2 half-pages concatenated)
      • 0x07 = 7 — Galileo E5a-I (F/NAV)
      • 0x0b = 11 — Galileo E5b-I (I/NAV, 2 half-pages concatenated)
      • 0x14 = 20 — Galileo E6-B (C/NAV)
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = Galileo page number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation page:
    • N = 29 for the 234 bits of the Galileo I/NAV page
    • N = 31 for the 244 bits of the Galileo F/NAV page
    • N = 62 for the 492 bits of the Galileo C/NAV page

Galileo-specific notes:

  • The synchronization field is not encoded.
  • For I/NAV, the odd and even pages are concatenated and the six tail bits in the middle of the concatenated page are not encoded.
  • Merging of the navigation bits from Galileo E5b and E1 into a single page is not allowed in 0x01-44.




Record 0x01 Subrecord 0x45: 0x01-45 — raw Beidou navigation subframe
The first byte of the 0x01-45 message will be the byte 0x45, denoting the subrecord 0x45.

  • ubnxi = subrecord ID, 0x45
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 1)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — Beidou B1-I
      • 0x05 = 5 — Beidou B2-I
      • 0x09 = 9 — Beidou B3-I
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = Beidou subframe number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation subframe:
    • N = 38 for the 300 bits of the Beidou B1-I, B2-I, or B3-I subframe

Beidou-specific notes:

  • The navigation bits stored are deinterleaved.




Record 0x01 Subrecord 0x46: 0x01-46 — raw QZSS navigation subframe
The first byte of the 0x01-46 message will be the byte 0x46, denoting the subrecord 0x46.

  • ubnxi = subrecord ID, 0x46
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 193)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — QZSS L1-CA
      • 0x02 = 2 — QZSS L1C-Data
      • 0x08 = 8 — QZSS L2C-M (CNAV)
      • 0x0e = 14 — QZSS L5-I (CNAV)
      • 0x14 = 20 — QZSS LEX-S
      • 0x1e = 30 — QZSS L1-SAIF
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = QZSS subframe number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation subframe:
    • N = 38 for the 300 bits of the QZSS L1-CA, L2C-M, or L5-I subframe
    • N = 32 for the 250 bits of the QZSS SAIF subframe
    • not yet defined for QZSS L1C or LEX




Record 0x01 Subrecord 0x47: 0x01-47 — raw IRNSS navigation subframe
The first byte of the 0x01-47 message will be the byte 0x47, denoting the subrecord 0x47.

  • ubnxi = subrecord ID, 0x47
  • uint4 = start of transmission time, number of minutes since 6.0 Jan 1980
  • uint2 = start of transmission time, number of milliseconds to complete the time
  • uint1 = PRN (starts at 1)
  • uint1 = source & validation
    • bits 0-4: source ID, as defined for 0x7f-05
      • 0x01 = 1 — IRNSS SPS
    • bit 5: CRC or parity bit: 0 = CRC or parity check passed; 1 = CRC or parity checked failed
    • bit 6: 1 = message ID field is available in an optional ubnxi that follows this uint1;
              0 = message ID field is not stored and no ubnxi follows this uint1
    • bit 7: reserved
  • [ubnxi] = optional message ID = IRNSS subframe number, present only when bit 6 of the preceding source & validation uint1 is set
  • N uint1 = contains the bits of the source navigation subframe:
    • N = 37 for the 292 bits of the IRNSS SPS subframe

IRNSS-specific notes:

  • The synchronization field (sync word) is not encoded.




The BINEX record 0x01 outline for each subrecord on this page should be intepreted as complete and finalized. Since other subrecords may be specified in the future, all other subrecord IDs not explicitly specified on this page are currently reserved.

 

Last modified: 2023-05-12  13:21:12  America/Denver