Reputation: 31
I'm writing on an Android app that tracks the distance and bearing between two GPS location (each from a different device).
Finding the mean distance and angle between the devices is quite easy, and seems to work well. But since my locations are rather close, and I really need the results to be as reliable as possible, I'm also trying calculating the uncertainty of the calculations, and here I need some help.
I'm using the accuracy parameter I get from android as my error estimation for the GPS readings (Android docs say this parameter gives a circular radius that the location has a 68% certainty to be within, so I assume the result is normally distributed, and that this parameter is the SD).
I know how to officially calculate the propagated uncertainty (using partial derivatives) if I ignore the covariance (which I have no idea if I could even theoretically find) - But this gives me a tremendous uncertainty, since both GPS readings have a very large uncertainty.
The thing is, all I'm looking for is the relative distance (or angle) between these location, and I don't care where they really are compared to earth. And since I know that at lest some of this uncertainty is the same for both devices (for instance, Ionospheric effects), I could safely ignore them and get much more precise results. Even better, if part of the uncertainty comes from random errors, I could filter most of it out even before comparing the locations (Although I suspect that that the location Android provides is already filtered).
The thing is, I don't know what part of the uncertainty is random and what part is constant, and I obviously have to deal with them separately...
So, to sum up my problem - given two sets of GPS reading, plus their 'accuracy', how can I tell apart the uncertainty that is the same for both sets, from the part the varies between them? I'm sure there is a good mathematical way to do this, I just can't think of one...
Upvotes: 3
Views: 1211
Reputation: 513
First, there is a similar question on gpsforum, the answer there is that it depends if both your gps receiver are receiving from the same satellites. If they do, you could ignore most of the uncertainty. If they don't, then it's more complicated... Usually, if they are close, they should receive information from the same satellites, but this is not certain. Secondly, experience shows that two identical devices, side by side, can show important difference in location.
You are implementing something that is similar to a differential gps. A very short summary of the wikipedia article cited is that by comparing the location of a known point with its received gps location you get a correction value. You can then apply this correction value to other gps in the area. Using this system, you'll get precision up to 10 cm for absolute positioning. This, however, only work if one of the receiver station has a known location.
Your case, relative positioning, is similar to the case presented in this paper. However, they rely on communication between the devices, which I understood is not in your plan.
I would recommend searching the web for "gps spatial error correlation", which seems to return a lot of interesting article which I don't have access to. Also, your question is very much linked with the accuracy/precision difference, maybe this is a good way to think of it...
Finally, let me say that, even if my answer isn't in fact an answer but rather a clue for finding a better answer, this question is very interesting and that I enjoyed myself searching for it :) Thx for asking and I will keep watching for better answers.
Upvotes: 3