26
2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W. 23 March - 9 April, 2009 Navward U.S.A. Introduction to GPS Receiver Design Principals (Part 6)

2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

2025-9

Satellite Navigation Science and Technology for Africa

Ward Phillip. W.

23 March - 9 April, 2009

NavwardU.S.A.

Introduction to GPS Receiver Design Principals(Part 6)

Page 2: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Session VI - CodeExtracting measurements from code and carrier loops

Extracting measurements from code loopPseudorange definitionSatellite transmit time relationship to code phasePseudorange measurementRelationship between PRN code generator and code accumulatorMeasurement time skewCode (time) accumulatorMaintaining the code accumulatorObtaining a measurement from the code accumulatorObtaining transmit time from C/A codeSynchronizing code accumulator to replica code generatorAdding a code setter to code generatorC/A-code setupObtaining transmit time from the C/A-codeGPS C/A-code timing relationshipsGPS navigation messageExample of bit sync error in C/A-code

Page 3: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Pseudorange definition

Pseudorange to SVi where i is PRN number:

PRi(n) = c [ TR(n) - TTi(n) ](meters) where: c = GPS propagation constant

= 2.99792458 X 108 (m/s)TR(n) = receive time at epoch n of the GPS receiver's clock (seconds)TTi(n) = transmit time based on SVi clock (seconds) of measurement at epoch n

Page 4: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

φ1 φ2 φ3 φ4 φk φk + 1

T1 T2 T3 T4 Tk Tk+1

End of week

PRNi code at transmit time

SV i clock at transmit time

φ1 φ(n) φ4 φk φk + 1

T1 T(n) T4 Tk Tk +1

Transmit time (n) = TTi (n)

Replica PRN i code at receive time

Code accumulator at

receive time

Receiver FTFFTF(n)

Pseudorange measurement (n) @ TR(n)GPS Receiver

SV i

Satellite transmit time relationship to code phase

Page 5: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Pseudorange measurement

Replica code state corresponds to receiver's best estimate of SV transmit time

Receiver knows replica code state because initial states are set during search process and it keeps track of code changes Integer and fraction of chip replica code phase defined as code stateReceiver time keeper containing GPS time corresponding to replica code state defined as code accumulator

Page 6: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Relationship between PRN code generator and code accumulator

N u m e ric a l c o n tro lle d o s c illa to r

C o de g e n e ra to r

C o d e s e tte r

E , P , L rep lic a c o d e

R e s e t s ig n a ls

S y n c h ro n iza tio n s ig n a ls

T ra n s m it t im e

1 ch ip p e r N C O o v e rflo w

C lo c k fc

E rro r s ig n a ls

C o d e lo o p d is c rim in a to r

C o d e lo o p filte r

C o de a c c u m u la to r

(c o d e p h a s e o ffs e t)

R e c e iv e r h a rd w a re

In -p h a s e (I) a n d q u a d ra -p h a s e (Q ) s ig n a ls

C o d e p h a s e in c re m e n t p e r c lo c k

R e c e iv e r b a s e ba n d s o ftw a re

Page 7: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Measurement time skew

Page 8: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Code (time) accumulator

Z-counter (19 bits) Accumulates in GPS time increments of 1.5 s, then resets one count short of 1-week = 403,200. Max = 403,199

X1-counter (24 bits)Accumulates in GPS time increments of integer P chips, then resets one count short of 1.5 s = 15,345,000. Max = 15,344,999

P-counter (same as NCO bits)Accumulates in GPS time increments of fractions of one P-chip

Page 9: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Maintaining the code accumulator

Ptemp= P + fc ΔφCO TP = fractional part of Ptemp (chips)Xtemp = (X1 + whole part of Ptemp) / 15,345,000X1 = remainder of Xtemp(chips)Z = remainder of [(Z + whole part of Xtemp) / 403,200]

(1.5 seconds)where: Ptemp = temporary P registerfc = code NCO clock frequency (Hz) ΔφCO = code NCO phase increment per clock cycle

