In order to design a software-defined single frequency GPS receiver it is necessary to know the characteristics of the signal and data transmitted from the GPS satellites and received by the GPS receiver antenna. In this topic an overview of the GPS signal generation scheme and the most important properties of the various signals and data are presented.
Signals and Data
The GPS signals are transmitted on two radio frequencies in the UHF band. The UHF band covers the frequency band from 500 MHz to 3 GHz. These frequencies are referred to as L1 and L2 and are derived from a common frequency, f0 = 10.23 MHz:
The signals are composed of the following three parts: Carrier The carrier wave with frequency
Navigation data The navigation data contain information regarding satellite orbits. This information is uploaded to all satellites from the ground stations in the GPS Control Segment. The navigation data have a bit rate of 50 bps. More details on the navigation data can be seen in Section 2.6.
FIGURE 2.1. Generation of GPS signals at the satellites.
Spreading sequence Each satellite has two unique spreading sequences or codes. The first one is the coarse acquisition code (C/A), and the other one is the encrypted precision code (P(Y)). The C/A code is a sequence of 1023 chips. (A chip corresponds to a bit. It is simply called a chip to emphasize that it does not hold any information.) The code is repeated each ms giving a chipping rate of 1.023 MHz. The P code is a longer code (« 2.35-104 chips) with a chipping rate of 10.23 MHz. It repeats itself each week starting at the beginning of the GPS week which is at Saturday/Sunday midnight. The C/A code is only modulated onto the L1 carrier while the P(Y) code is modulated onto both the L1 and the L2 carrier. Section 2.3 describes the generation and properties of the spreading sequences in detail.
GPS Signal Scheme
In the following a detailed description of the signal generation is given. Figure 2.1 is a block diagram describing the signal generation.
The block diagram should be read from left to right. At the far left, the main clock signal is supplied to the remaining blocks. The clock signal has a frequency of 10.23 MHz. Actually, the exact frequency is 10.22999999543MHz to adjust for relativistic effects giving a frequency of 10.23 MHz seen from the user on Earth. When multiplied by 154 and 120, it generates the L1 andL2 carrier signals, respectively. At the bottom left corner a limiter is used to stabilize the clock signal before supplying it to the P(Y) and C/A code generators. At the very bottom the data generator generates the navigation data. The code generators and the data generator are synchronized through the X1 signal supplied by the P(Y) code generator.
TABLE 2.1. Output of the exclusive OR operation
Input |
Input |
Output |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
TABLE 2.2. Output of ordinary multiplication
Input |
Input |
Output |
-1 |
-1 |
1 |
-1 |
1 |
-1 |
1 |
-1 |
-1 |
1 |
1 |
1 |
After code generation, the codes are combined with the navigation data through modulo-2 adders. The exclusive OR operation is used on binary sequences represented by 0′s and 1′s, and its properties are shown in Table 2.1.
If the binary sequences were represented by the polar non-return-to-zero representation, i.e., 1′s and -1′s, ordinary multiplication could be used instead. The corresponding properties of the multiplication with two binary non-return-to-zero sequences are shown in Table 2.2.
Thedata signals are supplied to the two modulators for the L1 frequency. Here the signals are modulated onto the carrier signal using the binary phase shift keying (BPSK) method. Note that the two codes are modulated in-phase and quadrature with each other on L1. That is, there is a 90° phase shift between the two codes. We return to this issue shortly. After the P(Y) part is attenuated 3 dB, these two L1 signals are added to form the resulting L1 signal. The so-called standard positioning service (SPS) is based on C/A code signals alone.
It follows that the signal transmitted from satellite k can be described as
whereare the powers of signals with C/A or P code,is the C/A code sequence assigned to satellite numberis the P(Y) code sequence assigned to satellite numberis the navigation data sequence, andand are the carrier frequencies of L1 and L2, respectively.
Figure 2.2 shows the three parts forming the signal on the L1 frequency. The C/A code repeats itself every ms, and one navigation bit lasts 20 ms. Hence for each navigation bit, the signal contains 20 complete C/A codes.
Figure 2.3 shows the Gold code C, the navigation data D, the modulo-2 added signaland the carrier. The final signal is created by binary phase-shift keying (BPSK) where the carrier is instantaneously phase shifted by 180° at the time of a chip change. When a navigation data bit transition occurs (about one third from the right edge), the phase of the resulting signal is also phase-shifted 180°.
FIGURE 2.2. L1 signal structure: f (t) is the carrier wave and C (t) is the discrete C/A code sequence. As seen, this signal repeats itself every ms. D(t) is the discrete navigation data bit stream. One navigation bit lasts 20 ms. The three parts of the L1 signal are multiplied to form the resulting signal. This figure is not to scale but is only used for illustrative purpose.
The GPS C/A spectrum is illustrated in Figure 3.4.
In summary: For GPS the code length is 1023 chips, 1.023 MHz chipping rate (1 ms period time), 50 Hz data rate (20 code periods per data bit), ~ 90% of signal power within ~ 2 MHz bandwidth.