Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 May 2000 20:45:37 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Warner Losh <imp@village.org>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: GPS heads up 
Message-ID:  <200005040345.UAA66777@apollo.backplane.com>

next in thread | raw e-mail | index | archive | help
:If you watch a system that is measuring this, you'll see that one
:second you are 65ns slow.  The next you are 64 ns slow, the next you
:are 68ns slow the next you are 65ns slow.  Come back an hour later and
:you'll find you are 135ns fast, then 130ns fast, then 140ns fast.
:After lunch it might be 12ns slow, then 10 ns slow then 8ns fast.
:Just before leavinvg for the day, you might be back up to 165ns fast.
:All of this is relative to an independent, high accuracy time source
:like an atomic clock.  That's why you can't take the average of 20
:readings in a row.  You'll just be factoring out a very small part of
:the SA sequence.  There's some jitter in the SA, but its biggest
:impact is the long period error that it introduced.
:
:Put another way, it takes days for the drunk to complete his random
:walk. :-)  Averaging over a few minutes will only tell you where the
:drunk is at the moment and not his true center.
:
:Which is what I think Matt is trying to say.
:
:Warner

    Yes, pretty much.  The timing information is what makes GPS
    work.  Since you are moving, you expect the timing information
    to change (that's how you detect the fact that you are moving!),
    so averaging it wouldn't help much even if you had your own 
    personal atomic clock.

    SA modifies *each* satellite's timing information independantly,
    in a way that moves the *entire* volume of space calculated
    by the GPS unit rather then simply stretching it (which is what
    random noise would do).    If it simply stretched it the GPS unit
    would be able to calculate the center and thus provide an accurate fix.
    But it doesn't, so the GPS unit can't.

    Since the whole volume moves the GPS unit believes you are moving even
    if you are standing still.  

    The correction algorithm only works if there is a second GPS unit 
    at a fixed point (i.e. NOT moving).  This second unit makes the
    assumption that it is standing still and broadcasts the 'error'
    it sees from the satellites.  The first GPS unit receives the
    error information for each satellite from the second unit and
    is able to correct the timing information it sees from each
    satellite before applying its algorithms.

    It's ironic, but GPS wasn't accurate enough for marine use so
    the Coast Guard set up coastal beacon sites to transmit the
    corrections.  Thus marine GPS units with beacon receivers
    could correct for the error and produce much more accurate results.
    Just about the entire coast of the U.S. has beacon transmitters.
    So ever since GPS was first deployed for civvy use, one government
    agency has been broadcasting corrections to the intentional errors
    introduced by another government agency.  (I expect the coastal sites
    will be turned down now that they are no longer needed).

    There is a way to get extremely accurate GPS measurements with or 
    without SA and that is to detect phase changes in the incoming signal.  
    This only works if you are not moving or moving very slowly (for example, 
    to measure plate movement for earthquake and seismic purposes).  It
    does not help you calculate your position, it simply helps you 
    calculate tiny changes in your position.  It would not be useful to 
    a moving object (the noise causes you to lose track of 360 degree
    phase changes), but it works great for really slow slow movement.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005040345.UAA66777>