= code NCO bias + loop filter Doppler correction, etc.T = time between code NCO updates (seconds)

Page 10: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Maintaining the code accumulator with 20 ms PIT

|-----T-----|

Page 11: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Obtaining a measurement from the code accumulator

Ptemp = P + fc ΔφCOTs

Pi (n) = fractional part of Ptemp (chips)Xtemp = (X1 + whole part of Ptemp) / 15,345,000X1i (n) = remainder of Xtemp (chips)Zi (n) = remainder of [(Z + whole part of Xtemp) / 403,200] (1.5 seconds)TTi (n) = [Pi (n) + X1i (n)] / (10.23 X 106) + Zi(n) * 1.5 (seconds)Note: code accumulator NOT changed

Page 12: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Obtaining a measurement from the code accumulator

|-Ts-|

Page 13: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Synchronizing code accumulator to replica code generator

Most complicated part of process: Synchronizing code accumulator to C/A-code generator

Count sequences in code generator shift registers are pseudo randomCount sequences taking place in code accumulator are linear

Reset timing events in PN shift registers are predictable

Page 14: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Adding a code setter to code generator

X 2B c o d e s e tte r

P c o d e a d v a n c e /

re ta rd

P c o d e c lo c k

X 1A c o d e s e tte r

X 1B c o d e s e tte r

X 2A c o d e s e tte r

X 1B c lo ck

c o n tro l

X 2A c lock

co n tro l

X 2B c lo ck

c o n tro l

C o d e c lo c k

fco

÷ 1 0C /A c o d e a d v an ce /

re ta rd

X 2 B re g is ter

X 2 A re g is ter

X 1 B re g is ter

X 1 A re g is ter

3 7 to 1 M U X

X 2 d e la y reg is te r

1 3 7. . .

P

C /A co d e s e tte r

G 1 reg is te r

G 2 reg is te r

C /A co d e

1 0

1 0 to 1 M U X

10 to 1 M U XC /A c od e c loc k

Page 15: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

C/A-code setup

Algorithm for code accumulator output to C/A-code setter:

G = remainder of [(whole part of {X1/10})/1023] where:G = future scheduled C/A-code time value sent to the code setter

X1 = future scheduled GPS time of week in P chips (0 ≤ X1 ≤ 15,344,999)

Page 16: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Obtaining transmit time from the C/A-code

C/A-code obtains transmit time from code accumulator in same manner as P(Y)-code

Difference is initialization of accumulatorReceiver reads Handover Word (HOW) after bit synchronizationSets its code accumulator to correct Z-count at exactly right C/A-code epoch

Page 17: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

GPS C/A-code timing relationships

X 1 c o u n t m + 5

X 1 c o u n t m + 6

W o r d 7 W o r d 8W o r d 6W o r d 4 W o r d 5

F r a m e S u b f r a m e 1 S u b f r a m e 2 S u b f r a m e 3 S u b f r a m e 4 S u b f r a m e 5

3 0 s e c o n d s = 1 5 0 0 b i t s

Z - c o u n t n Z - c o u n t n + 3 6 s e c o n d s = 4 Z - c o u n t s

6 s e c o n d s = 1 0 w o r d s = 3 0 0 b i t s T L M H O W W o r d 3 W o r d 9 W o r d 1 0

6 0 0 m i l l i s e c o n d s = 3 0 b i t s b i t 1 b i t 2 b i t 3 0b i t i. . . . . .

2 0 m i l l i s e c o n d s = 1 b i t C / A c o d e p e r i o d 1 . . . . . .

C / A c o d e p e r i o d 2

C / A c o d e p e r i o d j

C / A c o d e p e r i o d 2 0

1 m i l l i s e c o n d = 1 0 2 3 C / A c o d e c h i p s

C / A c o d e c h i p 1 . . . . . .

C / A c o d e c h i p 2

C / A c o d e c h i p k

C / A c o d e c h i p 1 0 2 3

