EE navigations system

profilerramos
GPS_09_Slides_OLS_Solution1.pdf

Michael S. Braasch, Ph.D., P.E., Fellow Ion Ohio University Avionics Engineering Center, Director

GPS: Theory & Practice

Part 9: Ordinary Least Squares Solution

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

STAND-ALONE GPS POSITIONING

2

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

ERROR CONSIDERATIONS The pseudorange observation equation shows us there are two primary sources for error:

We will get into the details of the errors in the remainder of the course

PRi = xu − xi( )

2 + yu − yi( )

2 + zu − zi( )

2 + bu

Receiver measurement Satellite position

calculation

3

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

STAND-ALONG POSITIONING (CONT’D)

In the absence of errors

PRi = pseudorange to the i-th satellite bu = receiver (user) clock offset or bias (converted to units of distance through multiplication by the speed of light) Four unknowns ( xu, yu, zu, bu), thus we need at least four independent measurements. However… Highly non-linear equation! Traditionally solved via linearization of a Taylor series expansion

PRi = xu − xi( )

2 + yu − yi( )

2 + zu − zi( )

2 + bu

4

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

LINEARIZATION

Recall the Taylor series for a scalar function, f(x)

The series is valid ‘in the neighborhood’ of x = c We can linearize the above equation by only retaining the first two terms in the series For the pseudorange equation, however, we must deal with the fact that it is a function of four variables, not one

f x( ) = f c( )+ ′f c( )⋅ x − c( )+ ′′f c( )

2! ⋅ x − c( )2 +

5

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

PSEUDORANGE EQN LINEARIZATION

PRi = PRio + xo − xi

PRio − bo xu − xo( )+

yo − yi PRio − bo

yu − yo( )+ zo − zi

PRio − bo zu − zo( )+1⋅ bu − bo( )

where : xo , yo , zo , bo = initial guess of the user state

PRio = pseudorange from the i th satellite to

the initial guess state

Let : δ x = xu − xo ; δ y = yu − yo ; δ z = zu − zo ; δb = bu − bo ; δ PRi = PRi − PRio

Then : δ PRi = xo − xi

PRio − bo δ x +

yo − yi PRio − bo

δ y + zo − zi

PRio − bo δ z +1⋅δb

6

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

ORDINARY LEAST SQUARES (OLS) SOLUTION

The last equation on the previous slide is linear in the four unknowns Standard linear algebra can then be applied to the solution

where

δ PR1 δ PR2 δ PR3 

δ PRN

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

H11 H12 H13 H14 H21 H22 H23 H24 H31 H32 H33 H34    

H N 1 H N 2 H N 3 H N 4

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

δ x δ y δ z δb

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

⇒ y = Hβ

H k1 =

xo − xk PRio − bo

; H k 2 = yo − yk

PRio − bo ; H k 3 =

zo − zk PRio − bo

; H k 4 = 1

7

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

OLS SOLUTION (CONT’D) In reality, the measurements contain errors and thus a more complete representation would be

where epsilon is simply the vector of measurement errors The OLS solution is then given by:

y = Hβ + ε

βOLS = H

T H( )−1 H T y 8

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

OLS SOLUTION (CONT’D) At this point we must remember that we have only solved for the deltas Our total solution, then is given by:

Note the hat or carrot symbol simply means ‘estimate’

x̂u ŷu ẑu b̂u

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

xo yo zo bo

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

+

δ xOLS δ yOLS δ zOLS δbOLS

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

9

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

OLS SOLUTION (CONT’D)

Two questions that need to be answered: #1) Where did the initial guess (xo, yo, zo, bo) come from in the first place? #2) What happens if the initial guess is not close to the truth and hence the linearized pseudorange equation is not a good approximation?

For near earth users, we can simply set all four initial guess components equal to zero (i.e., center of the earth and zero clock bias)

10

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

OLS SOLUTION (CONT’D)

