From owner-freebsd-hackers Wed May 3 20:45:47 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 8EC2A37BF86 for ; Wed, 3 May 2000 20:45:44 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id UAA66777; Wed, 3 May 2000 20:45:37 -0700 (PDT) (envelope-from dillon) Date: Wed, 3 May 2000 20:45:37 -0700 (PDT) From: Matthew Dillon Message-Id: <200005040345.UAA66777@apollo.backplane.com> To: Warner Losh Cc: hackers@FreeBSD.ORG Subject: Re: GPS heads up Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message