Notes on the Printout Format of the RTCM Decoder. Written by John Sager john.sager@btinternet.com Copyright (C) 1999 John C Sager History: v0.2 9th February 1999 v0.1 5th February 1999 The RTCM decoder prints a legible representation of the input data. The RTCM SC-104 specification is copyrighted, so I cannot quote it - in fact, I have never read it! Most of the information used to develop the decoder came from publication ITU-R M.823. This is a specification of the data transmitted from LF DGPS beacons in the 300kHz band. M.823 contains most of those parts of RTCM SC-104 directly relevant to the air interface (there are one or two annoying and vital omissions!). Information about the serial interface format was gleaned from studying the output of a beacon receiver test program made available on Starlink's website. Air Interface Data Format ------------------------- This consists of a sequence of 30-bit words. The 24 most significant bits are data and the six least significant bits are parity. The parity algorithm used is the same as that used for GPS data transmitted by the satellites. Each DGPS message consists of two header words followed by zero or more data words, depending upon message type. Printout Format --------------- In the printout each header is printed, followed by zero or more lines containing the specific data for that message. The general format is a line beginning with a capital letter, followed by a tab, followed by the fields of the message separated by tabs, terminated by a newline. As well as data the decoder also prints decoder status messages, as necessary. Header (H) ---------- format: H [T ] example: H 9 687 337.2 4 5 0 is one of 1 full corrections - one message containing corrections for all satellites in view. This is not common. 3 reference station parameters - the position of the reference station GPS antenna. 4 datum - the datum to which the DGPS data is referred. 5 constellation health - information about the satellites the beacon can see. 6 null message - just a filler. 7 radio beacon almanac - information about this or other beacons. 9 subset corrections - a message containing corrections for only a subset of the satellites in view. 16 special message - a text message from the beacon operator. is the id of the GPS reference receiver. The LF transmitters also have (different) id numbers. is the reference time of the corrections in the message in seconds within the current hour. Note that it is the current hour in GPS time, which is several seconds ahead of UTC (13 in 1999). is a number which increments, modulo 8 for each message transmitted. is the number of words after the header that comprise the message. indicates the health of the beacon as a reference source. 6 means the transmission is unmonitored. 7 means the station is not working properly. Other values are defined by the beacon operator. If the message contains a parity error after the header but before the end of the message, then the extra fields [T ] are appended to indicate a truncated message. example: H 9 687 331.8 1 5 0 T 4 indicates the number of useful words before the parity error. Depending on the message type, useful information may still be extracted. Correction data (S) ------------------- One or more of these follow the header for type 1 or type 9 messages. format: S example: S 7 0 199 331.8 -12.160 0.288 is the PRN number of the satellite for which this is correction data. is User Differential Range Error with the following values: 0 1-sigma error <= 1m 1 " <= 4m 2 " <= 8m 3 " > 8m is Issue of Data, matching the IOD for the current ephemeris of this satellite, as transmitted by the satellite. is just a copy of the same field from the header. is the pseudorange error in metres for this satellite as measured by the beacon reference receiver at the epoch indicated by is the rate of change of pseudorange error in metres/sec for this satellite as measured by the beacon reference receiver at the epoch indicated by . This is used to calculate pseudorange errors at other epochs, if required by the GPS receiver. Reference Station Parameters (R) -------------------------------- format: R example: R 3746729.40 -5086.23 5144450.67 The coordinates are the position of the station, in metres to two decimal places, in Earth Centred Earth Fixed coordinates. These are usually referred to the WGS84 reference frame, but may be referred to NAD83 in the US (essentially identical to WGS84 for all except geodesists), or to some other reference frame in other parts of the world. Datum (D) --------- format: D [ ] example (artificial): D GPS 0 ABC12 25.8 30.5 33.0 is either GPS or GLONASS. is 0 or 1 and indicates the sense of the offset shift given by dx, dy, dz. dat = 0 means that the station coordinates (in the reference message) are referred to a local datum and that adding dx, dy, dz to that position will render it in GNSS coordinates (WGS84 for GPS). If dat = 1 then the ref station position is in GNSS coordinates and adding dx, dy, dz will give it referred to the local datum. is a standard name for the datum. are offsets to convert from local datum to GNSS datum or vice versa. These fields are optional. Constellation Health (C) ------------------------ One or more of these follow the header for type 5 messages - one for each satellite. format: C