Sunday, January 29, 2006

Imagine that you wake up in a dark place without any known reference to help you figure out where you are or when. You will need to start getting your bearings by listening carefully to any sound, looking for clues.

That is pretty much how a GPS receiver "wakes up" after being moved hundreds of miles from its previous location, days or weeks after being used. It doesn't have a clue about its whereabouts.

So how does it figure out where it is so it can tell you?

Remember that a receiver determines its position by calculating the time a signal sent by a GPS satellite takes to reach it. But for that the receiver needs to know first where that satellite is located, precisely.

As you know already the faster a receiver can lock its current location, less time you will have to wait to start using its data. That's usually called Time To First Fix (TTFF).

Almanac & Ephemeris

Each satellite generates and broadcasts its own 1023-bit Pseudo Random Noise (PRN) codes, these are pseudo random sequences that a receiver knows about and tries to match by generating that same signal in order to identify a particular satellite. They also encode the time a signal is being transmitted. The receiver will need to find this signal in time (the signal is transmited at 1023 Mbits/sec) and frequency (added doppler effect from the satellite movement).

Each satellite is sending its PRC (Pseudo Random Code), position and current time 50 times per second. After locking up a signal the receiver will obtain this data and calculate the time difference from when the signal was sent to the Time of Arrival (TOA). The signal from a 4th satellite is used to calibrate the time in the receiver.

Included among the data received at this time are the almanac and ephemeris.

Almanac data is not very precise but valid for several months. A Factory Reset would require the download of a full almanac which might take up to 12.5 minutes*. All GPS satelites broadcast almanac data from each other.

But each satellite broadcasts only its own ephemeris data which includes very precise orbital and clock correction data. The ephemeris data is used to calculate the satellite position for any time within the period of its orbit described by those ephemeris.

On a "cold start" the receiver knows "where to look" in the sky based on the almanac data available and will try to obtain ephemeris data from each visible satellite. That ephemeris data will be valid up to 4 hours. Every 30 seconds each satellite broadcasts its ephemeris. If your receiver is blocked while trying to obtain the data, it will have to start over in the next cycle.

On a "warm start" some ephemeris is already available and the receiver can almost "guess" its position and in a "hot start" the receiver has almost all of it readily available. This whole process can translate in minutes or seconds of wait depending in the kind and quality of data available for a receiver to obtain a fix.

* This time was originally pointed out by Dale DePriest for Garmin receivers

Aided GPS

In an effort to drop the TTFF in general and particularly in poor visibility conditions, companies like Sirf and the privately owned Global Locate introduced mechanisms to help receivers in obtaining ephemeris data without the need for the usual wait associated with it.

Notice that there is a difference between Assisted and Aided GPS (both called AGPS to complicate things a bit). Aided GPS is "generally understood to be either ephemeris or almanac aiding". While Assisted GPS uses data from a wireless network infrastructure, sometimes down to location information itself based on the Cell ID from a mobile phone.

There is also a difference regarding where changes are made to provide this aid: at the control plane by modifying TCP/IP format within the actual wireless network infrastructure or at the user plane where no major upgrades are necessary and the distribution is made thru messages like SMS for example.

Global Locate uses Trimble survey grade reference receivers to build its own private reference network to "collect, format and redistribute live ephemeris". This data is then used to provide Long-Term Orbit (LTO) data based in orbit models that according to this PDF will provide very precise satellite ephemeris good for up to 10 days.

The HP 6500 PDA includes "Quick GPS Connection" software that makes use of Global Locate LTO data which can be obtained thru a cradle sync or downloaded from the Net. GpsPassion tested it against a SirfStarIII equiped receiver.

Sirf just announced InstantFix, a mechanism similar to that provided by Global Locate where users will be able to download ephemeris good for up to 7 days for use with their receivers. In the same week that Sirf announced this service, GlobalLocate announced two patents just obtained covering the generation and distribution of LTO data. Let's hope they figure out a way to work together.

One of the selling points from LTO vendors is that knowing "where to look" for a signal a GPS receiver can use a lot less power to keep track of its location, from very weak signals and even under very poor visibility conditions, including indoors.

GpsPassion has a comparison of the Cold Start and Hot Start times for several GPS receivers for PocketPC's. For more info on Global Locate check this article from GPSWorld.