What data is sent from GPS satellites to receivers?
There are 3 parts to the GPS signal:
- A satellite ID (called the Pseudo Random Code)
- Almanac data (orbital information for all the satellites)
- Ephemeris data (the orbital information for the single satellite in question, including the very precise clock information necessary to calculate the distance)
Basically, the almanac enables the receiver to know which satellites to search for. It tells which SHOULD be in sight at this point, but obviously something may block line of sight to it. But before ephemeris data has been received for at least 3 satellites, a (2D) position cannot be given. That data is broadcast every 30 seconds.
The receiver may cache almanac information but ephemeris data cannot be cached for long (due to clock drift, mainly), so waiting for reception of fresh ephemeris data is generally what's causing the startup time on GPS receivers.
There's also a tic mark (not the right term -it's been a while) that is sent at the start of the whole second to allow back calculation to the actual location at the time of signal receipt. Look at Forward Error Correction here for for a better explanation: http://en.wikipedia.org/wiki/GPS_signals. We used it in aerial photography and found that there was often a delay of up to .4 sec to calculate and output the GPS location from the device. Knowing when the tic came in meant we could work backwards and assign a slightly more accurate location to the photo.
To add to Cumbayah's answer, the pseudo-random code also carries the time stamp that allows the receiver to know at exactly what time the signal it is receiving was transmitted. The triangulation that the receiver does depends on knowing the travel time of the radio signals from each satellite. The pseudo-random code is prearranged, so the receiver knows it in advance and knows when a given part of it originated from the satellite. It's all devilishly clever. The Wikipedia page at http://en.wikipedia.org/wiki/GPS_signals is pretty good.