SiRF Binary to RINEX

Dennis Milbert

Updated:  2010-jun-18

The program, sirfrin1, takes a ".srf" binary file and converts the MID 2, MID 7, and MID 28 message contents into a RINEX file. Its binary in, and ASCII (RINEX) out.

Note that this version of sirfrin1 only translates pseudrorange into the RINEX format. Carrier phase is not supported.

Contents




Operation

The program operates in the DOS window. Alternatively, you can simply run "sirfrin1.exe" with a double click or with "Run..." in your "Start" menu. (I use the DOS window myself.)

One file is needed for input. One file is generated as output. The names are fixed. The files must be in the subdirectory where you are working.

Input File:

sirfrin1.srf -- Binary format. You must have logged MID 2, MID 7, and MID 28 messages.

Output File:

sirfrin1.obs -- ASCII, RINEX format. A RINEX observation file containing the pseudorange information in the MID 28 messages. A generic header is also constructed -- edit those elements you wish to change (like station ID).

Command Line Options:

The following option may be specified following the "sirfrin1". A hyphen (minus sign) is the prefix any command line option. For example:

sirfrin1 -c
Command line options are used when you have opened a DOS window or when you use "Run..." in your "Start" menu.

-c -- "clean". Drop all MID 28 records that do not have a valid clock bias estimate in the MID 7 record. Default action is to retain records without a valid clock bias estimate. Note: the SiRF seems to need a little time to warm up before it issues clock bias values.

Discussion:

The program generates a few lines of output in the DOS window. It echos the command line options it has detected. It lists counts of the number of binary messages it has encountered. It bypasses data not associated with a valid MID 2 message (a non-zero XYZ position). If the clean option is selected, it bypasses data without an associated valid clock bias in a MID 7 message. Note that the "GPS Software Time" is converted into the "GPS Time of Receipt" by application of the clock bias. Pseudorange is also adjusted by the clock bias times the speed of light.

The program only supports the version 2.2.0 and earlier software version of the SiRF binary format. Double precision byte values are rearranged in accordance with instructions at the bottom of page 3-34 of the SiRF Binary Protocol Reference Manual (Version 2.4). If the double precision binary data are not formatted as expected, the following message is issued:

 detected bad pseudorange decoding
 this version of sirfrin1 does not handle
 this binary file format

and the program is halted.


RINEX Format

The RINEX version 2.10 format (10Dec2007) can be obtained from the International GPS Service.


Shortcomings

This is "no frills" software. There are no warranties of any sort. No Windows GUI. Just the core function.

You must have the input file with the name sirfrin1.srf. The program will overwrite any existing "sirfrin1.obs" file in the working directory. The program will not process data with alternative kinds of binary double precision formatting.


Source Code and Binary Executable

The Fortran source code (2010jun18) is sirfrin1.for.

The compiled executable (zipped) is sirfrin1.exe.


Links to Other Pages

The links here expand on the topics above.




To Contact Me

My e-mail user name is the first initial of my first name followed by all the letters of my last name (see above). My ISP is "comcast", and it is a "dot-net", not a "dot-com". Sorry for not spelling out my e-mail address, but I try to keep the spam-bots from fingering me. But, just so the spam-bots don't feel left out, they can always go to abuse@comcast.net


Back To Home