[time-nuts] DGPS at home

Hal Murray hmurray at megapathdsl.net
Sat Nov 26 17:35:38 EST 2011

> Maybe you can figure out for use how long one must average the data to get
> down to a given position accuracy.   The fact that you have a poor location
> is good.  You are generating real-world numbers.

I'll be glad to provide lots of crappy data if anybody wants to play with it.


The refclock (nmea, PPS, TBolt, ...) support in ntpd has code to discard 
outliers on a clump of timestamps.  I think something like that would be very 
helpful when processing position data.

The code is pretty simple in one dimension: sort, compute average, compare 
distance to left and right ends, discard one, adjust average...  After the 
sort, the processing time is linear in the number of samples to be discarded.

I haven't figured out how to do something like that in 2 dimensions: there is 
no left or right end.

The basic idea you want to implement is to start with a large circle centered 
on the center of mass and shrink that circle until it hits a point.  That's 
the point you want to discard.

Pure brute force would compute the center of mass and then scan all the data 
points computing the distance...  That's an N-squared process which might 
take too long with a large clump of data.  For offline research like this, it 
might be OK.

There is a slightly better approach that I'll call semi-brute force.  The 
idea would be to make two lists: one for NS and one for EW, sort them, then 
use the longest end as a trial point.  Then you scan in from the 4 ends.  The 
semi- part is that you can stop when you get to the trial / sqrt(2).  At 
first glance, discarding isn't cheap since you have to scan the other 
list/array.  Actually, you don't have to scan the other list.  Just mark that 
slot as dead.  In either case, you can fixup the center location rather than 
recomputing it.  If you notice a dead slot on the end of a list you can 
delete it.

[I'm pretty sure that will get the right answer.  I'll try again if that 
description isn't clear.]

These are my opinions, not necessarily my employer's.  I hate spam.

More information about the time-nuts mailing list