UNAVCO Home UNAVCO Home
   |    |   |  
UNAVCO Home UNAVCO Facility

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 0x7d Record ID 0x7e Record ID 0x7f Log
Draft of GFZ BINEX proposal
DRAFT, 31.Jan., 1999

The proposed below Binary Receiver Independent Exchange format has the same basic philosophy as RINEX-2 one, however three following modifications are suggested:

  • Both instrumentation data blocks: Receiver-Ranging Measurements and Broadcast Ephemerides, may be stored when available (i.e. sorted according to a reception time) in the same file.

  • Channel's number must be assigned to each tracked satellite. It is required by channel dependent correction algorithms and for monitoring of a receiver's reliability.

  • Signal/Noise ratio is not scaled but it is rounded to the nearest integer value.
Each data file begins with one byte containing version ID-number followed by a spare byte. Integer and real numbers are stored according to Little Endian format convention. All other information is structured into header and data sections, as in RINEX-2 files.

1. FLAG 1: Version (1 byte)
Binary exchange format version.

2. FLAG 2: Spare (1 byte)

3. FILE-HEADER (as in RINEX-2, variable length)
In order to make available variable length of the section, the RINEX-2 format for the header lines is adopted. The header is composed of a number of maximum 80 characters long strings (vectors) terminated with CR-character. The last line must contain the character sequence: >>END OF HEADER<<
Any change of header information must be reported by inserting appropriate header lines into the data file. These >>updating-lines<< must follow the Event Flag >>header information follows<< (similary as in original RINEX).
The file-header must contain the following information (the keywords as in RINEX):

  • Decoding and Converting programs information:
  • Marker name
  • Marker number
  • Name of observer, agency
  • Receiver information
  • Antenna information
  • Marker XYZ coordinates
  • Marker antenna offset
  • Wavelength factors
  • Observer name, agency
  • Number of observation types and observation types (2-characters IDs)
  • Data sampling rate (seconds)
  • Number and sequence of SNR-observations (This is new)
  • Comments
First 20 characters of each header string are reserved for identification with a sub-string (MARKER NAME, MARKER NUMBER, INTERVAL, ...). So, only end of header marker must appear at the prescribed place, as the last one. All others may be placed in any order.

4. EPOCH-HEADER (Structure, 12 bytes)

	Time tag                                    long int, 4 bytes
	Floating part of the time tag               long int, 4 bytes
	Receiver clock offset (fraction of second)  long int, 4 bytes
The floating part of the time tag and receiver clock offset to be divided by 2^32.
Example:
		typedef struct {
		  long int	timeTag,
				partOfSec,
				clfOffset;
		} EPOCH_HEADER;
There are different structure alignment rules on different computers. In order to assure binary data exchange, the structure must be stored byte by byte.

5. NUMBER OF SATELLITES in the current epoch of event flag (1 byte)
Value greater than 0 means: number of observations in the current epoch, otherwise event flag. Event flags according to the RINEX-2.

6. SATELLITE IDs (Variable length = number of satellites tracked)
Vector of bytes containing SV PRN ID:

  bit 7 (MSB)  - AS flag (1-on, 0-off)
  bits 0 - 6   - SV PR Number

7. CHANNEL NUMBERS (Variable length = number of satellites tracked)
Vector of unsigned character bytes containing receiver channel numbers, where:

  bit 7 (MSB)  - Loss of lock indicator
  bits 0 - 6   - Channel number

8. SIGNAL/NOISE COUNTS (Variable length = number of satellites tracked * Number of SNR-observations)
Vector of 2 bytes words with L1 S/N counts.
    Length = Number of satellites * 2 bytes * Number of frequencies;
String of 2 bytes words with L2 S/N counts (Only for double frequency receivers).
    Length = Number of satellites * 2 bytes * Number of frequencies;

9. SINGLE OBSERVATION (10 bytes)

	Value			double (8 bytes)
	Observation type	char. (1 byte)
	System ID 		unsigned char. (1 byte)
	         Bit 0 bis 2: system's ID; bits 3 bis 7: spare for a quality indicator
Example:
		typedef struct {
		  double	Value;
		} singleObservation;
Observation types:
  • L1, L2, C1, C2 (cycles)
  • P1, P2 (meters)
  • D1, D2, TT
System's IDs (max. value of ID=7):
  • GPS - 0
  • GLONASS - 1
  • GNSS-2 - 2

10. BROADCAST EPHEMERIS

	Week Number and GPS seconds since
	Jan. 6, 1980 (transmission time)		long integer  seconds
	Code(s) on L2 Channel				unsigned char N/A
	L2 P data flag					unsigned char N/A
	SV Accuracy					unsigned char (as in ICD-2000)
	SV Health					unsigned char N/A
	Age of Data Clock, AODC				long integer  seconds
	L1-L2 correction, TGD				double        seconds
	Age of Data Ephemeris, AODE			long integer  seconds
	Clock correction:
		toc					integer       seconds
		af0					double        seconds
		af1					double        sec./sec.
		af2					double        sec./sec.^2
	Mean anomaly at reference time, M0		double        radians
	Mean motion, Dn					double        rad./sec.
	Eccentricity, e					double        N/A
	Square root of the semi-major axis, sq.A	double        1/m^2
	Right ascension at reference time, OMEGA0	double        radians
	Inclination angle at reference time, i0		double        radians
	Argument of perigee, omega			double        radians
	Rate of right ascension, OMEGADOT		double        rad./sec.
	Rate of inclination angle, IDOT			double        rad./sec.
	Amplitudes of the cos. Harmonic correction term to the:
		argument of latitude Cuc		double        radians
		orbit radius         Crc		double        meters
		angle of inclination Cic		double        radians
	Amplitudes of the cos. Harmonic correction term to the:
		argument of latitude Cus		double        radians
		orbit radius         Crs		double        meters
		angle of inclination Cis		double        radians
	Reference time ephemeris, toe			integer       seconds

Last modified Friday, 21-Jul-2006 23:21:07 UTC

 

Home | About Us | Contact Us | Support | Search | Facility | PBO | Education & Outreach

Comments: webmasterATunavco.org
© 2008 UNAVCO, Inc.