Lecture02_GPS_part1_pseudorange
Lecture02_GPS_part1_pseudorange
Pseudorange
GEOS 655 Tectonic Geodesy
Jeff Freymueller
GPS Design Timeline
• NAVSTAR = NAVigaEon System
with Timing and Ranging
• Always-on, instant global
posiEoning
• Development began in 1973
• First satellites launched 1978
• User equip tests 1980
• 1983: Korean Air 007 shot down by
Soviet Union
– Plane had strayed a considerable
distance into Soviet airspace
– Led US Pres. Reagan to mandate
future civilian use of GPS
GPS User Hardware – Old!
GPS User Hardware – Modern!
Different Modes of Use
Naviga&on Surveying
• Instantaneous • Usually post-process
• Single staEon • Usually mulE-staEon
• Original intended use • Science or survey
• Accuracy • Accuracy
– Few meters – 1-2 cm at worst
– Sub-meter w/differenEal – 1-2 mm at best
correcEons • Also “seismology”
Basic Principles: Surveying
• Requires data from n ≥ 4 satellites, m ≥ 2 receivers
– Point posiEoning approaches work with 1 receiver
• Requires conEnuous tracking over Eme
• Post-processed but real-Eme being developed
• Use pseudorange and carrier phase measurements
from each satellite to receiver
• Orbits of satellites fixed or esEmated
• Clock error on satellites esEmated or differenced out
• EsEmate receiver posiEon (X,Y,Z) and clock error
• Model a wide variety of path delays and other effects
PosiEoning By Ranging 1
A 2D example: If you know you are a certain distance from Boise, your
position could be anywhere on the circle.
PosiEoning By Ranging 2
With two distances, you know you are at one of two points.
PosiEoning By Ranging 3
These are the paths you would see in the sky if you could see the satellites
GPS Signal Structure
• Three frequencies at L-band, L1, L2, and L5
– L1 at 154*10.23 MHz (~19 cm)
– L2 at 120*10.23 MHz (~24 cm)
– L5 at 115*10.23 MHz (~25 cm)
• Codes Modulated (phase modulaEon) onto each carrier
– P-code at 10.23 MHz on L1 + L2
– C/A (Coarse AcquisiEon) code at 1.023 MHz on L1 + L2 (new
L2C)
– NavigaEon message at 50 bits per second
• P and C/A codes are types of pseudo-random noise
(PRN) codes
Types of signal modulaEon
Amplitude
Modulation (AM)
Frequency
Modulation (FM)
Phase
Modulation (PM)
Satellite Signals
Precision of ObservaEons
“chip length” • Code “chip length” is the
distance associated with
each bit of the code.
– C/A: 293 m
• Repeats every ~300 km
– P: 29.3 m
• Carrier wavelength is
analogous to chip length
== 2-3 orders of
magnitude more precise
Denial of Accuracy
• US DoD can reduce accuracy for real-Eme civilian users
• (S/A) SelecEve Availability – on from 1990s to late
1990s
– Epsilon (introduce errors in navigaEon message)
– Dither (introduce rapid variaEon in SV clocks)
– Military receivers have special chips to undo this
• (A/S) AnE-Spoofing – on since 1994
– EncrypEon of P-code
– Prevents “the enemy” from imitaEng (spoofing) GPS signal
– Modern receivers get around this encrypEon in various ways
(including a near-reverse-engineering in one case).
Pseudo-Random Noise
• Computers cannot generate true random
numbers, but can generate a sequence of
numbers with random staEsEcal properEes.
– But the sequence can be repeated exactly
– Begin with some starEng value, then perform a
series of operaEons
• C/A code has 1023 bits, repeats 1000 Emes
per second
• P code has a lot of bits, repeats every 266.4
days; each SV gets a 7-day piece of code
Code CorrelaEon for Ranging
Receiver generates a copy of the (known) code and correlates with the received code
Pseudorange ObservaEon Model
• The correlaEon Eme shis gives an esEmate of
the travel Eme, which is the fundamental
pseudorange measurement.
– Travel Eme = (Eme of recepEon) – (Eme of
transmission)
• PS = (T – TS)c
– T = receiver clock reading at recepEon
– TS = satellite clock reading at transmission
– c = speed of light = 299792458 m/s
AccounEng for Clock Biases
• Clock bias or clock error?
– Error == mistake
– Error == bias, measurement error
– Error == esEmate of uncertainty in the above
• VLBI “removed” clock errors by using ultra-
stable hydrogen maser clocks
– VLBI actually models clock biases as quadraEc
• GPS must esEmate receiver clock bias (and
satellite clock bias for high precision work)
ObservaEon Model with Clocks
• PS = (T – TS)c
– T=t+τ |τ| ≤ 1 millisecond
f(x) =
Linearizing Part 2
• We approximate by
taking just the linear
terms of the Taylor
Series.
• We linearize about
approximate values
(a,b)
• ParEal derivaEves are
computed at (a,b)
Linearizing Our EquaEons
• We linearize our equaEons about approximate
values (x0, y0, z0, τ0)
∂P ∂P ∂P ∂P
P(x, y,z, τ ) = P(x 0 , y 0 ,z0 , τ 0 ) + ( x − x 0 ) + ( y − y 0 ) + ( z − z0 ) + (τ − τ 0 )
∂x ∂y ∂z ∂τ
∂P ∂P ∂P ∂P
P(x, y,z, τ ) = P(x 0 , y 0 ,z0 , τ 0 ) + Δx + Δy + Δz + Δτ
∂x ∂y ∂z ∂τ
∂P ∂P ∂P ∂P
P(x, y,z, τ ) − P(x 0 , y 0 ,z0 , τ 0 ) = Δx + Δy + Δz + Δτ
∂x ∂y ∂z ∂τ
∂P ∂P ∂P ∂P
Pobserved − Pcomputed = Δx + Δy + Δz + Δτ
∂x ∂y ∂z ∂τ
€
ObservaEon Model
• To solve these equaEons, we need to write
them in the form of an observaEon model.
– ObservaEons = Model + measurement noise
• Pobserved = P(x,y,z,τ) + v
∂P ∂P ∂P ∂P
Pobserved = Pcomputed + Δx + Δy + Δz + Δτ + v
∂x ∂y ∂z ∂τ
∂P ∂P ∂P ∂P
Pobserved − Pcomputed = Δx + Δy + Δz + Δτ + v
∂x ∂y ∂z ∂τ
⎛ Δx ⎞
⎜ ⎟
⎛ ∂P ∂P ∂P ∂P ⎞⎜ Δy ⎟
ΔP = ⎜ ⎟⎜ ⎟ + v
⎝ ∂x ∂y ∂z ∂τ ⎠ Δz
⎜ ⎟
⎝Δτ ⎠
Matrix EquaEon
• It is easier to deal with this equaEon if we
write it as a matrix equaEon:
⎛ ∂P (1) ∂P (1) ∂P (1) ∂P (1) ⎞
⎜ ⎟
⎜ ∂x ∂y ∂z ∂τ ⎟
⎛ ΔP ⎞ ∂P (2)
(1)
∂P (2) ∂P (2) (2) ⎛ Δx ⎞ ⎛ v (1) ⎞
∂P ⎟
⎜ (2) ⎟ ⎜ ⎜ ⎟ ⎜ (2) ⎟
⎜ ΔP ⎟ = ⎜ ∂x ∂y ∂z ∂τ ⎟⎜ Δy ⎟ ⎜ v ⎟
+ (3)
⎜ ΔP (3) ⎟ ⎜ ∂P (3) ∂P (3) ∂P (3) (3) ⎟
∂P ⎜ Δz ⎟ ⎜ v ⎟
⎜ (4 ) ⎟ ⎜ ∂x ∂y ∂z
⎟⎜ ⎟ ⎜ ⎟
∂τ ⎟⎝Δτ ⎠ ⎝ v (4 ) ⎠
⎝ΔP ⎠ ⎜ (4 )
⎜ ∂P ∂P (4 ) ∂P (4 ) ∂P (4 ) ⎟
⎜ ⎟
⎝ ∂x ∂y ∂z ∂τ ⎠
€
Evaluate the ParEal DerivaEves
• This is osen wriyen in matrix form like
– b = Ax + v A is called the “Design matrix”
– If ρ(i) = [ (x0 – x(i))2 + (y0 – y(i))2 + (z0 – z(i))2 ]1/2
⎛ x 0 − x (1) y 0 − y (1) z0 − z(1) ⎞ These have the form
⎜ (1)
c⎟ of trig functions, and
⎜ ρ ρ (1) ρ (1) ⎟ can also be written in
(2)
x
⎜ 0 − x y 0 − y (2) z0 − z(2) terms of the azimuth
c⎟ to the satellite and
⎜ ρ (2) ρ (2) ρ (2) ⎟
A =⎜ the inclination of the
x 0 − x (3) y 0 − y (3) z0 − z(3) ⎟
satellite above the
⎜ (3)
c⎟ horizon.
⎜ ρ ρ (3) ρ (3) ⎟
⎜ x 0 − x (4 ) y 0 − y (4 ) z0 − z(4 ) ⎟
⎜ (4 )
c⎟
⎝ ρ ρ (4 ) ρ (4 ) ⎠
Solving the EquaEons
• If there are 4 observaEons exactly, then the
system of equaEons can be solved exactly:
– b = Ax + v è x = A-1b (noise v = 0 is assumed)
• In general, we will have more than 4 satellites
observed at a Eme. So how do we find the
“best” soluEon. Least squares!
– Least squares soluEon minimizes the sum of
squares of residuals, that is
– Find the x that gives the minimum vTv.
Least Squares SoluEon
• The least squares soluEon, for equally
weighted data, is
– x’ = (ATA)-1ATb
• This assumes that (ATA)-1 exists. It will exist as
long as there are 4 or more satellites located
in disEnct direcEons in the sky. Two satellites
located in exactly the same place would count
as one.
Biases and Errors
• Suppose we know what the
measurement errors are. How would
these known errors bias our esEmates
of posiEon (and clock bias)?
– vx = (ATA)-1ATv
– You might use this to determine
whether a newly discovered error has a
big impact on your esEmated
parameters, but in general you would
simply want to correct the data!
• In reality, you don’t know the
measurement errors, but you may know
their staEsEcal properEes. For example,
you may know that the mean
measurement error is 0, with In this case:
uncertainty σ, and that the Expectation: E(v) = 0
measurement errors follow a Gaussian Covariance: C = E(vvT) = σ2I
or normal distribu&on.
Covariance Matrix
• The covariance is given as a (symmetric)
matrix. For the problem we have just solved,
– Cx = σ2(ATA)-1
– σ2 is the data noise. (ATA)-1 relates only to the
geometry.
• Or in terms of the components:
⎛ σ x2 σ xy σ xz σ xτ ⎞
⎜ 2 ⎟
σ
2 ⎜ yx
σ y σ yz σ yτ ⎟
Cx = σ
⎜σ zx σ zy σ z2 σ zτ ⎟
⎜ 2⎟
⎝σ τx σ τy σ τz σ τ ⎠
Local Coordinates
• You can also transform the XYZ coordinates to
local coordinates (east, north, height). We’ll
leave the equaEons for that for later. But if
you take just the coordinates part of the
covariance, you get:
⎛ σ e2 σ en σ eh ⎞
2⎜ ⎟
CL = σ ⎜σ ne σ n2 σ nh ⎟
⎜σ σ h2 ⎟⎠
⎝ he σ hn
DOPs – DiluEon of Precision
• Your handheld GPS probably reports a number called
“PDOP”, which stands for “PosiEon DiluEon of
Precision”. These are other DOPs as well, which all give
measures of how the satellite geometry maps into
posiEon or Eme precision.
– VDOP = σh
– HDOP = (σe2 + σn2)1/2
– PDOP = (σe2 + σn2 + σh2)1/2 PDOP > 5 considered poor