summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2010-03-28 08:47:01 -0400
committerEric S. Raymond <esr@thyrsus.com>2010-03-28 08:47:01 -0400
commitd893a0737a7f169583d2809d01a1cd631e309ec5 (patch)
tree9708cca246b78a4a02e5be25c852e52acd052932 /www
parent2b2481ddf1e55b64584db6aad8c9973653b6027f (diff)
downloadgpsd-d893a0737a7f169583d2809d01a1cd631e309ec5.tar.gz
Improvements to FAQ entries on accuracy.
Diffstat (limited to 'www')
-rw-r--r--www/faq.html56
1 files changed, 45 insertions, 11 deletions
diff --git a/www/faq.html b/www/faq.html
index 139f3139..dcee3c0f 100644
--- a/www/faq.html
+++ b/www/faq.html
@@ -76,7 +76,8 @@ GPSD Frequently Asked Questions
<li><a href='#why_not_parse_nmea'>Why use the <code>gpsd</code> protocol rather than parsing raw NMEA?</a><br/>
<li><a href='#interfacing'>How should I interface my application with <code>gpsd</code>?</a><br/>
<li><a href='#agps'>Can GPSD work use Assisted GPS data from cellphone networks?</code>?</a><br/>
-<li><a href='#accuracy'>How can I improve fix and PPS time accuracy from my GPS</a><br/>
+<li><a href='#accuracy'>How can I improve fix accuracy from my GPS?</a><br/>
+<li><a href='#time'>How can I improve time reference accuracy from my GPS?</a><br/>
<li><a href='#sleep'>Why does my GPS get lost when I sleep/wake my laptop?</a><br/>
<li><a href='#web'>How do I get gpsd data into a web page?</a><br/>
</ul>
@@ -468,7 +469,7 @@ we know there aren't any published standards for the format of the
corrections. So even if we had the signals, GPSD couldn't know what to
do with them.</p>
-<h1 id='accuracy'>How can I improve fix and PPS time accuracy from my GPS</h1>
+<h1 id='accuracy'>How can I improve fix accuracy from my GPS?</h1>
<p>Use an antenna, and place the sensor (and/or antenna) properly.</p>
@@ -476,19 +477,24 @@ do with them.</p>
reference. It should be particularly helpful for reducing timing
jitter.</p>
-<p>One common error is to place the GPS or antenna as high as possible.
-This is wrong, and causes signal bounce from the ground or water,
-which can causes the GPS to mistake its position and the time signal.
-The correct location for a boat GPS antenna is on the gunwale rail or
+<p>One common error is to place the GPS or antenna as high as
+possible. This will increase <a
+href="http://en.wikipedia.org/wiki/Global_Positioning_System#Multipath_effects">multipath
+effects</a> due to signal bounce from the ground or water, which can
+cause the GPS to mistake its position and the time signal. The
+correct location for a boat GPS antenna is on the gunwale rail or
pushpit rail, close to the water and as far from the mast as possible
-(to reduce signal bounce from the mast). If you're in a car, don't
-put the GPS antenna on the roof, put it on the towbar or similar. If
+(to reduce signal bounce from the mast). If
you're outside or in a fixed location, put the GPS antenna as far from
-buildings as possible, and on the ground./<p>
+buildings as possible, and on the ground. If you're in a car, don't
+put the GPS antenna on the roof, put it on the towbar or similar.</p>
<p>If you're driving in a heavily built up area, you're going to get
-signal bounce and reduced accuracy. That's just how the physics
-works.</p>
+signal bounce off buildings and and reduced accuracy. That's just how
+the physics works. Note, however, that as your velocity goes up it
+becomes easier for the convergence filters in your GPS to spot
+and discard delayed signal, so multipath effects are proprtionately
+less important in fast-moving vehicles.</p>
<p>If you're using <tt>gpsd</tt> with software that plots your
position on a map, and you seem to be getting latitude/longitude that
@@ -500,6 +506,34 @@ as much as 100-150m with respect to WGS84. While modern datums (e.g.,
NAD83) are almost all very close to WGS84, typically each area of
world has an older datum that only agrees at the 100m level.</p>
+<h1 id='time'>How can I improve time reference accuracy from my GPS?</h1>
+
+<p>All the measures you'd take to improve <a href="#accuracy">fix
+accuracy</a> will help. Time referencing at accuracies below
+0.01sec has its own set of issues related to latency in your
+sensor and computer.</p>
+
+<p>In particular, USB transport is not suited for anything
+time-related that requires sub-millisecond accuracy. If a
+USB-connected GPS unit wants to tell the computer it's 12:23:45, it
+will have to wait for the computer to poll it. This polling happens
+1000 times per second, introducing variable latency averaging a
+half-millisecond. Furthermore, the USB chip might run at anything
+close to 1000 Hz. If it runs at 1000.1 Hz, every 10th second the next
+time-report will come 1 whole millisecond earlier. This will have NTP
+observing something like a 1 ms high sawtooth in the time-reports.</p>
+
+<p>For accurate time reference, use a PPS line over RS232 triggering an
+interrupt. Serial bus interrupt latencies on modern hardware on the
+order of 10 microseconds, roughly a hundred-fold impovement over
+USB.</p>
+
+<p>Don't confuse PPS with conventianal, non-PPS data transport over RS232;
+the latency on that is much higher. At one character per ten bits
+(counting framing at stopbits) a 9600-bps serial link introduces
+about a millisecond of latency <em>per character</em>; both USB and
+RS232 will incur that overhead.</p>
+
<h1 id='sleep'>Why does my GPS get lost when I sleep/wake my laptop?</h1>
<p>This is not a GPSD problem, but a result of the way Linux handles