GPS SATELLITE SIGNAL STRUCTURE 
Each GPS satellite transmits a unique navigational signal centred on two Lband 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 Lband carrier waves.
The ranging codes modulated on the carrier waves.
The Navigation Message.
Figure 1. GPS satellite signal components.
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 timeofarrival  TOA.) The
transit time when multiplied by the speed of electromagnetic radiation (=
299792458m/s in a vacuum) gives the receiversatellite 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 realtime 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 spacequalified hydrogen maser.) The clocks generate a pure sine wave at a frequency f_{0} = 10.23MHz, with a stability of the order of 1 part in 10^{13} over one day. This is referred to as the fundamental frequency.
Figure 2. GPS signal component frequencies.
Multiplying the fundamental frequency f_{0} by integer factors
yields the two microwave Lband carrier waves L1 and L2 respectively (above
two figures). The frequency of the two waves are obtained as follows:
f_{L1} = f_{0} x 154 = 1575.42MHz
equivalent wavelength: _{L1} = c / f_{L1} 19cm
f_{L2} = f_{0} x 120 = 1227.60MHz
equivalent wavelength: _{L2} = c / f_{L2} 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 Lband 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.
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 AntiSpoofing (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
oneway 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 "pseudorandomnoise"
( 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 modulo2 addition (or binary sum) of the contents of a specified group of registers. In the case of the C/A code two 10bit TFSRs are used, each generating a Gold Code: (1) the G1 (represented here as the polynomial: 1 + X^{3} + X^{10}), and (2) the G2 (represented here as the polynomial: 1 + X^{2} + X^{3} + X^{6} + X^{8} + X^{9} + X^{10}). The output of the G1 TFSR (rightmost register) is modulo2 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 oneway 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 f_{0} = 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 AntiSpoofing 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 Lband 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.
In order for a GPS navigator to derive realtime 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 Lband 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.
WHY IS THE SIGNAL SO COMPLICATED?
MULTIUSER SYSTEM
REALTIME POSITIONING
HIGH ACCURACY POSITIONING
ANTIJAMMING REQUIREMENT
MILITARY AND CIVILIAN USERS

Back To Chapter 3 Contents
/ Next Topic
© Chris Rizos, SNAPUNSW, 1999