When initializing everything to zero, the first total solution will NOT give the correct values However, the first solution WILL be closer to the truth than the initial guess. This new solution can then serve as the initial guess and the whole process can be iterated This process can simply be iterated until the total solution converges (usually five to seven times) Once the solution has converged, then the solution at time k can serve as the initial guess for the solution at time k+1 and only a single solution step is required

11

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

EFFECT OF SV CLOCK OFFSET

The SV clock offset must be computed and the corresponding pseudorange must be compensated accordingly Position solution will be off, typically, by tens of kilometers if this is not done The SV clock offset is multiplied by the WGS-84 speed-of- light and then added to the pseudorange measurement Note the subtraction indicated in IS-GPS-200 (see the last page of Part 3 ‘Time References’) is used in computing the time-of-transmission. An earlier TOT yields a larger PR This correction to the pseudorange needs to be performed, obviously, before the user position solution is computed

12

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

EFFECT OF EARTH ROTATION

The aforementioned position solution would be sufficient were it not for the fact that the earth rotates The equations require knowledge of the satellite position at the time-of-transmission (TOT). However, we want to solve for the user position at the time-of-reception (TOR). The problem is that both user and satellite positions are described in earth-centered earth-fixed (ECEF) coordinates and the ECEF coordinate frame is not in the same orientation at TOR that it was at TOT If this phenomenon is not taken into account, the horizontal position can be off by as much as 30 meters

13

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

EARTH ROTATION CORRECTION

Estimate signal-transit-time by dividing the pseudorange by the WGS-84 speed-of-light (the pseudorange needs to be corrected for SV clock offset and, optionally, for receiver clock offset) Compute the amount of earth rotation by multiplying the signal-transit-time by the WGS-84 earth angular rate Compute a rotation matrix (around the z-axis) for the earth rotation angle Multiply the rotation matrix times the SV position vector to get the corrected SV position vector

14

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

EARTH ROTATION CORRECTION (CONTINUED)

ttransit i =

PRi − b̂u c

+ Δtsv

θearth = ω ie ⋅ttransit i

Ri = cθ sθ 0 −sθ cθ 0 0 0 1

⎢ ⎢ ⎢

⎥ ⎥ ⎥

corrected _ sv i _ pos = Ri * x svi

y svi

z svi

⎡ ⎣⎢

⎤ ⎦⎥

T

15

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

OLS VELOCITY SOLUTION • The ordinary least squares velocity solution is

similar to the position solution. It’s actually easier since the line-of-sight velocity equation is linear from the start

Where: = measured delta-range to satellite i = velocity vector of satellite i = velocity vector of the receiver = unit vector from the receiver to satellite i = receiver clock offset rate (i.e., frequency bias)

DRi = vi ⋅ûi − v ⋅ûi + b

vi v ûi b

16

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

The first term on the right-hand side is known and can be incorporated into the ‘measurement’:

Now define:

Thus:

Or: 17

! DRi = DRi " vi #ûi = "v #ûi + !b

!

i1 = "uxi ; !i 2 = "uyi ; !i3 = "uzi ; !i 4 = 1

! DR1 ! DR2 ! DR3 !

! DR N

"

#

$ $ $ $ $ $ $

%

&

' ' ' ' ' ' '

=

(11 (12 (13 (14 (21 (22 (23 (24 (31 (32 (33 (34 ! ! ! !

( N 1 ( N 2 ( N 3 ( N 4

"

#

$ $ $ $ $ $ $

%

&

' ' ' ' ' ' '

v x

v y

v z

"b

"

#

$ $ $ $ $

%

&

' ' ' ' '

y = H! Thus : !OLS = H

T H( )"1 H T y

OLS VELOCITY SOLUTION (CONT’D)

Copyright © 2010 by Michael S. BraaschGPS: Theory & Practice: Part 9 - OLS Solution

TIME AND FREQUENCY ESTIMATION

So far we have focused on determination of user position and velocity However, in the process we have also solved for the user’s clock offset (bias) and clock drift (or equivalently, the clock’s frequency offset) The receiver’s estimate of time can then be corrected to an accuracy on the order of tens of nanoseconds

18

tcorrected = traw ! b̂u