Server:A-GPS

From Openmoko

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!)

Signal Resolution Error - 5m. A GPS receiver detects a signal transmitted by satellites and attempts to match that signal as closely as possible. The signal can only be matched to a given accuracy for the simple binary signal from the satellites. This is by far the largest error in the GPS system, and the easiest to detect.

Dilution of Precision - 5m to 1m. The arrangement of the satellites has an impact on the accuracy of a GPS location, which is represented by the DOP figure. Smaller represents a better arrangement of satellites. Changes regularly as the satellites move.

Multipathing - Variable, but area specific. If a surface exists that will reflect radio waves, a GPS signal can bounce off that surface before being received. This makes it appear as if it is further to a given satellite then it really is. Only a real problem next to flat metal surfaces, such as building walls or tall fences.

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.

Orbital error - 0.02m. 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.

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.

Views

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!)

Signal Resolution Error - 5m. A GPS receiver detects a signal transmitted by satellites and attempts to match that signal as closely as possible. The signal can only be matched to a given accuracy for the simple binary signal from the satellites. This is by far the largest error in the GPS system, and the easiest to detect.

Dilution of Precision - 5m to 1m. The arrangement of the satellites has an impact on the accuracy of a GPS location, which is represented by the DOP figure. Smaller represents a better arrangement of satellites. Changes regularly as the satellites move.

Multipathing - Variable, but area specific. If a surface exists that will reflect radio waves, a GPS signal can bounce off that surface before being received. This makes it appear as if it is further to a given satellite then it really is. Only a real problem next to flat metal surfaces, such as building walls or tall fences.

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.

Orbital error - 0.02m. 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.

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.