6 GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE replace them. All the prototype satellites, known as Block I, have been decommissioned Between 1989 and 1994, 24 Block Il(1989-1994)were placed in orbit. From 1995 onwards these have started to be replaced by a new design known as block IIR. The nominal specifications of the GPS satellites are as follows Life goal: 7.5 years Mass: -l tonne(Block IIR: -2 tonnes) Power: solar panels 7.5 m*+ Ni-Cd batteries Atomic clocks: 2 rubidium and 2 cesium The orientation of the satellites is al ways changing, such that the solar panels face the sun, and the antennas face the centre of the Earth. Signals are transmitted and received by the satellite Ising microwaves. Signals are transmitted to the User Segment at frequencies Ll=1575.42 MHz, and L2=1227. 60 MHz. We discuss the signals in further detail later on. Signals are received from the Control Segment at frequency 1783. 74 Mhz. The flow of information is a follows: the satellites transmit Ll and L2 signals to the user, which are encoded with information on their clock times and their positions. The Control Segment then tracks these signals using receivers at special monitoring stations. This information is used to improve the satellite positions and predict where the satellites will be in the near future. This orbit information is then uplinked at 1783. 74 Mhz to the gps satellites, which in turn transmit this new information down to the users. and so on. the orbit information on board the satellite is updated every hour 2.2. 4 The Control Segment The Control Segment, run by the US Air Force, is responsible for operating GPs. The main Control Centre is at Falcon Air Force Base, Colorado Springs, USA. Several ground stations monitor the satellites Ll and L2 signals and assess the"health""of the satellites. As outlined previously, the Control Segment then uses these signals to estimate and predict the satellite orbits and clock errors, and this information is uploaded to the satellites. In addition, the Control Segment can control the satellites; for example, the satellites can be maneuvered into a different orbit when necessary. This might be done to optimise satellite geometry when a new satellite is launched, or when an old satellite fails. It is also done to keep the satellites to within a certain tolerance of their nominal orbital parameters(e.g, the semi-major axis may need adjustment from time to time). As another example, the Control Segment might switch between the several on-board clocks available, should the current clock appear to be 2. 3 THE GPS SIGNALS We now briefly summarise the characteristics of the GPS signals, the types of information that digitally encoded on the signals, and how the U.S. Department of Defense implements denial of accuracy to civilian users. Further details on how the codes are constructed will be presented in Section 3 2.3.1 Signal Description
6 GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE replace them. All the prototype satellites, known as Block I, have been decommissioned. Between 1989 and 1994, 24 Block II (1989-1994) were placed in orbit. From 1995 onwards, these have started to be replaced by a new design known as Block IIR. The nominal specifications of the GPS satellites are as follows: • Life goal: 7.5 years • Mass: ~1 tonne (Block IIR: ~2 tonnes) • Size: 5 metres • Power: solar panels 7.5 m 2 + Ni-Cd batteries • Atomic clocks: 2 rubidium and 2 cesium The orientation of the satellites is always changing, such that the solar panels face the sun, and the antennas face the centre of the Earth. Signals are transmitted and received by the satellite using microwaves. Signals are transmitted to the User Segment at frequencies L1 = 1575.42 MHz, and L2 = 1227.60 MHz. We discuss the signals in further detail later on. Signals are received from the Control Segment at frequency 1783.74 Mhz. The flow of information is a follows: the satellites transmit L1 and L2 signals to the user, which are encoded with information on their clock times and their positions. The Control Segment then tracks these signals using receivers at special monitoring stations. This information is used to improve the satellite positions and predict where the satellites will be in the near future. This orbit information is then uplinked at 1783.74 Mhz to the GPS satellites, which in turn transmit this new information down to the users, and so on. The orbit information on board the satellite is updated every hour. 2.2.4 The Control Segment The Control Segment, run by the US Air Force, is responsible for operating GPS. The main Control Centre is at Falcon Air Force Base, Colorado Springs, USA. Several ground stations monitor the satellites L1 and L2 signals, and assess the “health” of the satellites. As outlined previously, the Control Segment then uses these signals to estimate and predict the satellite orbits and clock errors, and this information is uploaded to the satellites. In addition, the Control Segment can control the satellites; for example, the satellites can be maneuvered into a different orbit when necessary. This might be done to optimise satellite geometry when a new satellite is launched, or when an old satellite fails. It is also done to keep the satellites to within a certain tolerance of their nominal orbital parameters (e.g., the semi-major axis may need adjustment from time to time). As another example, the Control Segment might switch between the several on-board clocks available, should the current clock appear to be malfunctioning. 2.3 THE GPS SIGNALS We now briefly summarise the characteristics of the GPS signals, the types of information that is digitally encoded on the signals, and how the U.S. Department of Defense implements denial of accuracy to civilian users. Further details on how the codes are constructed will be presented in Section 3. 2.3.1 Signal Description
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE The signals from a GPS satellite are fundamentally driven by an atomic clocks(usually cesium, which has the best long-term stability). The fundamental frequency is 10.23 Mhz Two carrier signals, which can be thought of as sine waves, are created from this signal by multiplying the frequency by 154 for the LI channel (frequency= 1575.42 Mhz; wavelength 19.0 cm), and 120 for the L2 channel (frequency=1227. 60 Mhz; wavelength= 24.4 cm). The reason for the second signal is for self-calibration of the delay of the signal in the Earth's ionosphere Information is encoded in the form of binary bits on the carrier signals by a process known as phase modulation. (This is to be compared with signals from radio stations, which are typically encoded using either frequency modulation, FM, or amplitude modulation, AM) The binary digits 0 and I are actually represented by multiplying the electrical signals by either +l or -l, which is equivalent to leaving the signal unchanged, or flipping the phase of the signal by 180. We come back later to the meaning of phase and the generation of the binary code There are three types of code on the carrier signals The C/A code The p code The Navigation Message The C/A (course acquisition )code can be found on the LI channel. As will be described later, this is a code sequence which repeats every I ms. It is a pseudo-random code, which appears to be random, but is in fact generated by a known algorithm. The carrier can transmit the C/a code at 1.023 Mbps(million bits per second). The"chip length", or physical distance between binary transitions(between digits +I and-1), is 293 metres. The basic information that the C/A code contains is the time according to the satellite clock when the signal was transmitted (with an ambiguity of l ms, which is easily resolved, since this corresponds to 293 km). Each satellite has a different C/A code, so that they can be uniquely identified The P("precise")code is identical on both the LI and L2 channel. Whereas C/A is a courser code appropriate for initially locking onto the signal, the P code is better for more precise positioning. The P code repeats every 267 days. In practice, this code is divided into 7 day segments; each weekly segment is designated a"PRN number, and is designated to one of the GPS satellites. The carrier can transmit the P code at 10.23 Mbps, with a chip length of 29.3 metres. Again, the basic information is the satellite clock time or transmission, which is identical to the C/A information, except that it has ten times the resolu Unlike the C/A code, the p code can be encrypted by a process known as"anti-spoo or“A/S”(see below) The Navigation Message can be found on the ll channel, being transmitted at a very slow rate of 50 bps. It is a 1500 bit sequence, and therefore takes 30 seconds to transmit. The Navigation Message includes information on the broadcast Ephemeris(satellite orbital ) satellite clock corrections, almanac data(a crude ephemeris for ionosphere information, and satellite health status 2.3. 2 Denial ofaccuracy
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE 7 The signals from a GPS satellite are fundamentally driven by an atomic clocks (usually cesium, which has the best long-term stability). The fundamental frequency is 10.23 Mhz. Two carrier signals, which can be thought of as sine waves, are created from this signal by multiplying the frequency by 154 for the L1 channel (frequency = 1575.42 Mhz; wavelength = 19.0 cm), and 120 for the L2 channel (frequency = 1227.60 Mhz; wavelength = 24.4 cm). The reason for the second signal is for self-calibration of the delay of the signal in the Earth’s ionosphere. Information is encoded in the form of binary bits on the carrier signals by a process known as phase modulation. (This is to be compared with signals from radio stations, which are typically encoded using either frequency modulation, FM, or amplitude modulation, AM). The binary digits 0 and 1 are actually represented by multiplying the electrical signals by either +1 or −1, which is equivalent to leaving the signal unchanged, or flipping the phase of the signal by 180 o . We come back later to the meaning of phase and the generation of the binary code. There are three types of code on the carrier signals: • The C/A code • The P code • The Navigation Message The C/A (“course acquisition”) code can be found on the L1 channel. As will be described later, this is a code sequence which repeats every 1 ms. It is a pseudo-random code, which appears to be random, but is in fact generated by a known algorithm. The carrier can transmit the C/A code at 1.023 Mbps (million bits per second). The “chip length”, or physical distance between binary transitions (between digits +1 and −1), is 293 metres. The basic information that the C/A code contains is the time according to the satellite clock when the signal was transmitted (with an ambiguity of 1 ms, which is easily resolved, since this corresponds to 293 km). Each satellite has a different C/A code, so that they can be uniquely identified. The P (“precise”) code is identical on both the L1 and L2 channel. Whereas C/A is a courser code appropriate for initially locking onto the signal, the P code is better for more precise positioning. The P code repeats every 267 days. In practice, this code is divided into 7 day segments; each weekly segment is designated a “PRN” number, and is designated to one of the GPS satellites. The carrier can transmit the P code at 10.23 Mbps, with a chip length of 29.3 metres. Again, the basic information is the satellite clock time or transmission, which is identical to the C/A information, except that it has ten times the resolution. Unlike the C/A code, the P code can be encrypted by a process known as “anti-spoofing” , or “A/S” (see below). The Navigation Message can be found on the L1 channel, being transmitted at a very slow rate of 50 bps. It is a 1500 bit sequence, and therefore takes 30 seconds to transmit. The Navigation Message includes information on the Broadcast Ephemeris (satellite orbital parameters), satellite clock corrections, almanac data (a crude ephemeris for all satellites), ionosphere information, and satellite health status. 2.3.2 Denial of Accuracy
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE The U.S. Department of Defense implements two types of denial of accuracy to civilian users: Selective Availability (S/A), and Anti-Spoofing(A/S). S/A can be thought of as intentional errors imposed on the gPs signal. A/S can be thought of as encryption of the P There are two types of S/A: epsilon, and dither. Under conditions of S/A, the user should be able to count on the position error not being any worse than 100 metres. Most of the time, the induced position errors do not exceed 50 metres Epsilon is implemented by including errors in the satellite orbit encoded in the Navigation Message. Apparently, this is an option not used, according to daily comparisons made between the real-time broadcast orbits, and precise orbits generated after the fact, by the International GPS Service for Geodynamics(IGS). For precise geodetic work, precise orbits are recommended in any case, and therefore epsilon would have minimal impact on precise users. It would, however, directly impact single receiver, low-precision users. Even then, the effects can be mitigated to some extent by using technology known as"differential GPS where errors in the gps signal are computed at a reference station at known coordinates, and are transmitted to the user who has appropriate radio receiving equipment Dither is intentional rapid variation in the satellite clock frequency(10.23 MHz). Dither therefore, looks exactly like a satellite clock error, and therefore maps directly into pseudorange errors. Dither is switched on at the moment(1997), but recent U.S. poli statements indicate that it may be phased out within the next decade. As is the case for epsilon, dither can be mitigated using differential GPS. The high precision user is minimally effected by S/A, since relative positioning techniques effectively eliminate satellite clock erro (as we shall see later) Anti-Spoofing(A/S)is encryption of the P-code. The main purpose of A/s is prevent"the enemy"from imitating a GPS signal, and therefore it is unlikely to be switched off in the foreseeable future. A/S does not pose a signficant problem to the precise user, since precise GPS techniques rely on measuring the phase of the carrier signal itself, rather than the pseudoranges derived from the P code. However, the pseudoranges are very useful for various algorithms, particularly in the rapid position fixes required by moving vehicles and kinematic surveys. Modern geodetic receivers can, in any case, form 2 precise pseudorange observabl on the LI and l2 channels, even if A/S is switched on. ( We briefly touch on how this is done n the next section). As a consequence of not having full access to the P code, the phase noise on measuring the L2 carrier phase can be increased from the level of I mm to the level of I cm for some types of receivers. This has negligible impact on long sessions for static positioning, but can have noticeable effect on short sessions, or on kinematic position Larger degradation in the signal can be expected at low elevations(up to 2 cm) where signal strength is at a minimum 3. THE PSEUDORANGE OBSERVABLE
8 GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE The U.S. Department of Defense implements two types of denial of accuracy to civilian users: Selective Availability (S/A), and Anti-Spoofing (A/S). S/A can be thought of as intentional errors imposed on the GPS signal. A/S can be thought of as encryption of the P code. There are two types of S/A: epsilon, and dither. Under conditions of S/A, the user should be able to count on the position error not being any worse than 100 metres. Most of the time, the induced position errors do not exceed 50 metres. Epsilon is implemented by including errors in the satellite orbit encoded in the Navigation Message. Apparently, this is an option not used, according to daily comparisons made between the real-time broadcast orbits, and precise orbits generated after the fact, by the International GPS Service for Geodynamics (IGS). For precise geodetic work, precise orbits are recommended in any case, and therefore epsilon would have minimal impact on precise users. It would, however, directly impact single receiver, low-precision users. Even then, the effects can be mitigated to some extent by using technology known as “differential GPS”, where errors in the GPS signal are computed at a reference station at known coordinates, and are transmitted to the user who has appropriate radio receiving equipment. Dither is intentional rapid variation in the satellite clock frequency (10.23 MHz). Dither, therefore, looks exactly like a satellite clock error, and therefore maps directly into pseudorange errors. Dither is switched on at the moment (1997), but recent U.S. policy statements indicate that it may be phased out within the next decade. As is the case for epsilon, dither can be mitigated using differential GPS. The high precision user is minimally effected by S/A, since relative positioning techniques effectively eliminate satellite clock error (as we shall see later). Anti-Spoofing (A/S) is encryption of the P-code. The main purpose of A/S is prevent “the enemy” from imitating a GPS signal, and therefore it is unlikely to be switched off in the foreseeable future. A/S does not pose a signficant problem to the precise user, since precise GPS techniques rely on measuring the phase of the carrier signal itself, rather than the pseudoranges derived from the P code. However, the pseudoranges are very useful for various algorithms, particularly in the rapid position fixes required by moving vehicles and kinematic surveys. Modern geodetic receivers can, in any case, form 2 precise pseudorange observables on the L1 and L2 channels, even if A/S is switched on. (We briefly touch on how this is done in the next section). As a consequence of not having full access to the P code, the phase noise on measuring the L2 carrier phase can be increased from the level of 1 mm to the level of 1 cm for some types of receivers. This has negligible impact on long sessions for static positioning, but can have noticeable effect on short sessions, or on kinematic positioning. Larger degradation in the signal can be expected at low elevations (up to 2 cm) where signal strength is at a minimum. 3. THE PSEUDORANGE OBSERVABLE
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE In this section, we go deeper into the description of the pseudorange observable, an give some details on how the codes are generated. We develop a model of the pseudorange observation, and then use this model to derive a least-squares estimator for positioning. We discuss formal errors in position, and the notion of"Dilution of Precision,, which can be used to assess the effect of satellite geometry on positioning precision 3.1 CODE GENERATION It helps to understand the pseudorange measurement if we first take a look at the actual generation of the codes. The carrier signal is multiplied by a series of either +l or-1, which are seperated by the chip length(293 m for C/A code, and 29.3 m for P code). This series of +I and-I multipliers can be interpreted as a stream of binary digits(0 and 1) How is this stream of binary digits decided? They are determined by an algorithm, known as a linear feedback register. To understand a linear feedback register, we must first introduce the XOR binary function 3.1.XOR:The“ Exclusive OR” Binary Function a binary function takes two input binary digits, and outputs one binary digit (0 or 1). More familiar binary functions might be the"AND and"OR" functions. For example, the AND function gives a value of I if the two input digits are identical, that is(,0), or(1, 1). If the input digits are different, the AND function gives a value of 0. The OR function gives a value of l if either of the two input digits equals 1, that is(0, 1),(1,0), or(1, 1) The XOR function gives a value of I if the two inputs are different, that is (1, 0)or(0, 1). If the two inputs are the same,(0,0)or(0, 1), then the value is 0 What is XOR(A, B)? Remember this: Is A different to B? If so, the answer is 1. IfA≠B, then Xor(A,B)= If A=B, then XOR(A, B)=0 The XOR function can be represented by the truth table shown in Table I Input Input Output B XOR(A, B) 0 Table 1. Truth table for the xor function 3.1.2 Linear Feedback Registers
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE 9 In this section, we go deeper into the description of the pseudorange observable, an give some details on how the codes are generated. We develop a model of the pseudorange observation, and then use this model to derive a least-squares estimator for positioning. We discuss formal errors in position, and the notion of “Dilution of Precision”, which can be used to assess the effect of satellite geometry on positioning precision. 3.1 CODE GENERATION It helps to understand the pseudorange measurement if we first take a look at the actual generation of the codes. The carrier signal is multiplied by a series of either +1 or -1, which are seperated by the chip length (293 m for C/A code, and 29.3 m for P code). This series of +1 and -1 multipliers can be interpreted as a stream of binary digits (0 and 1). How is this stream of binary digits decided? They are determined by an algorithm, known as a linear feedback register. To understand a linear feedback register, we must first introduce the XOR binary function. 3.1.1 XOR: The “Exclusive OR” Binary Function A binary function takes two input binary digits, and outputs one binary digit (0 or 1). More familiar binary functions might be the “AND” and “OR” functions. For example, the AND function gives a value of 1 if the two input digits are identical, that is (0,0), or (1,1). If the input digits are different, the AND function gives a value of 0. The OR function gives a value of 1 if either of the two input digits equals 1, that is (0,1), (1,0), or (1,1). The XOR function gives a value of 1 if the two inputs are different, that is (1,0) or (0,1). If the two inputs are the same, (0,0) or (0,1), then the value is 0. What is XOR(A,B)? Remember this: Is A different to B? If so, the answer is 1. • If A ≠ B, then XOR(A,B) = 1 • If A = B, then XOR(A,B) = 0 The XOR function can be represented by the “truth table” shown in Table 1. Input A Input B Output XOR(A,B) 0 0 0 0 1 1 1 0 1 1 1 0 Table 1. Truth table for the XOR function. 3.1.2 Linear Feedback Registers
GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE Linear feedback registers are used to generate a pseudorandom number sequence. The sequence is pseudorandom, since the sequence repeats after a certain number of digits(which, as we shall see, depends on the size of the register). However, the statistical properties of the sequence are very good, in that the sequence appears to be white noise. We return to these properties later, since they are important for understanding the measurement process. For now, we look at how the register works I Cycle, N AN=XOR(AN-I) BN=AN. nitialise 1 XOR(1,1)=0 XOR(0,1)=1 4 XOR(1,1)=0 XOR(00)=0 0 XOR(0,1)=1 0 XOR(1,0)=1 8(=1) Table 2. A 3 stage linear feedback register. The output is in column C Table 2 illustrates a simple example: the "3 stage linear feedback register. The"state"of the register is defined by three binary numbers(A, B, C). The state changes after a specific time interval. To start the whole process, the intial state of a feedback register is always filled with 1; that is, for the 3 stage register, the initial state is(1, 1, 1). The digits in this state are now shifted to the right, giving(blank, 1, 1). The digit (1) that is pushed off the right side is the output from the register. The blank is replaced by taking the XOR of the other two digits (1, 1). The value, in this case, equals 0. The new state is therefore(0, 1, 1). This process is then repeated, so that the new output is(1), and the next state is(1,0, 1). The next output is (1)and the next state is(1, 1, 0). The next output is(0), and the next state is(0, 1, 1), and so In the above example, the outputs can be written(1, 1, 1, O,.). This stream of digits known as the linear feedback register sequence. This sequence will start to repeat after a while. It turns out that during a complete cycle, the feedback register will produce every possible combination of binary numbers, except for (0, 0, 0). We can therefore easily calculate the length of the sequence before it starts to repeat again. For a 3 stage register there are 8 possible combinations of binary digits. This means that the sequence will repeat after 7 cycles. The sequence length is therefore 7 bits. More generally, the sequence length L(N)=2 where n is the size of the register(number of digits in the state). For example, a 4 state linear feedback register will have a sequence length of 15 bits 3.1.3 C/A Code
10 GEOFFREY BLEWITT: BASICS OF THE GPS TECHNIQUE Linear feedback registers are used to generate a pseudorandom number sequence. The sequence is pseudorandom, since the sequence repeats after a certain number of digits (which, as we shall see, depends on the size of the register). However, the statistical properties of the sequence are very good, in that the sequence appears to be white noise. We return to these properties later, since they are important for understanding the measurement process. For now, we look at how the register works. Cycle, N AN = XOR(AN-1,C N-1) BN = AN-1 CN = BN-1 1 initialise: 1 1 1 2 XOR(1,1) = 0 1 1 3 XOR(0,1) = 1 0 1 4 XOR(1,1) = 0 1 0 5 XOR(0,0) = 0 0 1 6 XOR(0,1) = 1 0 0 7 XOR(1,0) = 1 1 0 8 (=1) XOR(1,0) = 1 1 1 (pattern repeats) Table 2. A 3 stage linear feedback register. The output is in column C. Table 2 illustrates a simple example: the “3 stage linear feedback register.” The “state” of the register is defined by three binary numbers (A, B, C). The state changes after a specific time interval. To start the whole process, the intial state of a feedback register is always filled with 1; that is, for the 3 stage register, the initial state is (1, 1, 1). The digits in this state are now shifted to the right, giving (blank, 1, 1). The digit (1) that is pushed off the right side is the output from the register. The blank is replaced by taking the XOR of the other two digits (1,1). The value, in this case, equals 0. The new state is therefore (0, 1, 1). This process is then repeated, so that the new output is (1), and the next state is (1, 0, 1). The next output is (1) and the next state is (1, 1, 0). The next output is (0), and the next state is (0, 1, 1), and so on. In the above example, the outputs can be written (1, 1, 1, 0, ....). This stream of digits is known as the “linear feedback register sequence.” This sequence will start to repeat after a while. It turns out that during a complete cycle, the feedback register will produce every possible combination of binary numbers, except for (0, 0, 0). We can therefore easily calculate the length of the sequence before it starts to repeat again. For a 3 stage register, there are 8 possible combinations of binary digits. This means that the sequence will repeat after 7 cycles. The sequence length is therefore 7 bits. More generally, the sequence length is: L(N) = 2 N −1 where N is the size of the register (number of digits in the state). For example, a 4 state linear feedback register will have a sequence length of 15 bits. 3.1.3 C/A Code