rtcmdecode
1
13 Jul 2005
rtcmdecode
decode RTCM104 streams into a readable format
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
nc1
to examine RTCM feeds from DGPSIP servers or Ntrip broadcasters.
The decoder dump format is described in
rtcm5;
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-1045
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-1045
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 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
gpsd8,
gps1,
libgps3,
libgpsd3,
gpsprof1,
gpsfake1,
rtcm-1045.
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.