DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

55
DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    266
  • download

    1

Transcript of DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 1: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

DESIGN OFA SINGLE FREQUENCY GPS SOFTWARE RECEIVER

Peter RinderNicolaj Bertelsen

Page 2: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 2 of 55

Peter RinderPeter Rinder

Basic GPS receiver structure- Design and implementation

Page 3: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 3 of 55

Project GoalProject Goal

Design and implement a single frequency GPS software receiver

Page 4: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 4 of 55

GPS signalsGPS signals

Navigation data Pseudo-random noise sequences Carrier wave

Page 5: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 5 of 55

Navigation dataNavigation data

Satellite orbit information (ephemerides) Satellite clock information Satellite health and accuracy Satellite orbit information (almanac) Bit-rate of 50bps Repeated every 12.5 minutes

Page 6: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 6 of 55

Pseudo-random noise sequencesPseudo-random noise sequences

Spreading sequences (C/A) Length of 1023 chips Chipping rate of 1.023Mcps 1 sequence lasts 1ms 32 sequences to GPS satellites Satellite identification Separate signals from different satellites

Page 7: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 7 of 55

Carrier waveCarrier wave

Signal transmission Two frequencies: L1=1575.42MHz L2=1227.60MHz C/A code on L1 Bipolar phase-shift keying (BPSK) modulation

Page 8: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 8 of 55

GPS signalGPS signal

Carrierwave

Navigationdata

Carrierand data

20ms1ms

1 data bit

Page 9: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 9 of 55

GPS signalGPS signal

Carrierand data

Resultingsignal

PRN code

Page 10: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 10 of 55

Important tasks of a GPS Important tasks of a GPS receiverreceiver Prepare received signals for signal processing Find satellites visible to the receiver For each satellite

• Find coarse values for C/A code phase and carrier frequency

• Find fine values for C/A code phase and carrier frequency• Keep track of the C/A code phase and carrier frequency as

they change over time• Obtain navigation data bits• Decode navigation data bits• Calculate satellite position• Calculate pseudorange

Calculate position

Page 11: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 11 of 55

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiver overviewReceiver overview

RF front-end

A/Dconverter

Acquisition

Receiverchannel

Positioncalculatio

n

Prepare received signals for signal processing

Page 12: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 12 of 55

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiver overviewReceiver overview

RF front-end

A/Dconverter

Acquisition

Receiverchannel

Positioncalculatio

n

Find satellites visible to the receiver• Find coarse values for C/A code phase and carrier frequency

for each satellite

Page 13: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 13 of 55

Receiver overviewReceiver overview Find fine value for C/A code phase Find fine value for carrier frequency Keep track of the C/A code phase and carrier

frequency as they change over time

Code tracking

CarrierTracking

Bit syn-chronizati

on

Decodenav. data

Calculatesatellite position

Calculatepseudo-range

Receiver channel

Page 14: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 14 of 55

Receiver overviewReceiver overview Obtain navigation data bits

Code tracking

CarrierTracking

Bit syn-chronizati

on

Decodenav. data

Calculatesatellite position

Calculatepseudo-range

Receiver channel

Page 15: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 15 of 55

Receiver overviewReceiver overview Decode navigation data bits

Code tracking

CarrierTracking

Bit syn-chronizati

on

Decodenav. data

Calculatesatellite position

Calculatepseudo-range

Receiver channel

Page 16: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 16 of 55

Receiver overviewReceiver overview Calculate satellite position

Code tracking

CarrierTracking

Bit syn-chronizati

on

Decodenav. data

Calculatesatellite position

Calculatepseudo-range

Receiver channel

Page 17: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 17 of 55

Receiver overviewReceiver overview Calculate pseudorange

Code tracking

CarrierTracking

Bit syn-chronizati

on

Decodenav. data

Calculatesatellite position

Calculatepseudo-range

Receiver channel

Page 18: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 18 of 55

Receiver overviewReceiver overview

Calculate position

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

Receiverchannel

RF front-end

A/Dconverter

Acquisition

Receiverchannel

Positioncalculatio

n

Page 19: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 19 of 55

Implemented partsImplemented parts

Prepare received signals for signal processing

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 20: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 20 of 55

Signal conditioningSignal conditioning

Purpose of signal conditioning• Remove possible disturbing signals by filtering• Amplify signal to an acceptable amplitude• Down-sample signal to an intermediate frequency

Antennasignal

Intermediatefrequency

signal

Filter

Amplifier

Localoscillator

Mixer

Filter

Page 21: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 21 of 55

AcquisitionAcquisition

Acquisition purpose• Estimate coarse value of PRN code phase• Estimate coarse value of carrier frequency

Operates on 1ms blocks of data• Corresponds to the length of a complete PRN code

Page 22: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 22 of 55

AcquisitionAcquisition

Code phase estimation PRN code characteristics

• Maximum autocorrelation at lag 0• Minimum auto-correlation in all other cases• Minimum cross-correlation in all cases

Generate local PRN code Perform circular correlation to obtain code phase Code phase is the circular shift of the local code that

gives maximum correlation

Page 23: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 23 of 55

0 1 2 3 4 5 6 7

AcquisitionAcquisition

Incomingcode

Generatedcode

Correlation

Page 24: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 24 of 55

AcquisitionAcquisition

Carrier frequency estimation Generate local carrier Adjust frequency until highest correlation is obtained

Page 25: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 25 of 55

AcquisitionAcquisition

