I'm developing an AR app for android and I need a really accurate position (under 1m). The app is pedestrian based (outdoors) and needs the location in real time. I'm aware that the problem is probably a really hard one, but hopefully others have come across a solution to this.
I've already looked into Kalman filters and extended Kalman filters, but so far I haven't found a solution that I have been able to use or adapt. I think that a kalman filter is probably the direction I need to go.
Right now i'm using the raw gps data to set my location, but this is too inaccurate and can move around or even jump by about 5-10 meters when the device is standing still in one place.
So my question is: while I am using now the raw unfiltered gps data to get a position, how would I need to filter it (kalman? extended kalman?) and which sensors would i need to use (gps position? gps speed? accelerometer?) to get the most possible accurate location pedestrian outdoor location.
UPDATE: i need to update my question, since it's not possible to do what my initial question was, getting a sub 1-meter accuracy on tablet/phone gps. my question now is: how can i apply filtering so that subsequent gps position measurements stay within a manageable distance. e.g. so that when i go 10m north with my device that my gps also measures that i went 10m north +/-1m (10%) from my initial position and not the jumping/moving around that the gps measures.
Indeed, it is a very difficult task, people write their PhD thesis on this subject. I have found these useful:
Enhancing the Performance of Pedometers Using a Single Accelerometer
RSSI-Based Indoor Localization and Tracking Using Sigma-Point Kalman Smoothers
See also Android accelerometer accuracy (Inertial navigation).