Hardware:AGPS

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Q: Can choosing to use GPS (even with A-GPS disabled) enable others to track me? Is there a mode where this is not the case?: Add information on DGPS)
Line 84: Line 84:
 
The position is entirely computed in agpsd, the GPS hardware cannot know it, it's too dumb.
 
The position is entirely computed in agpsd, the GPS hardware cannot know it, it's too dumb.
  
====== Q: What is DGPS, can DGPS and A-GPS work together?
+
===== Q: What is DGPS, can DGPS and A-GPS work together? =====
  
 
A: [http://www.oc.nps.navy.mil/oc2902w/gps/dgpsnote.html An overview of DGPS] Differential GPS is basically a way of removing systematic per-satellite errors from various causes (satellite clock drift, atmospheric effects) for 'nearby' recievers, given one reciever that knows where it is.
 
A: [http://www.oc.nps.navy.mil/oc2902w/gps/dgpsnote.html An overview of DGPS] Differential GPS is basically a way of removing systematic per-satellite errors from various causes (satellite clock drift, atmospheric effects) for 'nearby' recievers, given one reciever that knows where it is.

Revision as of 04:06, 16 February 2007

Contents

Neo1973's A(ssisted) GPS

More info on GPS in general and the OpenMoko chip in particular.

Q: Has anybody here ever used AGPS? I'd like to hear your experiences.

Everybody who has used a modern GPS has used AGPS. It is usually called warm-start or hot-start. AGPS is purely a marketing term. To calculate the position a GPS chip needs:

    * almanac = coarse position of satellites
    * ephemeris = precise positon of satellites

The almanac is broadcast in a loop of 12.5 minutes and valid for at least six weeks. The ephemeris is broadcast in a loop of 30 seconds and valid for ~2 hours.

Time is mostly irrelevant, as modern chips synchronise within a second with the satellites.

The receiver chipsets store this data in flash and load it from there onto the chip in order to _assist_ the hot or warm start.

AGPS now means to load the almanac and the ephemeris from elsewhere, i.e. via a network. For example for free from the american government: http://www.navcen.uscg.gov/gps/precise/default.htm

AGPS is a nice convenience yet the success and proper functioning of TomTom and Navigon PDAs shows that you don't need that at all.

It's worth noting that the GPS on the neo is sensitive enough to pick up GPS signals in buildings. If the spot you charge your neo happens to have a GPS signal, downloading the almanac from the satellites while it charges is essentially free, and takes no internet access at all. Do this daily, and you get most of the benefit of aGPS.

Q: The chip in the Neo1973 is a Global Locate AGPS. Anybody know what type? Hammerhead maybe?

A 1: It is probably the same chipset as in ipaq hw6[59]15: http://wiki.xda-developers.com/index.php?pagename=SableGPS A 2: Should be Hammerhead.

Q: I understand the concept of assisted GPS. But does the phone have it's own antenna/receiver so that it can work without 'assistance'?

A: See above, the important part is the GPS and not the assistance. Antenna is thus compulsory.

Q: Has anybody info on the whereabouts of assistance servers, especially in Belgium and Europe?

A: They can be anywhere on the net. Alternatively a service from the cellphone operators. However, there may be occasions where you want a server 'near' where you are. See the later question on DGPS

Q: Using the assistance servers will probably mean that I will have to pay for that service. Any idea of the costs?

A: They use the low cost of their chip as selling point. Their website implies that this is a service that comes with the chip. I'd call it not very clever if they are going to charge you - it would change their image from lowcost to money grabber and the reverse engineering of their binary protocol would happen even faster.

Last but not least: Global Locate boasts itself to get a first fix in 8 sec without AGPS. The importance of AGPS depends whether the part of their website you are reading is targeted at cell phone operators, or not.

Q: Is there any "A-GPS standard" whatsoever?

A: no. It's a broad term for many variants of GPS

Q: I have heard elsewhere (Wikipedia) that in A-GPS the computation effort is shared between the device and the A-GPS Server. According to a previous post, the device just downloads the ephemeris table so there isn't any actual "computation sharing", but rather a download of a pre-computed table download. Correct?

A: As far as I understand it: yes. I will ask our GPS engineer to comment on those questions.

Q: A-GPS involves additional data traffic and thus (potential) additional costs. Does it use a normal GSM/GPRS IP-based data transfer? does it use some out-of-band GSM/GPRS control messages? or does it get data from broadcasts in the local cell (e.g. GSM cell-broadcast)?

A: GPRS. so its up to you whether you want that extra traffic (and cost, unless you're flat) or not.

Q: if the answer to above is GPRS: is it possible to estimate in advance how much additional traffic (in Kbytes/day of full operation)?

A: I am sure it's a quite fixed amount of data.

The absolute worst case is 50 bits/s * 12.5 minutes, around 5Kbytes. However, this is certainly not needed per day. The errors in orbit prediction, when you have a full almanac are quite small over the short term (a week). 5K once (or the GPS on for 12.5 minutes) then .5K/day should be quite adequate.

Q: Are there any known estimations on the overall (A)GPS performance on the Neo (esp. fix time)

A: There are some numbers in the data sheet of our GPS chipset vendor, but that data sheet is closed. I will ask them to give us some document/numbers that we can publicize.

Q: Coming to the Neo1973. In order to save costs, can the "Assisted" function in A-GPS be disabled through software API?

A: yes, it can be disabled through preferences.

Q: Is it possible to tell whether A-GPS is actually in use or not?

A: yes. either you have enabled it in preferences or nor ;)

Q: Is it possible to tell/know which is the A-GPS server currently in use?

A: yes.

Q: Can choosing to use GPS (even with A-GPS disabled) enable others to track me? Is there a mode where this is not the case?

A: The reciever does not emit significant amounts of RF - unless you are literally within centimeters of the device, it's not possible to pick it up. The other alternative would be that the supplied agpsd is trojaned, and can be asked somehow to report on your position. The position is entirely computed in agpsd, the GPS hardware cannot know it, it's too dumb.

Q: What is DGPS, can DGPS and A-GPS work together?

A: An overview of DGPS Differential GPS is basically a way of removing systematic per-satellite errors from various causes (satellite clock drift, atmospheric effects) for 'nearby' recievers, given one reciever that knows where it is.

The per-satellite range errors to a satellite are around 2-3 metres typically. These per-satellite errors are similar for users close to each other. These corrections are broadcast by radio in much of the USA (which the neo cannot pick up).

If you can download error information from a nearby source, then you can obtain positions that are much more accurate than without this information. Perhaps well under 1m radius of error, instead of 2 or 3. In some applications this may be of use.

It may be that the apgsd cannot do this, and it will require reverse engineering.

In any case, this would be another few hundred bytes a minute while this is active. (the error information rapidly ages).

Any stationary reciever - even a neo on charge, with a good signal, can produce useful error information. If it had a cheap internet connection at the same time, it could be constantly updating a global error model, for use by other neo owners.

It may be that the apgsd cannot do this, and it will require reverse engineering.

Personal tools

Neo1973's A(ssisted) GPS

More info on GPS in general and the OpenMoko chip in particular.

Q: Has anybody here ever used AGPS? I'd like to hear your experiences.

Everybody who has used a modern GPS has used AGPS. It is usually called warm-start or hot-start. AGPS is purely a marketing term. To calculate the position a GPS chip needs:

    * almanac = coarse position of satellites
    * ephemeris = precise positon of satellites

The almanac is broadcast in a loop of 12.5 minutes and valid for at least six weeks. The ephemeris is broadcast in a loop of 30 seconds and valid for ~2 hours.

Time is mostly irrelevant, as modern chips synchronise within a second with the satellites.

The receiver chipsets store this data in flash and load it from there onto the chip in order to _assist_ the hot or warm start.

AGPS now means to load the almanac and the ephemeris from elsewhere, i.e. via a network. For example for free from the american government: http://www.navcen.uscg.gov/gps/precise/default.htm

AGPS is a nice convenience yet the success and proper functioning of TomTom and Navigon PDAs shows that you don't need that at all.

It's worth noting that the GPS on the neo is sensitive enough to pick up GPS signals in buildings. If the spot you charge your neo happens to have a GPS signal, downloading the almanac from the satellites while it charges is essentially free, and takes no internet access at all. Do this daily, and you get most of the benefit of aGPS.

Q: The chip in the Neo1973 is a Global Locate AGPS. Anybody know what type? Hammerhead maybe?

A 1: It is probably the same chipset as in ipaq hw6[59]15: http://wiki.xda-developers.com/index.php?pagename=SableGPS A 2: Should be Hammerhead.

Q: I understand the concept of assisted GPS. But does the phone have it's own antenna/receiver so that it can work without 'assistance'?

A: See above, the important part is the GPS and not the assistance. Antenna is thus compulsory.

Q: Has anybody info on the whereabouts of assistance servers, especially in Belgium and Europe?

A: They can be anywhere on the net. Alternatively a service from the cellphone operators. However, there may be occasions where you want a server 'near' where you are. See the later question on DGPS

Q: Using the assistance servers will probably mean that I will have to pay for that service. Any idea of the costs?

A: They use the low cost of their chip as selling point. Their website implies that this is a service that comes with the chip. I'd call it not very clever if they are going to charge you - it would change their image from lowcost to money grabber and the reverse engineering of their binary protocol would happen even faster.

Last but not least: Global Locate boasts itself to get a first fix in 8 sec without AGPS. The importance of AGPS depends whether the part of their website you are reading is targeted at cell phone operators, or not.

Q: Is there any "A-GPS standard" whatsoever?

A: no. It's a broad term for many variants of GPS

Q: I have heard elsewhere (Wikipedia) that in A-GPS the computation effort is shared between the device and the A-GPS Server. According to a previous post, the device just downloads the ephemeris table so there isn't any actual "computation sharing", but rather a download of a pre-computed table download. Correct?

A: As far as I understand it: yes. I will ask our GPS engineer to comment on those questions.

Q: A-GPS involves additional data traffic and thus (potential) additional costs. Does it use a normal GSM/GPRS IP-based data transfer? does it use some out-of-band GSM/GPRS control messages? or does it get data from broadcasts in the local cell (e.g. GSM cell-broadcast)?

A: GPRS. so its up to you whether you want that extra traffic (and cost, unless you're flat) or not.

Q: if the answer to above is GPRS: is it possible to estimate in advance how much additional traffic (in Kbytes/day of full operation)?

A: I am sure it's a quite fixed amount of data.

The absolute worst case is 50 bits/s * 12.5 minutes, around 5Kbytes. However, this is certainly not needed per day. The errors in orbit prediction, when you have a full almanac are quite small over the short term (a week). 5K once (or the GPS on for 12.5 minutes) then .5K/day should be quite adequate.

Q: Are there any known estimations on the overall (A)GPS performance on the Neo (esp. fix time)

A: There are some numbers in the data sheet of our GPS chipset vendor, but that data sheet is closed. I will ask them to give us some document/numbers that we can publicize.

Q: Coming to the Neo1973. In order to save costs, can the "Assisted" function in A-GPS be disabled through software API?

A: yes, it can be disabled through preferences.

Q: Is it possible to tell whether A-GPS is actually in use or not?

A: yes. either you have enabled it in preferences or nor ;)

Q: Is it possible to tell/know which is the A-GPS server currently in use?

A: yes.

Q: Can choosing to use GPS (even with A-GPS disabled) enable others to track me? Is there a mode where this is not the case?

A: The reciever does not emit significant amounts of RF - unless you are literally within centimeters of the device, it's not possible to pick it up. The other alternative would be that the supplied agpsd is trojaned, and can be asked somehow to report on your position. The position is entirely computed in agpsd, the GPS hardware cannot know it, it's too dumb.

====== Q: What is DGPS, can DGPS and A-GPS work together?

A: An overview of DGPS Differential GPS is basically a way of removing systematic per-satellite errors from various causes (satellite clock drift, atmospheric effects) for 'nearby' recievers, given one reciever that knows where it is.

The per-satellite range errors to a satellite are around 2-3 metres typically. These per-satellite errors are similar for users close to each other. These corrections are broadcast by radio in much of the USA (which the neo cannot pick up).

If you can download error information from a nearby source, then you can obtain positions that are much more accurate than without this information. Perhaps well under 1m radius of error, instead of 2 or 3. In some applications this may be of use.

It may be that the apgsd cannot do this, and it will require reverse engineering.

In any case, this would be another few hundred bytes a minute while this is active. (the error information rapidly ages).

Any stationary reciever - even a neo on charge, with a good signal, can produce useful error information. If it had a cheap internet connection at the same time, it could be constantly updating a global error model, for use by other neo owners.

It may be that the apgsd cannot do this, and it will require reverse engineering.