Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know more or less how the GPS system works. But I would like to understand it in more details. Exactly what data is sent from a GPS satellite to a GPS receiver?

I think there is multiple types of data, since when I start up a gps receiver, it takes some time before ut becomes useful. As what I know this is because the receiver waits on some data that aren't received very often. I guess that the GPS signal that is used for the position is sent more often, but I don't know.

Is there anyone that can explain this in more detail? Or have a useful link?

share|improve this question
up vote 14 down vote accepted

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.

share|improve this answer

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: 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.

share|improve this answer

Each sattelite is sending exact (atomic) time, and gps receiver calcualtes thanks to it, it's position. There is also some additional data, like position of sattelite (almanac) which is also required to perform calcualtions, and a few minor things.

In order to increase accuracy, data may be sent on two diffrent frequencies (L1 which is available for everybody, and L2 which is restricted for US military).

share|improve this answer
L2 is available to the general public as well. You just need to have GPS that captures data in L2 frequency. – George Jul 23 '10 at 11:48
In the initial design, the L2 frequency only carried the precise military signal. It has since been enhanced to also carry a less precise civilian signal. Dual-receiver GPS can use both of the civilian signals to cancel out some sources of error. – JasonBirch Jul 24 '10 at 6:27

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 is pretty good.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.