Fetched “CurRnxN.nav” from
ftp://ftp.trimble.com/pub/eph/and had a look at
the raw data. The .nav data file is formatted as Receiver Independent
Exchange Format (*RINEX*) 2.10 and contains GPS navigation methods.
SV accuracy is defined in Broadcast Orbit Record 6 and this value is used
as the URA at line 1084 of rrlpserver.erl.
The problem seems to be that SV accuracy in meters is being used as the URA
*index*.
The confusion arises due to differences between the Receiver Independent
Exchange Format (*RINEX*) 2.10 format and Interface Specification
IS-GPS-200 (
http://www.gps.gov/technical/icwg/). IS-GPS-200 section
20.3.3.3.1.3 states: ”SV Accuracy - Bits 13 through 16 of word three shall
give the URA index of the SV. The URA index (N) is an integer in the range
of 0 through 15.”
Hence I think the RRLP server needs to be modified to support RINEX and
specifically to add a mapping from SV accuracy to URA index like in the
code example here:
http://www.gpstk.org/doxygen/GPS__URA_8hpp-source.html#l00109
For now I changed line 1084 in rrlpserver.erl to assume a URA index of 6
e.g. SV accuracy in the range 13.65 – 24 meters:
stuff("ephemURA", nmth(7,1,Tokens), AdjustTable),
Change to:
stuff("ephemURA", “6” , AdjustTable),
Can any Erlang programmers help fix this?