GPS Always Overestimates Distances (i-programmer.info)
mikejuk writes: Have you had a suspicion that your GPS app is overestimating the distance traveled? It is something that runners and walkers complain about a lot. If so, you are probably correct -- but the reason isn't an algorithmic glitch. The answer lies in the statistics, and it is a strange story. If you make a measurement and it is subject to a random unbiased error, then you generally are safe in assuming that the random component will make the quantity larger as often as it makes it smaller. Researchers at the University of Salzburg (UoS), Salzburg Forschungsgesellchaft (SFG), and the Delft University of Technology have done some fairly simple calculations that prove that this is not the case for GPS distance measurement. Consider the distance between two points — this is along a straight line, and hence it is the shortest distance. Now add some unbiased random noise, and guess what? This tends to increase the distance. So unbiased errors in position give rise to a biased overestimate of the distance. There is an exact formula for the bias and in some cases it can be more than 20%. Is there a solution? Perhaps using velocity measurements and time to work out distance is better — it isn't biased in the same way, but how accurate it could be remains to be seen. So when your fitness band tells you you have run a 4-minute mile — don't believe it.
As a sailor who use GPS alongside traditional navigation: stop using devices that poll and insert a new leg on your route every 5 seconds. If you lower the polling frequency to f.e. every 1 or 2 minutes this problem goes away. I realize that this doesn't work for people who insist on taking their morning run zig-zagging through city blocks.
If the bias is known to be X percent on average, how about you subtract those X percent from the number to get an unbiased result? You might even come up with a way to estimate the bias in each particular case based on input from the sensors.
I thing apps like RunKeeper are already doing this sort of thing, because they seem pretty accurate to me, if perhaps a little too optimistic...
The thing is, you don't win users by under-estimating their achievements.
"it can be more than 20%" -Yeah, it can be an infinite number of %, if the actual distance travelled is zero, and the random error is not.
If it's purely a timing error, projected into 2D or 3D space, then for a number of variables having an evenly-distributed (or normal) error, most of the resulting positions will be 'far away'. For example, if you create a 7x7 grid, with yourself in the center square, and pick one of the 49 squares randomly, only 1/49 is correct, another 8/49 are within 1 distance, another 20/49 are within 2 distance, and so on, because the number of squares available increases for any given distance.
While technically correct, your correction is not really relevant to the discussion... Add random noise to the ideal arc and you get the same result - error that always goes up, never down.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
I began running 5ks recently and the watch consistently reports my distance as 100 - 150 meters short of 5k when I finish. It is also fairly inaccurate in reporting my current pace particularly when I've turned a corner or made any kind of deviation from a straight line really. I've been running long enough at this point to know when I'm running a 9 minute/km pace (yeah, I'm a turtle) but my watch will occasionally say I'm running a 7 minute km.
GPS is a position determination technology. GPS-based "velocity" is calculated by GPS device based on change in position (distance) and time. It is subject to exactly the same error as the position itself.
Apropos, in the GPS navigation software I work on, tracking uses adaptive smoothing precisely for the purpose of reducing the distance error.
My experience is that my iPhone under reports my runs by at least 100m every 5km (I get variances of 100-300m under reported for the same 5.7km loop that I run once it twice a week.
I ran the Richmond-upon-Thames 10k last year and after crossing the line I had apparently only gone 9.8km. Other people at the finish mentioned their Garmins had reported even less. I wrote an email to the organiser who came back to me with a plausible explanation and a defence that they were IAAF measured (with a certificate confirming the length): the sample frequency of these devices isn't frequent enough and will cut-off corners, which was particularly bad for this event which zig-zagged through Kew Gardens, with 17 right angles and a long curve along the river Thames.
The interesting thing about this is not that they've found an explanation for why a GPS always overestimates (which is pretty obvious), but rather that they've taken the time to work out the statistics and quantify this overestimate. Imagine a GPS implementing this, and therefore able at any point in time to give the expected error. It might tell you that it measured a path of 10 km, but that, because of the type of noise present, the actual path was probably closer to 9 km. You could even take that a bit further and apply a smoothing algorithm to the track with as optimization goal to match the track with the expected distance.
I'd use that feature.
This gem caught my eye:
That's some amazing math there. (1.2 m - 1.0 m) / 1 m = 0.2, indeed a relative error of 20%. But (5.6 m - 5.0 m) / 5 m = 0.12, a relative error of 12%, not 60%! So, let's fix this thing, with of course the opposite conclusion:
OpenSource.MathCancer.org: open source comp bio
The shortest distance between two points on the surface of the earth is not a straight line. It is a path that follows the curvature of the earth.
The shortest distance is a chord that goes beneath the surface of the earth.
That's going to get my shoes dirty...
Son of a ditch!
You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
Yes, but random errors will increase the total distance traveled, independent from this kind of inherent estimation error.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
"the expected measured length squared between two points is bigger than the true length squared unless the errors at both points are identical." WTF are they squaring the points' positions?
The military uses more accurate GPS than us lowly civilians. Something about the ionosphere.
I am pretty sure that this means you just don't understand the problem. I encourage you to reread it. (I haven't read it but I understand the math.) Kalman filtering (LQE, if you prefer) may reduce the errors but I assume that's already being applied by the software. You'd need to adjust it - probably specifically for the timing and inherent inaccuracies. It almost certainly wouldn't be a complete solution and, importantly, is quite likely to be already applied.
"So long and thanks for all the fish."
No, measurement error will actually bend space time.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
When you run the same route each day - which I'm betting most work-a-day runners do, then you only need your time. You know your pace and cadence, forget the tech (and I have an Apple watch, plus an older Nike fuel...).
If you are running while on a work trip, maybe it helps but again, but you probably are just trying to get your workout before your meeting; fussing with workout tech just adds stress and that's what you are trying to combat with the run!
If you are running on vacation, what the hell is wrong with you (j/k)
Heart rate is a different story, but I'll save that comment for a different post.
sigs are for losers (except to point out that sigs are for losers)
A trivial calculation (really, I figured that out a long time ago), with a non-trivial solution.
*Ideally* you would not use the GPS signal with a Kalman filter in the input, but for distance calculations en the end of the trip you should use a variant of the filter which can "look into the future" for each point.
While the best estimate for the position at any given point in time can only be based the past data (and Kalman filters are ideal for estimating this under this condition), the estimation of a point where you have been can be based on all information which you have obtained until the time when you want to know the location in the past.
To be more specific, if i measure points 1,2,3 and at the time of acquiring point 2 i want know my location, i can only use current data and point 1. However if i want to know it later, the information i got when i measures 3 will make i possible to draw a straight (or curved) line from 1 to 3 and estimate the most likelt position of point 2 under the condition that 1,2,3 need to fulfill some physical properties (like *not accelerating wildly*).
Also, one could use DGPS to correct the trajectory.
A very common way to get better velocity data (used for example in consumer grade ublox and mediatek receivers) is to directly measure the doppler shift of each satellite signal. Since you accurately know where each satellite is and their velocities, you can use the doppler shift between each satellite's signal to determine your own velocity with respect to them. The main advantage of this technique is that it is not affected by atmospheric propagation-delay variations (the signal might come later, but the doppler shift is not affected) which is the main source of error in civilian GPS system.
One of the reasons it is commonly used is that you need to compensate for the doppler shift in your receiver front end anyway, so you get this data essentially for free if you can be bothered doing the calculations with it. I have worked on projects that used this technique and you could easily get around 1% cumulative error on distance measurement with at 4Hz sample rate.
... like on a track. In which case it'll cut the corners and underestimate.
No, that was you having a movement on your bar stool.
Sleep your way to a whiter smile...date a dentist!
We tested a gps a couple of times over a few miles each time. This was using a handheld Windows device, for which my friend built software to function as a taxi meter.
I think TFA tried to measure distances that are two small - 1 meter and 10 meters. It describes one source of error - random errors increase the measured distance. However, there is another source of error in the opposite direction which compensates for the first. Due to sampling occasionally, the GPS-based measurement measures a curve as a series of straight lines, which is shorter. In practice, these two balance out for driving around the city.
The correction we do make in the taxi meter is that random error becomes significant when the receiver isn't actually moving, or is moving at under 5 MPH. It appears they tested at under 5 MPH. For the taximeter, at under 5 MPH we ignore the supposed motion and only add it to the wait time; in other words we treat any speed less than 5 MPH as if there were no motion at all. This gives very accurate results for driving.
* The other adjustment (not correction) we make is that we intentionally under-report by about 0.5%. That's because the law allows us to under-report by 2% or over-report by 1%. Trying to be 0.5% low gives us more margin for error before a customer is unlawfully over charged.
I have a huge bag of crisps right next to the sofa. So MY GPS told me I moved *eactly* 0 yards today and didn't over estimate. Sucks to be you. Grow up kid and get a better GPS.
BRB gotta shave my neck.
SJW n. One who posts facts.
You're missing something.
Imagine you're running along in a one dimensional world. Any positioning errors will move any two points either directly towards each other or away from each other. The average bias should be zero.
If you allow two dimensions, errors can now occur to the right and left of your path, even if you're still running along in a straight line. Any lateral error, right or left, will increase the measured distance between points. That's where the bias comes from.
If I followed your post correctly, the effect you're referring to is the same as the interpolation error mentioned in the article, and actually tends to decrease the measured distance.
In case it was not clear to everyone reading TFS, "GPS Always Overstimates Distances" is incorrect. The point of TFA is that, on average, distances are overestimated. GPS distance estimates are subject to random error, and the random error is biased. So more often than not, the estimate will be too large, but not "always". A better headline would have been, "GPS Usually Overestimates Distances". Less sensational, but more accurate.
So, a few years ago I wrote a "Taxi Meter" app for iPhone (though got bored and never released it...).Not meant to be a real taxi meter, but a novelty, say to get the kids your ride-share partner to get a grasp how much running around you are doing, and what it would cost to get a taxi instead...
I had to multiple by a fudge factor
The fudge factor was good enough - it got it well under the 2% required for a real taxi meter. I checked it by driving specific routes and then plotting the routes on Google Earth and checking the distances.
(Of course, this would also account for lane changes, and for a REAL taxi meter you would want to include them.)
Imagine for a moment that instead of going from point A to point B, you instead Zigged at 45 degrees then half way you Zagged back on the slant path to point B. Clearly then your total trip is sqrt(2) times the straigtline distance. But you went needlessly off the path. Instead we shall imagine that we can detect when we have deviated by 1 foot from the straight path. So we now execute a zig zag (45 degree) path turning each time we deviate by 1 foot from the true path. How far did we go? Oh my, it's still sqrt(2) times the straight line. We work hard and improve the duidance system so we now can detect when we are 1 micron from the straightline path. How far? still sqrt(2) times the straight line.
Indeed no matter how accurate we can detect the deviation so that the true path is beyond the capacity of any instrument to measure the deviation, say 1/100th of angstrom the same logic holds.
ergo all paths between A and B including the straight path are 1.41 times the straighpath distance.
Fractal hamburger.
Some drink at the fountain of knowledge. Others just gargle.
You had me going until you pretended you actually shave that thing. You've still got rancid cranberries from last Thanksgiving in it!
You need to be a researcher in order to rediscover the effort of noise on sampling?
You had me going until you pretended you actually shave that thing. You've still got rancid cranberries from last Thanksgiving in it!
Allow me to scoff at your obvious stupidity. Clearly I never eat fruit. Any fool can see that.
SJW n. One who posts facts.
That is why it is 90% sugar. That sweet and sour dessert sauce? Those aren't lumps, those are cranberries.
The pie might have also had a little fruit. Worse, the sugar in it is probably from beets. Which are a vegetable.
Wait until somebody tells you that there are concentrated vegetables in the gravy. You might reconsider the stomach staples at that point.
Just do course smoothing and you can reduce the bias to zero.
Either way I don't know what my watch does but I have 5 marathons recorded and the recorded distances ranged from 41.95 to 42.5. Being Boston Qualifiers they were at least 42.195 so 4/5 were overestimates and a total error of less than 1%.
I also do a series of XC races where the published distances (measured by mountain bike) are notorious for being 5-10% longer than peoples GPS. Assuming the bikes aren't horribly calibrated the explanation is these are hilly courses (GPS misses the up/down) and the GPS will cut corners.
So on a straight course without correction it should always be an overestimate (barring error in the start/finish pos), but to claim in overestimates in every scenario is wildly inaccurate.
I stole this Sig
I hike with a club two days a week, and on every outing there are several of us who measure distance and elevation change with a GPS. Our distance measurements are always different, because of the interval between readings for each device.
Imagine a twisty trail being hiked. Whenever your GPS takes a reading, it's like pushing a map pin identifying one specific point on that trail. Think of your device's distance measure as a thread stretched from pin to pin all the way along the trail. See how the sum of all those straight string segments is always SHORTER than the actual trail distance? That's the effect we see. Increasing the read frequency makes the measure more accurate, but runs down the battery faster.
A similar effect can be obtained when walking (don't recommend driving) home from the pub on a friday night. The distance seems twice as far....
The car can report its current velocity and compass reading, something that phones have a hard time doing on their own. For this reason and others, I look forward to a proper car to phone interface.
Wait until somebody tells you that there are concentrated vegetables in the gravy.
pfff doesn't bother me. Cheetos are all vegetable.
You might reconsider the stomach staples at that point.
Ha! Neckbeard + skinny is not a good look. Besides one needs a certain frame stretch out T-shirts so there are no wrinkles otherwise people might not be to read the condescending statements and cartoons written them,or appreciate the obvious attractiveness of the scantily clad anime characters portrayed therein.
SJW n. One who posts facts.
have you never ever watched the indoor jitter without you moving at all on any tracking app you just installed to check out?
You are mixing up relative and absolute accuracy. The 10m error is the same magnitude and direction for all points if the same satellites and general atmospheric conditions remained fairly constant. gps can tell it's relative movement much more accurately through the tiny change in signal reception times, what it can't do is fully model or known the exact time of flight for each signal (which is required for your absolute position on the globe).
Likely the GPS is subject to path jitter. You might run in a straight line but the GPS path will suffer jitter of 10's of meters or more to each side of your straight path. For overall distance it adds up all those imaginary zigs and zags and boom, long run.
Jensen's inequality says that if f(x1, ..., xn) is a convex function (curving upwards in all directions), and (x1, ..., xn) is a random vector, then the mean value (probability-weighted average) of f(x1, ..., xn) is higher than f evaluated at the mean value of (x1, ..., xn). It's easy to see this if n=1 and there are only two possible values of x, because the line drawn from (a, f(a)) to (b, f(b)) always lies above the graph of the function f.
If you take f(x1, x2, x3, x4) to be the measured distance between two points when (x1, x2) are the errors in the X and Y coordinates of the first point, and (x3, x4) are the errors in the X and Y coordinates of the second point, then it turns out that f is a convex function, and Jensen's Inequality applies. Assuming the errors are unbiased (mean value of 0), this says that the average measured distance (mean of f(x1, x2, x3, x4)) is higher than f(0, 0, 0, 0) (the actual distance).
The authors suggest that doppler velocity calculations should be immune to the kind of overestimation they claim sampling position measurements suffers from. I don't think this can be the case.
Let's first focus on what is wikipedia claims is the largest source of error: signal delay from the ionosphere. It seems reasonable to assume that this delay changes in a continuous manner with time. However, that means that the (non-shared) error introduced into position measurements as a result also shows up in the Doppler velocity estimations.
Indeed, one can think of Doppler velocity measurements as, at the theoretical limit of accuracy, being just another GPS measurement using the difference between the actual and expected number of wave creasts observed as the change in signal delay. Thus it would seem it would suffer the exact same problem as a sophisticated position sampling approach.
Non-continuous errors might be different, e.g., multi-path effects, but these should result in greater Doppler velocity errors than positional errors (the position error shouldn't be at most approximately the distance of the receiver from the source of the reflection while the Doppler velocity measurement could be totally reversed).
Am I missing something?
If you liked this thought maybe you would find my blog nice too:
GPS Always Overestimates Distances
Only if you travel in a straight line (and even then, only if you calculate your distance based on all your way points, and don't just use your start and end positions). That's why I zig-zag everywhere I go.
systemd is Roko's Basilisk.
This news is not surprising to me, although in my case it seems to go both ways. I've run races with a BibTag while tracking it on my phone and so far, it either comes up short or makes me a faster runner than the official time registration.
I also map out routes beforehand sometimes and I always try to make the mapped route a little longer so I know the GPS will go the distance. Not 20%, though.
1) Set your Garmin sampling frequency to 1-second. Always. The default of "auto-magically" or "as-needed" is not sufficient. Especially when doing a run or bike ride on a course with lots of turns or on a track.
2) If the over-estimation is fairly consistent, then what does it really matter to the average amateur? If a route that you regularly time is actually 5 miles and not really 5.15 miles, who cares? What matters is your time over that same distance. It's a like a scale that is low by 2 pounds. It doesn't matter; what matters is if you are trying to lose weight and the scale shows a decrease over time, then you are succeeding.
I wouldn't believe it anyway. GPS readings indoors are not very accurate. And wifi signals mostly come from mobile equipment (as in, the access point can be moved more easily than the house), which limits the accuracy that you can achieve with that too.
Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"