RTCMDECODE(1)

NAME
rtcmdecode - decode RTCM104 streams into a readable format

SYNOPSIS

rtcmdecode [-d] [-e] [-v debuglevel] [-V]

DESCRIPTION

This tool is a decoder for RTCM-104, an obscure and complicated serial protocol used for broadcasting pseudorange corrections from differential-GPS reference stations. RTCM-104 is expected on standard input; an equivalent, 100%-information-preserving text format is written to standard output.

You can use this tool with nc(1) to examine RTCM feeds from DGPSIP servers or Ntrip broadcasters.

The decoder dump format is described in rtcm(5); these lines go to standard output. As well as data the decoder also prints decoder status messages to standard error, as necessary.

OPTIONS

The -d option tells the program to decode RTCM-104 presented on standard input to a text dump in the format of rtcm-104(5) on standard output. This is the default behavior.

The -e option option tells the program to encode a text dump in the format of rtcm-104(5) to standard output. Encoding is supported only RTCM104v2, not for RTCM104v3.

The -V option directs the program to emit its version number, then exit.

The -v option sets a verbosity level. It is mainly of interest to developers.

APPLICABLE STANDARDS

The applicable standard for V2 is RTCM Recommended Standards for Differential NAVSTAR GPS Service RTCM Paper 194-93/SC 104-STD.

Note that rtcmdecode presently recognizes only the 2.1 level of RTCM; the protocol was revised up to a version 2.3 including additional messages relating to GLONASS and real-time kinematics before being deprecated in favor of V3. It is now obsolete.

The applicable standard for V3 is RTCM Standard 10403.1 for Differential GNSS Services - Version 3 RTCM Paper 177-2006-SC104-STD.

Ordering instructions are accessible from the website of the Radio Technical Commission for Maritime Services[1] under "Publications".

BUGS AND LIMITATIONS

RTCM3 decoding is buggy and incomplete.

RTCM-104 represents floating-point quantities as an integer multiple of a fixed scale factor. Editing an RTCM-104 dump can produce numbers that are not an integer multiple of the scale factor for their field. If you do this, the value actually packed into binary RTCM-104 will be rounded down to the nearest scale unit, and dumping will show slightly different numbers than those you entered.

The decoder logic is sufficiently convoluted to confuse some compiler optimizers, notably in GCC 3.x at -O2, into generating bad code.

SEE ALSO

gpsd(8), gps(1), libgps(3), libgpsd(3), gpsprof(1), gpsfake(1), rtcm-104(5).

AUTHOR

Eric S. Raymond <esr@thyrsus.com>. This is a somewhat hacked version of an RTCM decoder originally written by Wolfgang Rupprecht. There is a project page for gpsd here[2].

NOTES

1.  Radio Technical Commission for Maritime Services
    http://www.rtcm.org/

2.  here
    http://gpsd.berlios.de/