1 2 3 4 5 6 7 8Correlation

Page 26: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 26 of 55

AcquisitionAcquisition

Correct value for code phase and carrier frequencygives a peak

Page 27: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 27 of 55

Code trackingCode tracking

Enhance the accuracy of code phase obtained by acquisition

Generate three local PRN codes 0.5 chips apart• Early• Prompt• Late

Correlate the local codes with incoming code Adjust code phase according to result of correlation

Page 28: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 28 of 55

Code trackingCode tracking

Early

Prompt

Late

Incoming code

-1 -0.5 0 0.5 10

0.5

1

Correlation

Delay in chips

Page 29: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 29 of 55

Carrier trackingCarrier tracking

Enhance the accuracy of the carrier frequency obtained by acquisition

Generate local carrier signal Measure the phase error between incoming carrier

and local carrier signal Adjust frequency until phase and frequency becomes

stable

Incomingsignal

NCO carrier

generator

Phasediscrimina

tor

Loopfilter

PRN code

Page 30: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 30 of 55

Nicolaj BertelsenNicolaj Bertelsen

Design and implementation of remaining functionalities

Page 31: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 31 of 55

Status at report submissionStatus at report submission

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 32: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 32 of 55

Bit synchronizationBit synchronization

Output from the tracking loop is -1 or 1 every millisecond

Page 33: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 33 of 55

Bit synchronizationBit synchronization

Output from the tracking loop is -1 or 1 every millisecond

Output from bit syncronization is -1 or 1 every 20 ms 1 -1 1 1 -1 1

Page 34: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 34 of 55

Status at report submissionStatus at report submission

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 35: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 35 of 55

Decode navigation messagesDecode navigation messages

The navigation messages contain satellite information

Subframe 1-3 is needed to calculate the satellite position

Page 36: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 36 of 55

Decode navigation messagesDecode navigation messages

Find the subframes in the navigation message Preamble (TLM word) 1 0 0 0 1 0 1 1 Correlation between navigation bits and preamble

Page 37: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 37 of 55

Decode navigation messagesDecode navigation messages

Parity check of the subframe Find the subframe id (1-5)

Decode each subframe (1-3)

Page 38: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 38 of 55

Decode navigation messagesDecode navigation messages

Data in subframe 2 and 3

Page 39: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 39 of 55

StatusStatus

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 40: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 40 of 55

Calculate satellite positionsCalculate satellite positions

All the information in subframe 2 and 3 tells in which orbit the satellite is moving

Page 41: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 41 of 55

StatusStatus

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 42: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 42 of 55

The start of a subframe is found for all channels

The accuracy of the pseudoranges with a time resolution of 1 ms is 300.000m

The code tracking loop can tell the precise start of the C/A code

Pseudorange accuracy of 25m

Calculate pseudorangesCalculate pseudoranges

Channel 1Channel 1

Channel 2Channel 2

Channel 3Channel 3

Channel 4Channel 4

TimeTime

68 ms

409807

Page 43: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 43 of 55

Calculate pseudorangesCalculate pseudoranges

Traditional calculations of the satellite positions

Software receiver calculations

More precise satellite positions

Channel 1Channel 1

Channel 2Channel 2

Channel 3Channel 3

Channel 4Channel 4

71 ms

(Epoch Time)TimeTime

Channel 1Channel 1

Channel 2Channel 2

Channel 3Channel 3

Channel 4Channel 4

(Transmit Time)TimeTime

71 ms

Page 44: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 44 of 55

Calculate pseudorangesCalculate pseudoranges

Calculations of more pseudoranges

1000Hz pseudorange calculations

Channel 1Channel 1

Channel 2Channel 2

Channel 3Channel 3

Channel 4Channel 4

TimeTime

68 ms

409807

68.50 ms

409807.1

68.82 ms

409807.2

Page 45: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 45 of 55

StatusStatus

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 46: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 46 of 55

Calculation of receiver positionCalculation of receiver position

The university area

Page 47: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 47 of 55

Calculation of the receiver Calculation of the receiver positionposition Antenna positions

Page 48: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 48 of 55

Calculation of receiver positionCalculation of receiver position

Page 49: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 49 of 55

Calculation of receiver positionCalculation of receiver position

The start of the C/A code for each millisecond of data

Page 50: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 50 of 55

Calculation of receiver positionCalculation of receiver position

Pseudorange smoothing

Page 51: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 51 of 55

Calculation of receiver positionCalculation of receiver position

Page 52: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 52 of 55

Calculation of receiver positionCalculation of receiver position

Page 53: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 53 of 55

StatusStatus

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Acquisition

Code tracking

Carrier tracking

Bit synchronization

Decode navigation messages

Calculate satellite positions

Calculate pseudoranges

Calculate receiver position

Page 54: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 54 of 55

Future improvementsFuture improvements

Analyze the multipath impact on pseudorange calculations

The software receiver is using post processing For real-time implementations it is necessary to

switch programming language from Matlab C or C++

Phase measurements P code measurements

Page 55: DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen.

Page 55 of 55

ConclusionConclusion

Obtain RF hardware• Front-end from Simrad• NI 5911 A/D converter• NI 5102 A/D converter• ICS-652 from Interactive Circuits and Systems

Analyze the hardware and GPS signals Design and implement a GPS signal simulator Analyze different methods of acquisition and tracking Implement receiver in Matlab Design and implemented a post processing

standalone GPS C/A code software receiver