views:

263

answers:

2

Does anyone know if Core Location in the iPhone OS uses anything but simple vector math to calculate speed? I've read that the GPS system can provide speed measurements that can be accurate when position is not (I believe using the Doppler shifts of the signals).

I've tried and failed to see if the iPhone does this. The question is basically, does this data contain information or is it just convenience functions, using (filtered?) location data?

I suppose my question is if anyone have tried this in reality, or knows beyond what is in the documentation.

A: 

The Core Location documentation describes the speed reading thus:

This value reflects the instantaneous speed of the device in the direction of its current heading.

While not absolutely definitive, this strongly suggests that the reading is direct, rather than an interpolation of positions, which cannot be described as "instantaneous" by any reasonable definition.

Marcelo Cantos
Thank you for your answer. Yes I read that, and that is why I asked the question :)
Krumelur
A: 

The GPS system in itself is not able to provide speed measurements. The only way this can practically be done is by comparing to discrete position measurements and the time between those. It's just a matter of applying simple math to get the speed and direction traveled. More samples can be used to get a more accurate measurement.

It is not feasible to measure the speed directly by simple GPS receivers, e.g. by use of Doppler shift. This is due to the fact that each satellite itself is traveling at very high speed around the globe. Each satellite orbits the globe twice every day, resulting at a speed of almost 14000 km/hour. Since the direction of the satellite compared to the GPS unit varies depending on where it is on the sky, the difference in the measure Doppler shift would be huge compared to the Doppler shift resulting from moving of the GPS receiver itself.

I'm however not saying that this couldn't be done by very sophisticated hardware and algorithms, but the cost/benefit would probably not be worth even considering it.

Claus Broch
It is possible to determine speed with GPS signals, using Doppler shifts. Frequency is estimated very precisely inside GPS receivers, and the same simple least-squares and Kalman filter algorithms that can compute a position fix can be used to compute the receiver's speed. Anyway, speed is probably computed by differentiating positions in mobile phones' receivers, but I don't know that for sure.
Stéphane