1GPSRINEX(1) GPSD Documentation GPSRINEX(1)
2
3
4
6 gpsrinex - Read data from gpsd convert to RINEX3 and save to a file.
7
9 gpsrinex [-D debuglevel] [-f filename] [-h] [-i interval] [-n count]
10 [-V] [server [:port [:device]]]
11
13 gpsrinex is a tool to connect to gpsd and output the received raw
14 measurements as a RINEX 3 observation file. This is useful for sending
15 raw measurements (pseudorange and carrierphase) from gpsd to a Precise
16 Point Positioning (PPP) program or service.
17
18 gpsrinex does not require root privileges, and can be run concurrently
19 with other tools connecting to a local or remote gpsd without causing
20 problems.
21
22 gpsrinex needs the GPS receiver to be sending raw measurements to gpsd.
23 Only a few GPS have this capability. In addition, the gpsd driver for
24 that GPS must support raw mode. Currently only the u-blox driver has
25 this support. Only a few u-blox 8 GPS implment the required
26 UBX-RXM-RAWX message. The NEO-M8T is known to work, but requires
27 configuration with ubxtool.
28
29 RINEX has its own definitions and abbreviations. Be sure to consult
30 their documentation. An observation file (.obs) contains data sets,
31 called epochs, that contain the pseudorange and carrierphase for each
32 satellite seen.
33
34 gpsrinex by default will acquire 20 epochs spaced apart by 30 seconds.
35 That will take 10 minutes to complete. Most users consider the 30
36 second interval to be optimal. Many PPP programs require at least 1 or
37 2 hours data, but no more than 24 or 48 hours of data. Most users
38 consider 4 to 6 hours of data as a minimum for good accuracy.
39 Additional hours will not yield much improvement.
40
41 The output will consist of one RINEX 3 observation file that is ready
42 to be read by your PPP program. The default filename will be in the
43 form: gpsrinexYYYYJJJHHMMSS.obs. You can override this filename with
44 the -f option.
45
46 Optionally a server, TCP/IP port number and remote device can be given.
47 If omitted, gpsrinex connects to localhost on the default port (2947)
48 and watches all devices opened by gpsd.
49
51 -D [debuglevel] set debug level to [debuglevel].
52
53 -f [filename] save RINEX into [filename].
54
55 -h makes gpsrinex print a usage message and exit.
56
57 -i [interval] wait [interval] seconds between epochs. OPUS accepts
58 intervals of 1, 2, 3, 5, 10, 15 or,30 seconds. OPUS then reduces the
59 data to 30 second intervals.
60
61 -n [count] causes [count] epochs to be output. OPUS requires a minimum
62 af 15 minutes, and a maximum of 48 hours, of data.
63
64 -V makes gpsrinex print its version and exit.
65
67 Example 1:
68
69 Create a 4 hour .obs file. With a running gpsd accessible on the
70 localhost do all of the following, in order. Order matters.
71
72 The raw measurement messages are long. Be sure your serial port speed
73 is high enough:
74
75 gpsctl -s 115200
76
77 Disable all NMEA messages, and enable binary messages:
78
79 ubxtool -d NMEA
80 ubxtool -e BINARY
81
82 The NEO-M8N will only reliably output raw measurements when only the
83 GPS and QZSS constellations are enabled. If your PPP service can use
84 GLONASS, then enable that as well. Be sure to disable, before enable,
85 so as not to momentarily have too many constellations selected.
86 ubxtool, as recommended by u-blox, enables the QZSS constellation in
87 tandem with GPS. Disable all constellations, except GPS (and QZSS):
88
89 ubxtool -d BEIDOU
90 ubxtool -d GALILEO
91 ubxtool -d GLONASS
92 ubxtool -d SBAS
93 ubxtool -e GPS
94
95 Verify the constellations enabled:
96
97 ubxtool -p GNSS
98
99 Enable the good stuff, the raw measurement messages:
100
101 ubxtool -e RAWX
102
103 Verify raw data messages are being sent:
104
105 ubxtool | fgrep RAWX
106
107 You should see this output:
108
109 UBX-RXM-RAWX:
110 UBX-RXM-RAWX:
111
112 Collect 4 hours of samples at 30 second intervals, save the RINEX 3
113 observations in the file today.obs:
114
115 gpsrinex -i 30 -n 480 -f today.obs
116
117 Wait 4 hours. Enjoy a meal, or do some exercise. When gpsrinex
118 finishes, upload the file today.obs to your favorite PPP service.
119
120 Example 2:
121
122 Collect raw masurement data from a remote gpsd. The process it later
123 with gpsrinex and gpsprof.
124
125 Ensure the GPS is configured properly, as shown in Example 1.
126
127 Grab 4 hours of raw live data from remote gpsd at 10.168.1.2:
128
129 gpspipe -x 14400 -R 10.168.1.2 > 4h-raw.ubx
130
131 When gpspipe is complete, feed the data to gpsfake:
132
133 gpsfake -1 -P 3000 4h-raw.ubx
134
135 In another window, feed the data to gpsrinex. Use -n 10000000 so that
136 all the data from the raw file is used::
137
138 gpsrinex -i 30 -n 1000000
139
140 Repeat the process with gpsfake to send the data to gpsprof.
141
143 One service known to work with obsrinex output is at:
144 https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ppp.php
145
146 OPUS requires 2 frequency observation files.
147 https://www.ngs.noaa.gov/OPUS/
148
149 The curious can find the RINEX 3.03 format described here:
150 ftp://igs.org/pub/data/format/rinex303_update1.pdf
151
152 gpsd(8), gpsfake(1), ubxtool(1).
153
155 Gary E. Miller <gem@rellim.com>.
156
157
158
159The GPSD Project 09 Nov 2018 GPSRINEX(1)