3.1.1 GPS Satellite Signals:


Each GPS satellite transmits a unique navigational signal centred on two L-band frequencies of the electromagnetic spectrum: L1 at 1575.42MHz and L2 at 1227.60MHz. At these microwave frequencies the signals are highly directional and hence are easily blocked, as well as reflected, by solid objects and water surfaces. However, clouds are easily penetrated, but the signals can be blocked by dense or wet foliage. The satellite signals basically consists of (see Figure 1 below):

The two L-band carrier waves.

The ranging codes modulated on the carrier waves.

The Navigation Message.


Figure 1. GPS satellite signal components.

L-band Carrier Waves

As the name implies, the carrier waves provide the means by which the ranging codes and Navigation Message is transmitted to earth (and hence to the user). The primary function of the ranging codes is to permit the signal transit time (from satellite to receiver) to be determined. (This quantity is also sometimes referred to in the navigation literature as the time-of-arrival -- TOA.) The transit time when multiplied by the speed of electromagnetic radiation (= 299792458m/s in a vacuum) gives the receiver-satellite range. The Navigation Message is modulated on both carrier frequencies and contains the satellite ephemeris, satellite clock parameters, and other pertinent information such as general system status messages and an ionospheric delay model, necessary for real-time navigation to be performed. Each of these signal components are described below.

All signal components are derived from the output of a highly stable atomic clock (Figure 2 below). In the operational (Block II/IIA) GPS system each satellite is equipped with two cesium and two rubidium atomic clocks. (The Block IIF satellites may be equipped with a space-qualified hydrogen maser.) The clocks generate a pure sine wave at a frequency f0 = 10.23MHz, with a stability of the order of 1 part in 1013 over one day. This is referred to as the fundamental frequency.

Figure 2. GPS signal component frequencies.


Multiplying the fundamental frequency f0 by integer factors yields the two microwave L-band carrier waves L1 and L2 respectively (above two figures). The frequency of the two waves are obtained as follows:

fL1 = f0 x 154 = 1575.42MHz

equivalent wavelength: L1 = c / fL1 19cm

fL2 = f0 x 120 = 1227.60MHz

equivalent wavelength: L2 = c / fL2 24cm

These are righthand circularly polarised radio frequency waves capable of transmission through the atmosphere over great distances, but they contain no information. All satellites broadcast the same frequencies (though the received frequencies are slightly different because of the Doppler shift). In order to give the carriers information they must be modified, or modulated, in some way. In the Global Positioning System there are two distinct codes used to modulate the L-band carriers, namely the ranging codes and the Navigation Message.

The L1 carrier was designed to be modulated with two codes, one intended for civilian use and the other reserved for the military, whereas the L2 carrier is modulated only with the military code. Both carriers also contain the Navigation Message.

PRN Ranging Codes

Two ranging codes are used:

The C/A code, the "clear/access" or "coarse/acquisition" code (sometimes also referred to as the "S code").

The P code, the "private" or "precise" code, which under Anti-Spoofing (AS) is replaced by the "Y" code.

The C/A and P (or Y) codes can be considered as the measuring rods -- they provide the means by which a GPS receiver can measure one-way distances to the satellites. Both codes have the characteristics of random noise, but are in fact binary codes generated by mathematical algorithms and are therefore referred to as "pseudo-random-noise" ( or PRN) codes.

Figure 3 below illustrates the C/A code generation procedure based on "Gold Codes". Tapped Feedback Shift Registers are used to generate a sequence of "0"s and "1"s at the clock rate of 1.023 MHz. At each clock pulse the bits in the registers are shifted to the right where the contents of the rightmost register is read as output. A new value in the leftmost register is created by the modulo-2 addition (or binary sum) of the contents of a specified group of registers. In the case of the C/A code two 10-bit TFSRs are used, each generating a Gold Code: (1) the G1 (represented here as the polynomial: 1 + X3 + X10), and (2) the G2 (represented here as the polynomial: 1 + X2 + X3 + X6 + X8 + X9 + X10). The output of the G1 TFSR (rightmost register) is modulo-2 added to the register contents of the G2. Different combinations of the outputs of the registers of G2 (or "taps" from the register) when added to the output of the G1 code lead to different PRN codes. There are 36 unique codes that can be generated in such a straightforward manner. Figure 3 below also shows the first three PRN taps: PRN1 taps the contents of register 2 and 6, and adds it to the output of the G1 TFSR, PRN2 taps the contents of register 3 and 7, PRN3 taps the contents of register 4 and 8, and so on.


