GPS 101 HOW GPS WORKS University of Idaho GIS Day November 19, 2014 Dr. Lawrence R. Weill lweill@cs.com PRE-SATELLITE RADIONAVIGATION SYSTEMS LF Radio Direction Finding (~1900 to present): Angle-based position fixing and homing. Radar (1934-1939 to present): Angle- and range-based positioning relative to surrounding objects. Omega (1971 to 1997): Hyperbolic phase-difference positioning on a global scale. DECCA (1944-2001): European hyperbolic phase difference positioning. Loran A (1942 to 1980), Loran C (1974 to present): Hyperbolic TOA difference positioning. VOR/DME (1946 to present): Aviation angle- and range-based position fixing and homing using VHF and UHF frequencies. TACAN (~1960 to present): Military version of VOR/DME. LF RADIO DIRECTION FINDING RADIOBEACON F RD RADIOBEACON LL NU NE LI POSITION FIX E LIN L L NU F RD NORTH NORTH COMPASS AZIMUTHS LO P #1 LORAN & DECCA POSITIONING (HYPERBOLIC) LO P #2 SLAVE MASTER SLAVE POSITION FIX MASTER ACCURACY OF PRE-SATELLITE RADIONAVIGATION SYSTEMS OMEGA GLOBAL VOR/DME LOCAL TACAN DECCA, LORAN C 180 M 400 M 900 M 2200 M 1957: SPUTNIK, WORLD’S FIRST SATELLITE DOPPLER-BASED SATELLITE NAVIGATION Sputnik gave rise to satellite radionavigation using Doppler. 1957: Scientists at MIT noted frequency variation of Sputnik’s signal due to Doppler, and realized this can be used to track the satellite’s location. In reverse, the received Doppler frequency variation can be used to find the position of the receiver. 1959: The Doppler principle for finding location was used in TRANSIT, the first operational satellite-based navigation system. It was developed by Johns Hopkins Applied Physics Laboratory (APL) to support the U.S. Navy submarine fleet, and eventually used 10 low-earth orbit satellites. Transit positioning accuracy was roughly 400 meters. Ships had to wait for satellite passes and resolve a cross-track ambiguity. Ship movement complicated the process of establishing a position. TRANSIT POSITIONING (DOPPLER CURVE) DOPPLER SHIFT AT POINT A DOPPLER SHIFT AT POINT B 0 TIME B A SATELLITE GROUND TRACK EVOLUTION OF GPS (1) 1960: Raytheon Corporation suggests the first 3-D TDOA satellite navigation system (MOSAIC) for the Mobile Minuteman ICBM system. MOSAIC was dropped in 1961 when the Mobile Minuteman program was cancelled. 1963: Aerospace Corporation develops its concept of a 3-D satellite navigation system. The Air Force supports this effort and designates it System 621B, which later demonstrated a new pseudorandom noise (PRN) ranging signal. 1964: The Naval Research Laboratory (NRL) develops the Navy Timation satellite system for advancing the development of highstability clocks in space, an important foundation for GPS. The first Timation satellite is launched in 1967. 1964-1973: Various groups, including the Army, Navy, and Air Force, are engaged in satellite navigation concept debates. EVOLUTION OF GPS (2) December 17, 1973: The NAVSTAR GPS concept is solidified. 1973 to 1979: GPS concept validation takes place. July 14, 1974: The very first NAVSTAR satellite is launched, carrying an atomic clock. 1978 to 1985: 10 Block I GPS satellites, used for full-scale development and testing of the GPS system, are launched. 1989 to 1994: 24 Block II operational satellites are launched. December 1990: GPS system becomes operational. April 1995: GPS reaches full operational capability. GPS Constellation 6 Orbits 55o Inclination 20,200 km Altitude ~ 32 Sats 11 hr 56 min Orbital Period (X1,Y1,Z1) 2D POSITIONING EARTH E NC A T DIS 0 Km 50 24, POSITION FIX TYPICAL ACCURACY 10 - 30 METERS DIS 23, TA N 500 CE Km (X2,Y2,Z2) (X,Y,Z) Satellite "Next pulse xmitted at time T1 and satellite position (X,Y, Z)" Pulse Receiver Message T1 Signal speed = c Atomic satellite clock Receiver clock T1 Message T2 Atomic satellite clock Receiver clock T2 Distance = c x (T 2 - T 1) COPs WITH FAST RCVR CLOCK SAT # 2 SA COP COPs WITH SYNCHRONIZED SAT & RCVR CLOCKS C T #1 OP SATELLITE RA NG E PS EU RECEIVER DO RA N GE RC CL VR O ER CK RO R RCVR CLOCK ERROR CAUSES NON-CONCURRENT INTERSECTIONS SA SAT # 2 COP # OP C 3 T SA C T #1 OP 2D POSITIONING EQUATIONS X ,Y , Z receiver position GPS also provides very accurate time! Ce receiver clock error (m) xk , yk , zk position of k th satellite k pseudorange to k th satellite 1 x1 X y1 Y z1 Z Ce 2 x2 X y2 Y z2 Z 3 x3 X y3 Y z3 Z 2 2 2 2 2 2 2 2 Ce 2 Ce X 2 Y 2 Z 2 R radius of earth 6.37 106 m NOISE Each pulse replaced by One period of pseudorandom code TRANSMISSION OF REPEATING CODE PERIODS INSTEAD OF TRANSMITTING A SEQUENCE OF PULSES, TIME GPS SATELLITES TRANSMIT A STREAM OF REPEATING CODE PERIODS: CODE EPOCHS (BEGINNING OF PERIODS) N N+1 PERIODS N+2 N+6 1023 CHIPS 1 MSEC PERIOD ONE PERIOD OF C/A CODE EPOCH 1 CHIP (0.9775 m icros e c or 293 m ) 1 -1 1023 CHIPS = 1 C/A CODE PERIOD = 1 M ILLISECOND 1.023 M HZ CHIPPING RATE Each satellite has its own unique C/A code WHY USE A PSEUDORANDOM CODE? ● A pseudorandom code can have much greater energy than a short pulse while still providing high-resolution measurement of range. ● The high resolution is accomplished by a correlation process. ● Correlation also provides protection from any interfering signal that does not match the pseudorandom code being used. ● By using a unique pseudorandom code for each satellite, all satellites can transmit on the same frequency without mutual interference. CORRELATION RECEIVED CODE 1 MULTIPLY ACCUMULATE -1 1 -1 RECEIVER-GENERATED CODE REPLICA CORRELATION OUTPUT RECEIVED CODE 1 -3 chip misalignment -1 Sum of chip products = -4 1 -1 REPLICA GENERATED BY RECEIVER 1 Alignment -1 1 Sum of chip products = 35 -1 1 1 -1 +3 chip misalignment Sum of chip products = -4 -1 CORRELATION FUNCTION RECEIVED CODE 4 CHIPS EARLY CODES ALIGNED RECEIVED CODE 4 CHIPS LATE DELAY, CHIPS -4 -3 -2 -1 0 1 2 3 4 CORRELATOR REJECTION CAPABILITY MULTIPLY ACCUMULATE SMALL OUTPUT ACCUMULATE SMALL OUTPUT ACCUMULATE SMALL OUTPUT (ALL SATS CAN TRANSMIT ON SAME FREQUENCY!) NOISE MULTIPLY INTERFERENCE MULTIPLY CODE FROM ANOTHER SAT RECEIVED CODE TOO EARLY EARLY-LATE CODE TRACKING DELAY RECEIVED CODE ALIGNED EARLY CORRELATION PUNCTUAL CORRELATION LATE CORRELATION DELAY RECEIVED CODE TOO LATE DELAY GPS CODE TRACKING LOOP LP FILTER LP FILTER FE FP DESPREAD SIGNAL RECEIVED SIGNAL LP FILTER IN NOISE FL (LP FILTERS ACT AS ACCUMULATORS) CODE EARLY FL2 - F E CODE CODE PUNCTUAL 2 "CLEAN" CODE ALIGNED WITH RECEIVED CODE LATE ERROR SIGNAL 3-BIT SHIFT REGISTER CODE GENERATOR CODE CONTROL C/A Code Period Most Recent Tracking Code Epoch X1 = time into code period Rcvr Clock Sat #1 Time T1 = xmit time of epoch C/A Code Epoch X2 Sat #2 T2 X3 Sat #3 T3 X4 Sat #4 T4 TRCVE th Pseudorange to k satellite = c[TRCVE - (Tk + Xk)] meters 50 BPS DATA BIT STRUCTURE 1 2 3 19 20 NORMAL C/A CODE FOR DATA BIT = 1 INVERTED C/A CODE FOR DATA BIT = 0 1 2 3 ONE DATA BIT LENGTH = 20 MSEC 20 C/A CODE PERIODS 19 20 L1 CARRIER C/A CODE 50 BPS DATA TRANSMITTED SIGNAL GPS DATA FRAME Subframe # 0 30 60 TIME 1 300 330 600 630 360 900 930 1200 1230 TIME 6 600 12 900 660 EPHEMERIS OF TRANSMITTING SATELLITE 18 1200 960 TIME 4 300 EPHEMERIS OF TRANSMITTING SATELLITE TIME 3 Bit Numbers CLOCK CORRECTION TIME 2 5 Preamble (1 0 0 0 1 0 1 1) at Beginning of Each Subframe Elapsed Time (Seconds) ALMANAC (PAGES 1-25) 24 1500 1260 ALMANAC (PAGES 1-25) 30 GPS RECEIVER OPERATIONS AT TURNON ● Determine visible satellites and approximate Dopplers: Uses approximate receiver position (if known) and stored almanac data. ● Signal acquisition: Search for each visible satellite, both in frequency and code shift. ● Signal tracking: Track the code and carrier of each satellite. ● Bit synchronization: Determine start times of bits in the 50 bps navigation data message. ● Read navigation data message: Get timing and ephemeris data to put transmit time tags on received code epochs and establish positions of satellites. Ephemeris data may take up to 30 seconds. ● Make code and/or carrier pseudorange measurements. ● Solve positioning equations. PSEUDORANGE ERROR SOURCES Ionospheric Error: Up to 20-30 meters. Reduced by dual-frequency operation, reference station corrections, and differential GPS (DGPS). Tropospheric Error: Up to 20 meters. Reduced by tropospheric model corrections, using higher-elevation satellites, and DGPS. Multipath: Up to 30-40 meters. Reduced by avoiding nearby reflectors, using receiver multipath mitigation technology, and using higher bandwidth signals. Not reducible by DGPS. Satellite Clock and Ephemeris Errors: Generally below 1 meter. Almost completely eliminated by DGPS. Receiver Errors (Thermal Noise, Processing): Generally below 13 meters. Reduced by improved signal processing in HW or SW. POSITION DILUTION OF PRECISION (PDOP) PDOP is a number indicating the ratio of position accuracy to pseudorange accuracy. It depends on satellite position geometry. Poor Geometry (PDOP = ~18) SAT #3 SAT #1 SAT #2 SAT #1 SAT #3 Good Geometry (PDOP = ~3) SAT #2 CODE-BASED DIFFERENTIAL GPS (Sub-meter Positioning Accuracy) ROVER GPS POSITION R CTO E V NT BASE STATION GPS POSITION POSITION ERROR E CEM A L P IS ED D T A IM EST E TRU R CTO E V T M EN E C LA DISP POSITION ERROR ROVER TRUE POSITION BASE STATION TRUE POSITION POSITION ERRORS EQUAL DISPLACEMENT VECTORS EQUAL CODE-BASED DIFFERENTIAL GPS METHODS METHOD 1 BASE STATION SEND BASE STATION POSITION ERROR VECTOR ROVER ROVER SUBTRACTS ERROR VECTOR FROM ROVER GPS POSITION METHOD 2 BASE STATION SEND PSEUDORANGES & XMIT TIMES OF OBSERVED SATS, ROVER AND BASE STATION TRUE LOCATION BASE OBSERVED SATS: ROVER OBSERVED SATS: 3 4 7 11 16 2 4 6 7 11 13 16 22 METHOD 2 ROVER OPERATIONS: 1. Use only data from sats observed in common. 2. Compute rover GPS position. 3. Use pseudoranges and xmit times received from base station to compute base station GPS position. 4. Compute base station position error vector and subtract it from rover GPS position. GPS RECEIVER CARRIER TRACKING FREQUENCY COMPARATOR CARRIER + NOISE FREQ. ERROR LOWPASS FILTER FREQUENCY CONTROL cos(t + ) OSCILLATOR cos( t + 0) + n(t) PHASE COMPARATOR PHASE ERROR LOWPASS FILTER PHASE CONTROL "CLEAN" COPY OF CARRIER WITH = 0 and = 0 DIFFERENTIAL CARRIER PHASE CARRIER AT BASE STATION CARRIER AT ROVER 1 CYCLE TIME 1/3 CYCLE PHASE DELAY DELAYS OF 1-1/3 CYCLES, 2-1/3 CYCLES, ETC. LOOK THE SAME AS A DELAY OF 1/3 CYCLE DIFFERENTIAL CARRIER PHASE PRINCIPLE SATELLITE AT KNOWN POSITION CRESTS OF CARRIER WAVE 0< Ca M <1 MEASURED BASE-TO-ROVER PHASE DIFFERENCE IS (y - x) + (M - N) CYCLES s r Cycle Carrie 0 <= x +y cm N+x rrie = y r Cy < 1 cle s 9 =1 M - N IS AN INTEGER AMBIGUITY ROVER BASE STATION AT KNOWN POSITION SECOND-DIFFERENCE CARRIER PHASE PRINCIPLE SAT #1 SAT #2 SATELLITES AT KNOWN POSITIONS = 19 RECEIVED SAT 1 - SAT 2 CARRIER PHASE DIFFERENCE: M + y Cycles ROVER SECOND DIFFERENCE: ROVER SAT 1-2 DIF MINUS BASE SAT 1-2 DIF cm RECEIVED SAT 1 - SAT 2 CARRIER PHASE DIFFERENCE: N + x Cycles BASE STATION AT KNOWN POSITION DIFFERENTIAL CARRIER PHASE POSITIONING (Centimeter-level Accuracy) SATS 1& SA TS 1&5 3 SATS 1 & 2 SA TS 1 & 4 ROVER TRUE RELATIVE POSITION DISTANT AMBIGUITIES REMOVED BY CODE DIFFERENTIAL POSITIONING GPS MODERNIZATION: NEW CIVILIAN SIGNALS L1 C/A: The legacy civil signal, which will continue to be broadcast on L1 frequency 1575.42 MHz. L2C: ● Signal on L2 frequency 1227.60 MHz, currently broadcast by seven satellites. ● Enables L1/L2 ionospheric error corrections. ● Higher transmitted power level for faster signal acquisition and better positioning accuracy. L5: ● Signal on L5 frequency 1176.45 MHz. ● Technically advanced signal with higher power and greater bandwidth L1C: ● Signal at L1 frequency designed to enable interoperability betweeen GPS and international GNSS systems. MAGELLAN SYSTEMS ● Ad in Los Angeles Times, 1986 ● Technical Founders of Magellan Systems: Don Rea (hardware), Norm Hunt (software), Larry Weill (algorithms) ● Seed money from Ed Tuck ● Design challenges with steep learning curve ● Difficulty finding investors willing to commit ● Don’s breadboard Magellan NAV 1000: World’s first handheld GPS receiver, first sold in 1989. Single-channel slow sequencing design. Approximately the size of a brick. Weight approximately 1 ½ lbs. Rotatable quadrifilar antenna. Dot-matrix LCD display. Powered by 6 AA alkaline cells. Battery life approximately 4 hrs. TTFF from cold start 1 to 3 min. MEMORABLE EVENTS ● Discovery of map error ● Communicating with aliens ● Saving lives ● NAV 1000 in the Gulf War—Iraq invades Kuwait in 1990 ● Two new products designed under the radar ● BTG vs. Magellan ● Magellan in the Time and Navigation exhibit at the Smithsonian National Air and Space Museum