9 7 7 . 5 n a n o s e c o n d s = 1 0 X 1 c o u n t s

X 1 c o u n t m

X 1 c o u n t m + 1

X 1 c o u n t m + 3

X 1 c o u n t m + 4

X 1 c o u n t m + 2

X 1 c o u n t m + 7

X 1 c o u n t m + 8

X 1 c o u n t m + 9

P c o d e c h i p 1

P c o d e c h i p 1 0

4 Z - c o u n t s

S u b f r a m e

W o r d

D a t a b i t

C / A c o d e p e r i o d

1 0 X 1 c o u n t s 1 0 P c h i p s

Page 18: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

GPS navigation message format

Each subframe is 300 bits (6 s @ 50 bps). Entire message repeats every 12.5 min(5 subframes × 300 bits/subframe × 25 pages = 37500 bits/message)

Page 19: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Example of bit sync error in C/A-code

Page 20: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Session VI - Carrier

Page 21: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Session VI - CarrierExtracting measurements from code and carrier loops

Extracting measurements from carrier loop

Maintaining the carrier accumulatorObtaining a measurement from the carrier accumulatorDelta pseudorange measurementData demodulationBit error performance

Page 22: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Maintaining the carrier accumulator

Carrier accumulator updated as follows:Φtemp = ΦCA + fc ΔφCATΦCA = fractional part of Φtemp (cycles) NCA = NCA + whole part of Φtemp (cycles) where:

Φtemp= temporary ΦCA registerfC = carrier NCO clock frequency (Hz)ΔφCA = carrier NCO carrier Doppler phase increment per clock epoch = carrier loop filter velocity correction + carrier loop velocity aiding (if any)T = time between carrier NCO updates (seconds)NCA = integer number of carrier Doppler phase cycles since some arbitrary starting point

Page 23: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Obtaining a measurement from the carrier accumulator

The natural measurement obtained from the carrier accumulator associated with SVi is an ambiguous integer number of cycles, NCAi, and an unambiguous fraction of a cycle (phase), ΦCAi, defined at some epoch timeCalled an integrated carrier Doppler phase measurementTo obtain integrated carrier Doppler phase measurement, NCAi (n), ΦCAi (n), for SVi corresponding to carrier accumulator, propagate forward to nearest FTF(n) by skew time, Ts :Φtemp = ΦCA + fc ΔφCATsΦCAi (n) = fractional part of Φtemp (cycles)NCAi (n) = NCA + whole part of Φtemp (cycles)

Page 24: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Delta pseudorange measurement

Define delta pseudorange measurement, DPRi(n), two integrated carrier Doppler measurements, ICDi (n-K) and ICDi (n), taken at FTF (n-K) and FTF (n)

FTF (n- K) occurs some integer number of FTFs earlier than FTF (n), ideally at PR measurementsICDi (n -K) = NCAi (n-K), ΦCAi (n-K)ICDi (n) = NCAi (n), ΦCAi (n)DPRi (n) = [ICD (n) – ICD (n-K)]λ (meters)Λ = 0.1903 m/cycle at L1 (and 0.2442 m/cycle at L2)

Page 25: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Data demodulation

Data bits are estimated from 20 ms correlator outputs as:

)sign(Ib Pkk =ˆ

This is ordinary BPSK data demodulation. The well-known expression for BPSK bit error rate is:

⎟⎟⎠

⎞⎜⎜⎝

⎛=

0

bb N

Eerfc21P

The ratio of bit energy Eb to noise power density N0may be related to P/N0 using:

bb P/RE =

data rate (50 Hz for GPS)

Page 26: 2025-9 Satellite Navigation Science and …indico.ictp.it/event/a08148/session/33/contribution/21/...2025-9 Satellite Navigation Science and Technology for Africa Ward Phillip. W

Bit error performance

25 25.5 26 26.5 27 27.5 28 28.5 29 29.5 3010

-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

C/N0 (dB-Hz)

Pro

babi

lity

of B

it E

rror