gpsd-dev
[Top][All Lists]

## Re: gpsprof: higher resolution

 From: Gary E. Miller Subject: Re: gpsprof: higher resolution Date: Mon, 17 Aug 2020 10:54:40 -0700

```Yo Hal!

On Mon, 17 Aug 2020 03:53:41 -0700
Hal Murray <hmurray@megapathdsl.net> wrote:

> gem@rellim.com said:
> [decimation]
> >> Do I just throw away 9 out of 10 samples?
> > That is one way, then low pass filter the data, or not.
>
> I think that's the reason I was confused enough to inquire.  Normally
> when I see decimation, it's part of a scheme to reduce bandwidth so
> it makes sense to filter before decimation.
>
> But here, I think we are just averaging.

Much more than that.  gpsd does a number of statistical computations
on the data.  Standard deviation, CEP, 2drms, etc.

> There is no signal
> processing.  The term bandwidth doesn't apply.  So what does
> decimation mean?  Why do it in this case?

As I said, the only coherent explanation I could find was:
old computers were to slow to process the entire data set.

>
>
> > gpsd uses gps_fix_t that uses double for lat/lon.  A double is 53
> > significant bits.  Wikipedia says that is 15 to 17 decimal digits
> > of precision, so we are good for a while longer.
>
> I think you are correct, but you didn't show your work.

I gave the wikipedia link.  I can't say it better than them.

> From John's graph, he is at 84W.  Call it 90, or 1/4 circle so we
> have a round number to work with.  The Earth's circumference is
> 40,000 kilometers.  1/4 of that is 10,000 km.  or 1E7 meters, 1E10
> mm.  If we have 12 hours of data at 1 sample per second, that's 43000
> samples.  That means the sum is 4.3E14. That's not quite 1E15, but
> real close.  A bit more than 24 hours of data would be too much.

We are talking floats here, so the magnitude is unimportant, just the
precision, which is still 15 to 17 digits.

> You could do it with 64 bit integer arithmetic using micometers.  You
> need 10 more bits for mm to um but you get back 11 from the floating
> point exponent.

Remember we are talking Python here.  Python ints are infinite precision.

Feel free to give it a try, but I'm happy with "just" 6 digits of excess
precision.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
gem@rellim.com  Tel:+1 541 382 8588

Veritas liberabit vos. -- Quid est veritas?
"If you can't measure it, you can't improve it." - Lord Kelvin
```

pgpto_zmmYnwG.pgp
Description: OpenPGP digital signature