5

I'm starting to deal with gps data on Android 2.1 (HTC Hero) and look around on topics about Kalman filter and least squares fit to location data. While receiving and logging GPS data using phone I've found small dispersion if staying on position, but coordinates are pretty accurate when moving. Here comes the question: - Do getLatitude() and getLongitude() functions provide "raw" coordinates, or data was pre-filtered by android (while position is fixed or during movement)?

I'm curious if anyone tested Kalman on android and it's possible to say that you have certain improvements with gps. In my case I read GPS data every 3 seconds(was done to send it over mobile network to server along with compass data and accelerometer). Therefore, I can make filtering on device or on the server. If to do it on device reading can be done more often, but on server I could use additional calculation power.

Alex
  • 51
  • 1
  • 2
  • can you answer my question in [this address][1]: thanck you so much [1]: http://stackoverflow.com/questions/24913704/sensor-fusion-with-gyro-magnetometer-accelerometer-and-gps-on-android – soodabeh Jul 26 '14 at 12:27

1 Answers1

3

I work with Kalman filters in my field. A Kalman filter is a filter that improves quality of a collection of sensors based on a system model. If you're trying to implement a Kalman filter, to do it, you'd need a second sensor, like a velocity sensor or etc.

You're not going to make any progress with the sensors on the Android package itself. Modern GPS chips already do extensive filtering and the data is about as good as you're going to get it without adding hardware. The accelerometers and compass especially simply aren't good enough to compute good velocity data out of, and absolutely not if you're only sampling them at 3 seconds. A poor Kalman filter implementation is a great way to really screw up a dataset.

Sorry for the downer, but my personal opinion is that you're wasting your time trying to improve the provided GPS data.

On the upside, your raw GPS data is already very good! Use it and be happy. :)

jcwenger
  • 11,383
  • 1
  • 53
  • 65
  • hi jcwenger, thanks for reply and provided opinion, but let me adjust the question: 1. I get GPS every 3 seconds, but it's ok to move to 1 second interval. Accelerometer and compass data are reading as soon as it come (lets say almost no delay). 2. what is the reason that compass data from android is not that reliable? 3. could you refer to some material about filtering data in GPS chips in mobile phones (if its about chips used in HTC/other anroid phones that'll be awesome)? – Alex Mar 16 '11 at 13:46