Slashdot Mirror


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.

79 of 131 comments (clear)

  1. Simple problem with a simple solution by carlhaagen · · Score: 5, Informative

    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.

    1. Re:Simple problem with a simple solution by Solandri · · Score: 4, Interesting

      That doesn't completely fix it. The problem is related to both polling frequency and positional error.

      The reason is pretty obvious if your GPS device has ever been slow getting a fix on multiple satellites and has a large error circle. One moment it says you're at position x, 5 seconds later it says you've warped half a mile away. The larger the positional error, the greater the distance error. Assuming you're traveling a straight line path, the positional errors average out to zero only when the errors fall along the line you're traveling. Any positional error perpendicular to your direction of motion results in an overestimate of distance traveled by tracing your route as a zig-zag instead of straight.

      That would suggest a smoothing algorithm could mostly fix this. Basically draw the simplest curve you can that goes through all the error circles around the breadcrumbs the GPS has recorded.

    2. Re:Simple problem with a simple solution by LordKronos · · Score: 1

      No, he's right. Higher polling frequency plus intelligence is technically the best solution. If you decrease polling frequency, you become more susceptible to losing distance around curves and right angle turns. Instead, the best solution is to poll continuously (or as continuously as is practical for computational and battery needs).

      Assuming you travel in a straight line, then all of those errors should be randomly distributed to both sides of your actual line of travel. You then go from the starting point and assume you traveled in a straight line to the next point. You then go in a loop where every iteration, you bump up the assumed end point of your straight line by one additional point. Each time, you calculate how far off you are from the best fit line.

      As you go further and further, your fit for the line should get better and better. At some point, you will eventually notice that you start to diverge from the best fit line...the points in between your assumed start and end point will start to fall more and more to one side of the line. At this point, you can start to realize that you've actually passed the end point of that straight line travel. You back up a few points until you get back to a good distribution. Then you mark that as the end point of your straight line, and then repeat the process from there.

      On the other hand, assume you are travelling on a curve. With a high enough sampling frequency, this same process should be able to determine that right from the start, the line is becoming less and less fit, and realize that the straight line path needs to be broken up into smaller segments.

      The algorithm isn't going to be great for capturing a zig zag path or lots of small alternating curves, but it's not going to be any worse for those situations than polling less frequently.

    3. Re:Simple problem with a simple solution by serviscope_minor · · Score: 3, Interesting

      Assuming you travel in a straight line, then all of those errors should be randomly distributed to both sides of your actual line of travel.

      They're not though. There's temporal errors in the correlation. Various atmospheric effects cause bias, for example. There are various companies offering high end devices which can record the signals then post process them based on atmospheric data. WAAS does the same thing in a more timely manner but it's a little less accurate then the offline methods (as may be expected).

      Also if you're getting errors due to multipath, you'll get effectively correlated errors until you move far enough that the receiver locks on to a different one of the reflections.

      And finally, a lot of receivers use a simple Kalman filter to track the frequency/code position. This produces slight biases as well, because the model in the KF doesn't quite match reality. If you model the orbital mechanics of the satellite properly and use that as a feedforward step in the filter, then you remove another source of bias. Most receivers don't because there's just no real need to introduce the extra complexity, and small, correlated errors don't matter all that much.

      Nonetheless there's just a sample of how temporally correlated errors creep in. Once you have temporal correlation, additional sampling doesn't help much and obviously can never get rid of errors whose time constant is longer than that of your filter.

      As for the best fit line, you need to be careful there. You need to have a model which matches how the person runs. For example you might want piecewise linear, where the size of angle doesn't introduce cost (unless it's too small?), and there's an expected distribution of distances between joints, such that anything outside that distribution (too short) introduces cost.

      It's a horrendous optimization problem, but the data's quite small, and I'd bet simulated annealing would solve it pretty well, as would a number of different heuristic algorithms.

      --
      SJW n. One who posts facts.
    4. Re:Simple problem with a simple solution by Aighearach · · Score: 1

      Mostly. But the problem is in the time period you're averaging; if you take a longer average, the positional error would still average out. The reason it makes the zigzag is that the resolution we demand for our movements is different than the granularity of the noise errors.

      Users want the small movements that are smaller than the expected noise level of the sensor. It might be possible to simply also take a longer average, and normalize the A-B distance based on that, while preserving the zigzag. That way the map would show small movements, but the distance would be an average at a different scale instead of a sum of the mapped legs. Then instead of the error case being normal movement, if you're really zigzagging it would under-report distance. Especially if you have an additional sensor and can detect the stopped condition, and average those with other readings in the same spot. Most GPS devices do have an accelerometer.

      Of course, most of my GPS use is zigzagging in the forest foraging wild mushrooms, so my distance calculation accuracy might go down. The way it is now, if you zigzag (or turn) at a higher rate than the GPS signal is wobbling then it does average out pretty well. You have to sustain an A->B path for the error to be consistently less direct.

    5. Re:Simple problem with a simple solution by Aighearach · · Score: 1

      If you model the orbital mechanics of the satellite properly and use that as a feedforward step in the filter, then you remove another source of bias. Most receivers don't because there's just no real need to introduce the extra complexity, and small, correlated errors don't matter all that much.

      When I'm evaluating GPS modules, most of them advertise approximately this feature. Without some sort of product testing saying it doesn't work, I'm not going to believe it is a real contemporary problem. A decade ago? Probably true for consumer products. Now? No. And you don't have to model the orbital mechanics, with model being a verb, you can simply have a model, (a noun) and look up the expected position in the table. "Everybody" predicts satellite position these days. And worrying about complexity is funny; it is software, not hardware. They already wrote the software long ago for the higher end units. It doesn't add much complexity to use the better version. And in fact, even low end modules are now including jammer protections. Why can they offer that in a low end model? Because the existing satellite prediction capability makes jammer protection a lot easier. As easy as a Kalman Filter. ;)

    6. Re:Simple problem with a simple solution by BradMajors · · Score: 1

      Nope. The problem is reduced when you poll more often.

    7. Re:Simple problem with a simple solution by serviscope_minor · · Score: 1

      Seems my information is a bit out of date then. I last looked at it quite some number of years ago. Cheap consumer units were available, but they were pretty basic. I kind of wondered why they didn't do the proper orbital positions (looking up in a table is functionally equivalent to modelling it), since it didn't seem any more complex computationally than using a KF. One theory I heard was that some reference implementation used a KF, so all the simple modules did too.

      I guess there's been some consolidation since then.

      --
      SJW n. One who posts facts.
    8. Re:Simple problem with a simple solution by Aighearach · · Score: 5, Informative

      http://www.adafruit.com/datash...

      That's the cheapo GPS chip that makers are using. ~$40 on a breadboad module, but more like $5 as an OEM part. Calculates and stores "up to 3 days" of satellite position, then uses a lookup table. That is part of why new units still take a long time to get a cold fix; they're calculating satellite positions.

      This has been a standard feature since around 10-15 years ago when they started advertising improved urban accuracy. If you're not predicting locations, you'd have to do a cold fix every time you walked past a building! It would be basically unusable downtown. Like in the old days! Back then it was also largely unusable in the forest; you'd have to find a clearing, or else remain stationary for a couple minutes, to get a fix on a cheap unit. That is why back then for serious outdoor use people were dropping $500 on dedicated GPS units that had the predictive routines, and regular GPS was intended mostly for highway auto use where the sky is usually visible.

      Almost everything predictive uses Kalman filters. That is not a sign of low quality. It is a system of using predictions and expected error rates to overcome noise. If the result quality is low, it is not because of using a Kalman filter it is because of having a low quality prediction routine, or an inaccurate expected noise level. There is nothing about orbital mechanics or radio propagation that makes Kalman filters a poor fit; actually, it is nearly the ideal case for them; the noise will have a Gaussian distribution.

    9. Re:Simple problem with a simple solution by jittles · · Score: 1

      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.

      I've honestly never had this be a serious problem when running. I've even compared it to chip times at running events and the pace my GPS puts me at is typically within a second of the official race time. Now I've never tried this in NYC or somewhere else with serious urban canyons, i have done it in other cities with blocks of tall buildings.

    10. Re:Simple problem with a simple solution by Wycliffe · · Score: 1

      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.

      My dad hired a "carpenter" once who measured every board 16 inches from the previous board. By the time he got 20 or 30 boards nailed in, his being off 1/8 inches each measure had ballooned to being off almost 6 inches and the boards having a noticeable lean.

      I think the other issue they're dealing with besides skew is that you shouldn't be looking at the average distance between two points to calculate the distance as the "average" is always going to be greater or equal to the straight line shortest. You really should only use the shortest distance between two points as the shortest distance should always be the closest to the actual distance as it's impossible to get from point A to point B in a shorter distance than a straight line.

    11. Re:Simple problem with a simple solution by TopherC · · Score: 1

      I didn't know about GPS devices using Kalman filters. But I noticed this issue when using MyTracks to measure my hikes a couple years ago. I wished the project was open-source so I could go in and add some sort of algorithm to correct the issue. I think the problem isn't the lower-level GPS reports but the way the tracking apps are designed.

      One could use piecewise linear regression to fit a series of line segments through the GPS data, only adding in kinks when doing so results in a significantly better fit. One could additionally throw in a fudge factor to correct for a predictably inflated distance measurement.

    12. Re:Simple problem with a simple solution by TopherC · · Score: 1

      Oh it is open source I think. Well, game on!

    13. Re:Simple problem with a simple solution by Bengie · · Score: 1

      You solidified what I was thinking a bit better. The first thing that came to mind was the infinite coastline paradox.

    14. Re:Simple problem with a simple solution by Aighearach · · Score: 1

      I recommend "osmtracker" https://f-droid.org/repository...
      I use both in the field, but osmtracker has a lot more features. MyTracks is still useful for caching and displaying the google satellite view, but osmtracker does a better job managing waypoints IMO so I record the tracks with that one. Also, while MyTracks is open source, most users are using the official google one and so if you improve osmtracker more people will benefit.

  2. This seems really simple... by rasmusbr · · Score: 1

    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.

    1. Re:This seems really simple... by rasmusbr · · Score: 1

      Then you should do whatever you can to estimate the bias as a function of time, or sample number, or what have you.

      It makes no sense to throw your hands up and say "we know about a bias on our measurements, but we're not going to use that information to try to remove the bias".

    2. Re:This seems really simple... by aix+tom · · Score: 2

      The thing is, while there might be a function to correct the bias, that function most likely can't be applied to the "end result". For example, you can't just substract / add something to the distance calculated.

      I suspect what they do is calculate the distance travelled between two measurements, and then add up that calculated distance. Which of course is a horrible way to do it, since in amplifies the errors in the location into bigger and bigger errors in distance.

      They basically need to apply "smoothing" to the gathered data first. Back in the old days, when I still did analytics of physical measurement with "pen and paper" the standard way to plot a graph was to dot in the measurement, then squint your eyes and draw the resulting graph "smoothly through the dot-cloud". No exactly rocked surgery for anyone who has a basic understanding of physics and/or statistics. Makes one wonder who programmed those Apps. They probably took an API-Example for distance calculation and slapped an shiny GUI over it without further thought.

    3. Re:This seems really simple... by Aighearach · · Score: 1

      Your accelerometer can give you a very good reading of zigzagginess that can bias the correction accurately.

  3. Understatement of the day by Sqr(twg) · · Score: 4, Insightful

    "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.

    1. Re:Understatement of the day by Aighearach · · Score: 1

      "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.

      The infinite case is probably the most common, too, since the real motion of an apparently stationary device is smaller than the granularity of the position reading. People are just sleeping peacefully, not even realizing that their GPS positional error is infinite.

    2. Re:Understatement of the day by msauve · · Score: 1

      It's up to 20%, based on measurements in a "10m square."

      Real world, it's insignificant - especially with regard to what the summary refers to - " It is something that runners and walkers complain about a lot."

      Basically, it overestimates because most of the random errors cause the measured distance to be further. Picture an arc with the center at one point, and the arc passing through the other. That's an equal-distance line. The closer the two points, the more over-distance bias there is. The farther between the points, the closer it is to a straight line, and the lower the error bias. By the time you get to useful, real world distances for most applications (hundreds of meters +), there's very little bias. If you're a surveyor, that may be different, but they don't use just simple GPS.

      In any case, the bias cannot be more than the GPS positioning error, maybe a couple of meters if you're having a bad day. I'd like to know who these runners/walkers are who are complaining about an extra meter or two.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    3. Re:Understatement of the day by Wycliffe · · Score: 1

      In any case, the bias cannot be more than the GPS positioning error, maybe a couple of meters if you're having a bad day. I'd like to know who these runners/walkers are who are complaining about an extra meter or two.

      "an extra meter or two" every 10 meters can add up to a huge distance over the course of a couple miles.

    4. Re:Understatement of the day by msauve · · Score: 1

      The average is much less than that. That's merely a maxima. And, if you're using GPS as an odometer, you're doing it wrong - that's not what it's designed for.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    5. Re:Understatement of the day by SillyHamster · · Score: 1

      "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.

      That's an odd use case for a GPS.

  4. Areas and volumes, not lengths by MessyBlob · · Score: 1

    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.

  5. Re:Shortest distance is not a straight line by MightyYar · · Score: 3, Insightful

    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.
  6. Perhaps this explains my Garmin by suprcvic · · Score: 3, Informative

    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.

    1. Re:Perhaps this explains my Garmin by blueg3 · · Score: 1

      According to this article (okay, okay, the summary), GPS error causes measured distances to be systematically overestimated.

      What you're talking about -- a different but noticeable factor -- is that GPS polling frequency causes measured distances to be systematically underestimated. Because it's only sampling once every N seconds and then, because there's quite a bit of noise, applying a smoothing function to the result, it cuts the corners off of paths. It can cause pretty substantial underestimation, even when moving relatively slowly along gently curved paths.

    2. Re:Perhaps this explains my Garmin by movdqa · · Score: 1

      Which Garmin model do you have? I have the Forerunner 610 and find it quite accurate but it depends on what you're doing. If you're running a 5K, then you're likely doing lateral or diagonal shifts from time to time to get by someone slower in front of you, or worse, a few people running side-by-side at a slower pace than you want to run; so you're adding distance. You might also wander off to the side to grab a few cups off the water table or you might be running in the middle of the course when the distance is measured from the shortest part (especially in the case of a loop). I've done some testing on a high-school quarter-mile track and found that the Forerunner 610 was very accurate. I've seen lots of tests with multiple GPS watches and the Garmin devices do really well with road-running but lose accuracy with trail-running - something where you can dart around a lot to avoid rocks, brush, etc. and where there may be a lot of tree cover that can make tracking harder for your device. The folks that do the testing often wear multiple watches at the same time and then compare the readings of all of the devices. When running, you also have arm movement which is a bigger factor with a watch than a phone (assuming that you're using an armband). I think that differences should balance themselves out over time. Note that this is for GPS-based devices. I do not think that stride-based devices are worth the bother if you want any kind of accuracy. The Garmin watches also allow you to upload your runs to their cloud for analysis so you can look at a map to determine whether or not the distance was reasonable in your mind. If your run overlays the race course and you find that you made a lot of side-shifts or that you ran on the outside of the course, then it would be reasonable that the distance recorded was greater than the race distance. I've read reviews on the Garmin Fenex 3 that they had problems with the software for a while (not sure whether or not this is still a problem). A reviewer on Amazon posted maps from the Fenex 3 and another device (maybe the Forerunner 620) that showed the discrepancy. He was wearing both watches at the same time. It's something that was reported on multiple sites this past Spring so I assume that it's fixed by now - that appears to just be a new-product bug.

    3. Re:Perhaps this explains my Garmin by maeka · · Score: 1

      If you are running on a track your Garmin watch is accurate enough to underreport when worn on your inside wrist and overreport when worn on your outside wrist.

      If you are running on a track and the polling frequency of your GPS is too low (not a factor with my Garmin) you also get the problem of underreporting due to chording the curve.

    4. Re:Perhaps this explains my Garmin by tommeke100 · · Score: 1

      that's my experience as well which is the opposite of what the study claims. It seems to under-report distance, which causes lower measured speed. Indeed, with dropped measure points ( corners, running under trees or dense urban environment) it just counts less distance.
      About the current pace, that's a bit to be expected. I noticed it's doing error correction as well, where at first it seems to under-report, and the next 30 seconds it's claiming I'm running much faster.

  7. And where does "velocity" come from? by ugen · · Score: 1

    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.

    1. Re:And where does "velocity" come from? by Terje+Mathisen · · Score: 1

      Sorry, that's simply wrong:

      The basic output (usually once per second for most GPS chipsets) consists of 7 parameters:

      X,Y,Z and dX,dY,dZ along with T, wth the x,y,z values in an Earth Centered Earth Fixed coordinate system. I.e. velocity is an intrinsic output of the processing, resulting from the need to determine doppler values for all visible sats in order to track them.

      Past this point many GPS units will do lots of post-processing, for some of them this includes using a lowpass filtered velocity model that uses position deltas instead of or in addition to the raw velocity outputs.

      I have run over 500 orienteering races with various GPS units (mostly Garmin watches), and it is indeed true that tracking under a canopy (particularly when it is wet) can be a big challenge, but since the SirfSTAR chipset took over from Garmin's old 12-channel receiver, it is now perfectly usable.

      http://tmsw.no/qr/index.php?us...

      Regarding the original article: Distance measurements depend a lot on how the GPS filters individual measurements!

      If you are running along a standard road, then your actual path will be pretty much identical to a set of straight lines, simply because the usual curves on a road are so wide that you get many GPS updates along them. The same goes for XC skiing where a GPS can easily overestimate the distance by introducing spurious sideways noise.

      My wife's iPhone consistently overestimate the length of the XC ski tracks in Rauland, Telemark (Norway) due to this: Since I have mapped this entire area I can measure the exact lengths directly from the aerial photos and they corresponds much better with my Garmin 620 and 410 watches. My Garmin Montana which has a much better antenna will normally provide significantly better tracking.

      Terje

      --
      "almost all programming can be viewed as an exercise in caching"
    2. Re:And where does "velocity" come from? by mspohr · · Score: 1

      If you work on GPS navigation software, you must be aware that GPS computes an instantaneous speed using doppler shift of the satellites. This is completely different from position delta based speed calculation.

      --
      I don't read your sig. Why are you reading mine?
    3. Re:And where does "velocity" come from? by gl4ss · · Score: 1

      I would bet you though that 100% of the smartphone software used for tracking runs does not do that.

      90% of the software used however does smooth out using one algorithm or another the run, because the coastline effect is too noticiable(basically if you had infinitely small polling time, the route would appear infinitely long)

      --
      world was created 5 seconds before this post as it is.
  8. Quite the opposite by Malc · · Score: 1

    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.

    1. Re:Quite the opposite by drinkypoo · · Score: 1

      It would be genuinely easy to build an Arduino (or whatever)-based GPS logger for under $50 that would let you actually set the GPS frequency, support PPS, etc. A GPS module with a nice big antenna is about $13. An SD card reader module is $3. Arduino Nano clones are $3. All the code can be filched from examples.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  9. The interesting bit by jwdb · · Score: 1

    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.

  10. Fantastic math there, guys by macklin01 · · Score: 4, Interesting

    This gem caught my eye:

    To test the theory some experiments were performed. A consumer quality GPS was walked around a 10m square with segment lengths of 1m and 5m. The average measured segments were 1.2m and 5.6m. That is, an overestimate of between 20% and 60%. Clearly a smaller segment length is a good idea.

    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:

    To test the theory some experiments were performed. A consumer quality GPS was walked around a 10m square with segment lengths of 1m and 5m. The average measured segments were 1.2m and 5.6m. That is, an overestimate of between 20% and 12%. Clearly a longer segment length is a good idea.

    --
    OpenSource.MathCancer.org: open source comp bio
    1. Re:Fantastic math there, guys by _Shorty-dammit · · Score: 5, Insightful

      It's not just that they can't even determine that it was 12% in that case. They're simply doing it wrong from the beginning. "Let's take a technology that gives us a measurement that contains a possible error of more than the length we are trying to measure, and then complain about how much of an error we got in that length!" The best accuracy I've ever seen reported on my GPS is 2 m. Why would I try to measure 1 m with that?! Go do the experiment with a 10 km square and see what your error is then. *sigh*

    2. Re:Fantastic math there, guys by macklin01 · · Score: 1

      That's a really great point. So much of this has to do with sampling frequency vs. resolution. The whole thing is funny. The original article is bad enough, but the post on the article is that much worse.

      --
      OpenSource.MathCancer.org: open source comp bio
    3. Re:Fantastic math there, guys by _Shorty-dammit · · Score: 1

      Exactly. If the resolution on my measuring device is 2 m then all I can measure is multiples of 2 m, so 2 m, 4 m, 6 m, etc. This is perfectly acceptable for distances many times greater than 2 m, and would give me a pretty accurate measurement of a 10 km distance. I would be very happy with the amount of error present in a 10 km measurement made with such a device. But I couldn't measure 1 m with that any better than I could measure the spark plug gap for the plugs in my car with it.

  11. Re:Shortest distance is not a straight line by FatdogHaiku · · Score: 1

    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
  12. Re:Shortest distance is not a straight line by MightyYar · · Score: 1

    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.
  13. No sh*t by Mocko · · Score: 1

    "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?

  14. Re: GPS is not always GPS by Fwipp · · Score: 1

    The military uses more accurate GPS than us lowly civilians. Something about the ionosphere.

  15. Re:"What the fuck"-level article by KGIII · · Score: 1

    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."
  16. Re:Shortest distance is not a straight line by MightyYar · · Score: 2

    No, measurement error will actually bend space time.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  17. Just go by time, forget distance by kencurry · · Score: 1

    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)
  18. What? by drolli · · Score: 1

    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.

  19. Doppler Shift by monkeyxpress · · Score: 1

    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.

    1. Re:Doppler Shift by monkeyxpress · · Score: 1

      The link you include points out why, as I described, a receiver has to measure phase anyway. The only question is whether that phase detector is accurate enough to resolve the doppler contribution from the receiver's motion as well. I don't know why you think this is insignificant. The orbital velocity is around 14,000kph, so a vehicle driving down a motorway is already contributing nearly 1% towards the doppler shift. This is most certainly measurable by the phase detector and if you work through the numbers it isn't that onerous to resolve below 1kph in terms of phase noise SNR, especially since the GPS receiver already has a very low phase noise reference clock built-in.

  20. Unless you run in a circle by clenhart · · Score: 1

    ... like on a track. In which case it'll cut the corners and underestimate.

  21. Re:Funny, my bar stool feels like it's moving by davester666 · · Score: 2

    No, that was you having a movement on your bar stool.

    --
    Sleep your way to a whiter smile...date a dentist!
  22. less than 1% error in our driving testing by raymorris · · Score: 1

    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.

  23. Re:Where do you think you are (measuring)? by serviscope_minor · · Score: 1

    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.
  24. Re:Strange reasoning and I'm no geometer but... by ceoyoyo · · Score: 3, Interesting

    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.

  25. misleading headline by binarstu · · Score: 1

    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.

  26. Haha, explains fudge factor in my app... by jtara · · Score: 1

    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.)

    segmentDistance = segmentDistanceRaw * 0.9875; // Make 1.25% short

  27. Consider a Fractal Cow by goombah99 · · Score: 4, Interesting

    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.
  28. Re:Where do you think you are (measuring)? by Aighearach · · Score: 1

    You had me going until you pretended you actually shave that thing. You've still got rancid cranberries from last Thanksgiving in it!

  29. Researchers? by BradMajors · · Score: 1

    You need to be a researcher in order to rediscover the effort of noise on sampling?

  30. Re:Where do you think you are (measuring)? by serviscope_minor · · Score: 1

    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.
  31. Re:Where do you think you are (measuring)? by Aighearach · · Score: 1

    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.

  32. Or not by quantaman · · Score: 1

    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
  33. The GPS trail distance problem by Applehu+Akbar · · Score: 1

    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.

  34. Drunken walk by sugar+and+acid · · Score: 1

    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....

  35. Another reason linking up with the car is useful by pimproot · · Score: 1

    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.

  36. Re:Where do you think you are (measuring)? by serviscope_minor · · Score: 1

    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.
  37. that's news? by bammmmm · · Score: 1

    have you never ever watched the indoor jitter without you moving at all on any tracking app you just installed to check out?

  38. Re:Sound Theory, Fucked Testing. by sectokia · · Score: 1

    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).

  39. Path Jitter, integrated by RichMan · · Score: 1

    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.

  40. It's all about Jensen's Inequality by K.+S.+Van+Horn · · Score: 1

    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).

  41. Doppler Velocity and Uncorrelated Position Errors by logicnazi · · Score: 1

    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:

  42. Not always by wonkey_monkey · · Score: 1

    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.
  43. Not surprising by xSander · · Score: 1

    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.

  44. Two Things by CycleFreak · · Score: 1

    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.

  45. Re:Where do you think you are (measuring)? by RockDoctor · · Score: 1

    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"