Hello,
If one wants to get a GPS location, there are typically two ways :
1) Using a local time reference (seems to be what's used on android)
2) Using only the signal sent by the viewable satellites.
A gps sat sends a signal containing the current time (at time of emission by the sat) and its position.
Using the method 1), the gps receiver will compute its distance to the sats (c*(t-temission)) it is able to see, meaning that he knows that it can tell that it is on a sphere of center the sat and radius the distance... So if it spots 4 sats, it can tell that it is at the intersection of four different spheres and that gives a sngle point...
Problem is that if there is an error in the local time, the radii of the spheres are wrong, and the intersection of the four sphere may be null or a false point. In order to solve this, people tend to use ntp servers and so on... but well... In the end, the receiver will try to adjust the local time in order to get a single point as intersection...
Using method 2 is much more reliable since it does not depends on local (and false nd innacurate) time reference...
Instead of computing it distance to the differents sats, it computes the difference of distance between different pairs of sats (d=c(T_sat1 - T_sat2)). This information does not define a sphere but a revolution hyperboloid. With four sats, the receiver can define four hyperboloids and compute the intersection.
This method is much more accurate since the only error is due to the transmission of the signal through the atmosphere and ionosphere instead of vacuum. This error is partially corrected by the satellites, but this is only partially. This error also exists in the first method.
Questions are :
a. Why does gps on android use method 1 instead of method 2 ?
b. Is it the gps driver or the apps that computes the position ?
If answer to b. is the driver, then it may be worth to try writing a new driver that uses method 2.
Regards


LinkBack URL
About LinkBacks
Reply With Quote

Too bad reception in bad conditions will probably not improve (clouds, dense forests, ...)

Bookmarks