Figure 3. Generating PRN codes using two Gold Code registers.


To measure one-way range, a knowledge of the codes is required by the GPS receiver's computer. Hence, knowing which PRN code is being transmitted by a satellite means that a receiver can generate a local replica of the same code sequence. These PRN codes possess a very important attribute: a given C/A (or P or Y) code will correlate with an exact replica of itself only when the two codes are aligned. Furthermore, without knowledge of the ranging code sequence, the Navigation Message cannot be recovered.

The C/A codes are 1023 "chip" long binary sequences, which are generated at a rate of 1.023 million chips per second, that is at a frequency of 1.023MHz (see Figure 2 above). Hence the entire C/A code sequence repeats every millisecond. The "wavelength" of the code (length of the chip) is approximately 300m, and the total sequence is therefore about 300km long. Each GPS satellite is assigned a unique C/A code (see Table -- section 2.2.2).

The P code is a far more complex binary sequence, being approximately 266.4 days long with a chipping rate at the fundamental frequency f0 = 10.23MHz. It is generated in an analogous manner to the C/A code, using two TFSRs. The "wavelength" of this code (length of the P code chip) is approximately 30m, ten times the resolution of the C/A code (Figure 4 below). Instead of assigning each satellite a unique code of its own, as is the case with the C/A code, the P code is allocated such that each satellite transmits a one week portion of the 266.4 day long sequence (restarting on Saturday midnight.

Figure 4. Examples of the C/A and P code chip sequences.

Under Anti-Spoofing the P code is encrypted through the modulation of a further secret code -- the "W code". The sum, referred to as the "Y code", is then modulated in the normal way onto the L1 and L2 carrier waves. The same P (or Y) code is modulated on both carrier waves, and any difference in signal transit time of the same PRN sequence is due to the retardation of the two L-band signals by a different amount as they travel through the ionosphere. (The effect of the ionosphere on signal propagation is essentially a function of signal frequency) The effect of the ionosphere is to retard the PRN sequence, and to advance the carrier phase. An approximate ionospheric delay model is provided within the Navigation Message.

Navigation Message

In order for a GPS navigator to derive real-time position (and to make the task of the GPS surveyor easier when he comes to reduce his data), a Navigation Message is transmitted on both L-band frequencies, containing the following information (section 3.3.1):

Predicted satellite ephemerides.

Predicted satellite clock correction model coefficients.

GPS system status information.

The GPS system ionospheric model.


The Control Segment (via the Upload Stations) uplinks this information into each satellite for subsequent transmission to all users on a regular (nominally daily) basis. The satellite message is in a binary form, like the ranging codes, but the sequence is not random. The message is transmitted at a rate of one bit ("0" or "1", as in a computer) every 20 repetitions of the C/A code. This corresponds to a rate of 50bps (bits per second). The entire message length is 1500 bits.




  • One-way measurements -- a listen-only system


  • Simultaneous measurements to many satellites -- need to identify different signals
  • Unambiguous range measurements -- need to determine signal delay
  • Satellite positions needed -- broadcast ephemerides


  • High frequency modulation -- P code at 10 MHz
  • Dual-frequency -- for ionospheric delay
  • Microwave carrier frequency -- 1.2 to 1.6 GHz


  • Spread spectrum technique


  • Need two codes and restriction on dual-frequency use -- P and C/A codes

Back To Chapter 3 Contents / Next Topic

© Chris Rizos, SNAP-UNSW, 1999