Server:A-GPS

From Openmoko

Revision as of 16:34, 24 July 2007 by Speedevil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Why AGPS?

Most conventional GPS recievers have difficulty providing reliable positions in environments surrounded by tall buildings - the so-called 'urban canyon', as well as indoors and under heavy tree cover.

Also, when initially turned on, there can be a significant delay before the receiver can provide a position.

The A-GPS server can help in both these cases, as well as providing additional functionality.

It is able to do this as:

  • The Assistance Server has a good satellite signal, and lots of computation power, so it can compare fragmentary signals relayed to it by cell phones, with the satellite signal it receives directly, and then inform the cell phone of its position. Compare for example being asked to identify where a partially concealed known object is in a picture, and if you don't know what it is.
  • It can supply orbital data for the GPS satellites to the cell phone, enabling the cell phone to lock to the satellites when it otherwise could not, and autonomously calculate its position.
  • It can have better knowledge of ionospheric conditions and other errors affecting the GPS signal than the cell phone alone, enabling more precise calculation of position.

Fundamental GPS errors

(approx, fixme!)

  • Orbital error - 2m. These are inaccuracies in the orbits broadcast by the GPS satellites. Downloading precise orbits will fix this error, for a short time. This is a per-satellite error, but in practice, you'd download them all at once.
  • Ionospheric error - 2m. This is due to the natural variation of the atmosphere. It varies moderately rapidly, and over several hundred kilometer areas. This error varies depending on the ionosphere that the satelite signal passes through to get to you.

What options are there for implementing an AGPS server?

All these require an open-source GPS driver. Or at least a more flexible binary one.

Simply provide for rapid download of accurate orbital data, in a compressed format. This is simple to implement, and provides modest gains in accuracy.
Compute position for phone Requires complex software to be written for the server
Supply ionospheric model to phone Relatively simple software on server, to echo internet sources of current ionospheric weather to the phone, opensource GPS driver on the phone.
Peer-Peer ionospheric model Use all stationary compatible phones with a view of the sky, and a free network connection to help derive an accurate ionospheric model. Also requires open-source GPS driver.
Personal tools

Why AGPS?

Most conventional GPS recievers have difficulty providing reliable positions in environments surrounded by tall buildings - the so-called 'urban canyon', as well as indoors and under heavy tree cover.

Also, when initially turned on, there can be a significant delay before the receiver can provide a position.

The A-GPS server can help in both these cases, as well as providing additional functionality.

It is able to do this as:

  • The Assistance Server has a good satellite signal, and lots of computation power, so it can compare fragmentary signals relayed to it by cell phones, with the satellite signal it receives directly, and then inform the cell phone of its position. Compare for example being asked to identify where a partially concealed known object is in a picture, and if you don't know what it is.
  • It can supply orbital data for the GPS satellites to the cell phone, enabling the cell phone to lock to the satellites when it otherwise could not, and autonomously calculate its position.
  • It can have better knowledge of ionospheric conditions and other errors affecting the GPS signal than the cell phone alone, enabling more precise calculation of position.

Fundamental GPS errors

(approx, fixme!)

  • Orbital error - 2m. These are inaccuracies in the orbits broadcast by the GPS satellites. Downloading precise orbits will fix this error, for a short time. This is a per-satellite error, but in practice, you'd download them all at once.
  • Ionospheric error - 2m. This is due to the natural variation of the atmosphere. It varies moderately rapidly, and over several hundred kilometer areas. This error varies depending on the ionosphere that the satelite signal passes through to get to you.

What options are there for implementing an AGPS server?

All these require an open-source GPS driver. Or at least a more flexible binary one.

Simply provide for rapid download of accurate orbital data, in a compressed format. This is simple to implement, and provides modest gains in accuracy.
Compute position for phone Requires complex software to be written for the server
Supply ionospheric model to phone Relatively simple software on server, to echo internet sources of current ionospheric weather to the phone, opensource GPS driver on the phone.
Peer-Peer ionospheric model Use all stationary compatible phones with a view of the sky, and a free network connection to help derive an accurate ionospheric model. Also requires open-source GPS driver.