Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DGPS corrections on Android

Tags:

android

gps

I am developing a project that is intended to use the GPS capabilities of an Android phone and a nearby station to compute positioning to a much more precise degree (cm), using RTK DGPS technology.

So far, I haven't been able to see anyone saying they actually managed to perform a similar task (apart from @GPSmaster, who doesn't explain how), and the APK doesn't seem to offer any information from the GPS chip other than location and NMEA message updates. I need, if possible, pseudo-ranges and carrier phases.

I was wondering if:

  • It would be possible to look for lower level hooks on my phone using native code, or other lower level snooping;
  • It would be possible to send RTCM corrections to the GPS chip present on one of these devices;

Any ideas?

like image 579
ravemir Avatar asked Mar 26 '12 13:03

ravemir


People also ask

What is DGPS correction?

What is DGPS? DGPS (Differential GPS) is essentially a system to provide positional corrections to GPS signals. DGPS uses a fixed, known position to adjust real time GPS signals to eliminate pseudorange errors. An important point to note is that DGPS corrections improve the accuracy of position data only.

How DGPS stations can transmit the corrections?

Real-time DGPS occurs when the base station calculates and broadcasts corrections for each satellite as it receives the data. The correction is received by the roving receiver via a radio signal if the source is land based or via a satellite signal if it is satellite based and applied to the position it is calculating.

How accurate is DGPS?

Experience shows that the positioning accuracy is typically in the range of 1 to 3 metres. In addition to improved positioning accuracy, the DGPS service will also provide integrity alarms for GPS. The DGPS service should have an availability of 99.5 per cent, calculated over a two-year period.

What is difference between GPS and DGPS?

GPS stands for Global Positioning System. whereas DGPS stands for Differential Global Positioning System. Both used for the satellite-based navigation systems. The fundamental distinction between GPS and DGPS is that, Gps's instruments range is global.


1 Answers

Generally speaking DGPS is a technique that improves real position accuracy by canceling out most of the atmospheric effects on the GPS signal. In a typical direct GPS measurement there is about a random error in the ranges computed to the satellites due to atmospheric effects. This is why a GPS receiver that is left collecting data in a fixed location will seem to wander with in an error ellipse. For two receiver stations in the same area the atmospheric effects are almost identical and they will wander in parallel within their similarly sized and oriented error ellipses. If one of the two receivers is at a know location then the differences in their apparent GPS locations can be taken and plotted from the true location of the known station to find the true location of the unknown station.

Back in the day (circa 1992) when we had to accomplish DGPS by "post processing" we used to take the raw NEMA data collected at the two stations match up the times, compute the baseline vector and apply it to the known point to find the unknown point. I think the NEMA data we were using was only recorded to the nearest 10 sec. The math isn't really that hard.

I suspect that NEMA GPS messages [http://developer.android.com/reference/android/location/GpsStatus.NmeaListener.html ] from a tablet at a known point (with a clear sky view) could probably be sent over an internet socket to a smart phone (also with a clear sky view), which could then compute the difference and achieve a sub-meter relative location over a distance of few km, even if the assumed Internet transit times were ignored. This technique would probably still work even if the tablet and smart phone were both applying broadcast DGPS adjustments.

like image 175
TSayles Avatar answered Oct 11 '22 20:10

TSayles