A Software-Defined GPS and Galileo Receiver: Single...

19
University of Colorado A Software-Defined GPS and Galileo Receiver: Single-Frequency Approach A Software-Defined GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005 ION-GNSS-2005 Session C4: GNSS Software Receiver Systems 2 K. Borre; Aalborg University D. Akos; University of Colorado

Transcript of A Software-Defined GPS and Galileo Receiver: Single...

Page 1: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

A Software-Defined

GPS and Galileo Receiver:

Single-Frequency Approach

A Software-Defined

GPS and Galileo Receiver:

Single-Frequency Approach

15-Sept-2005

ION-GNSS-2005Session C4: GNSS Software Receiver Systems 2

K. Borre; Aalborg UniversityD. Akos; University of Colorado

Page 2: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Presentation OverviewPresentation Overview

� Motivation

� Software GNSS Receiver Architectures

� Front End Design & Signal Conditioning– Sample GPS Data Set

� Signal Acquisition

� Code & Carrier Tracking

� Navigation Data Decoding & Position Solution

� Future Work

Page 3: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

MotivationMotivation

� Develop a software GNSS receiver to process both GPS and Galileo narrowband L1 components

� Develop accompanying textbook for teaching/educational aspects of GNSS software receivers

� Provide an open source (GPL) fully functional GNSS software receiver basis for further development and refinement by the research community

Page 4: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

AnalogFront-end

(possible ASIC)

DigitalBasebandProcessing

(typically ASIC)user

interface

Antenna

Micro/SignalProcessor

User Computer & Display

userapplication

Acq/TrackingNavigation

General purposemicroprocessor

Serial C

omm

unication Link

Core GNSS Receiver

AnalogFront-end

(possible ASIC)

DigitalBasebandProcessing

(typically ASIC)user

interface

Antenna

Micro/SignalProcessor

User Computer & Display

userapplication

Acq/TrackingNavigation

General purposemicroprocessor

Serial C

omm

unication Link

Core GNSS Receiver

� A generic GNSS receiver block diagram is depicted below:

� The core GNSS receiver components are:– Antenna– Front end for analog signal conditioning, filtering, and digitization– High speed correlation ASIC (application specific integrated circuit)– Embedded programmable micro/signal processor

� Hardware (ASIC-based) receivers provide minimal flexibility and little support for GNSS additions and/or research

Traditional GNSS Receiver Architecture

Page 5: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

GNSS Software Receiver ArchitectureGNSS Software Receiver Architecture

AnalogFront-end

(possible ASIC)

DigitalBasebandProcessing

(typically ASIC)user

interface

Micro/SignalProcessor

User Computer & Display

userapplication

Acq/TrackingNavigation

General purposemicroprocessor

Serial C

omm

unication Link

AnalogFront-end

(possible ASIC)

DigitalBasebandProcessing

userinterface

Antenna

Micro/SignalProcessor

User Computer & Display

userapplication

Acq/TrackingNavigation

General purposemicroprocessor

Serial C

omm

unication Link

Core GNSS Receiver

Programmable Processor

� The modification to a “software” GNSS receiver architecture is subtle

� Now all the signal processing (spread spectrum) after the analog-to-digital converter (ADC) is accomplished within a programmable processor

Page 6: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Signal Conditioning or Front End Design

for GPS Data Collection

Signal Conditioning or Front End Design

for GPS Data Collection

ADCBPF

Active AntennaGain ≈≈≈≈ 30 dB

Noise Figure ≈≈≈≈ 2.5 dB

BPF BPFBandpass Filter

FCENTER = 1575.42 MHz3db BW ≈≈≈≈ 50 MHz

Bandpass FilterFCENTER : 47.74 MHz3db BW ≈≈≈≈ 18 MHz

Amplifier(s)Gain ≈≈≈≈ 50 dB

Noise Figure ≈≈≈≈ 4.0 dB

PLL

Bandpass FilterFC : 47.74 MHz

3db BW ≈≈≈≈ 6.0 MHz

Amplifier(s)Gain: ≈≈≈≈ 50 dB

Noise Figure ≈≈≈≈ 4.0 dB

PLL Output1527.68 MHz

@ 7 dBm

Analog-to-DigitalConverter

FSAMPLING ≈≈≈≈ 38.192 MHz4 Bit Samples

Rooftop CableLoss ≈≈≈≈ 8.0 dB

TCXOF = 10.00MHz

÷ 40Sampling

Clock

� Above front end design provided a raw digitized sampled signal for algorithm

development & processing

� Data set is included with the software algorithms

sampled signal to be processed

Page 7: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Collected Data SetCollected Data Set

0 0.005 0.01 0.015 0.02 0.025-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Time Domain: First 1000 Samples of GPS Data

time (usec)

norm

aliz

ed a

mpl

itude

(V

)

0 0.005 0.01 0.015 0.02 0.025-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Time Domain: First 1000 Samples of GPS Data

time (usec)

norm

aliz

ed a

mpl

itude

(V

)

0 2 4 6 8 10 12 14 16 18-15

-10

-5

0

5

10

15

20

Frequency (MHz)

Pow

er S

pect

rum

Mag

nitu

de (

dB)

Frequency Domain: Power Spectral Density of First 1048576 Samples of GPS Data

0 2 4 6 8 10 12 14 16 18-15

-10

-5

0

5

10

15

20

Frequency (MHz)

Pow

er S

pect

rum

Mag

nitu

de (

dB)

Frequency Domain: Power Spectral Density of First 1048576 Samples of GPS Data

-8 -6 -4 -2 0 2 4 6 80

2

4

6

8

10

12

14

16

18x 10

4

Sample Bin

Num

ber

with

in B

in

Histogram of First 1048576 Samples of GPS Data

-8 -6 -4 -2 0 2 4 6 80

2

4

6

8

10

12

14

16

18x 10

4

Sample Bin

Num

ber

with

in B

in

Histogram of First 1048576 Samples of GPS Data•• Collected data set is multiple minutes of dataCollected data set is multiple minutes of data

•• Algorithms have been tested with other front Algorithms have been tested with other front

ends (sampling and intermediate frequenciesends (sampling and intermediate frequencies

•• Software GNSS RX architecture utilizes Software GNSS RX architecture utilizes

traditional processing of the datatraditional processing of the data

•• Acquisition, Code & Carrier Tracking, Acquisition, Code & Carrier Tracking,

Navigation Data Decoding & Position SolutionNavigation Data Decoding & Position Solution

Page 8: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

GNSS Software RX Flow DiagramGNSS Software RX Flow Diagram

Start with over Start with over

view of complete view of complete

software GNSS RX software GNSS RX

architecturearchitecture

Page 9: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

GNSS Signal Acquisition – Parallel Code

Phase Search

GNSS Signal Acquisition – Parallel Code

Phase Search

� Algorithm tests all possible code phases via an FFT/IFFT computation– FFT/IFFT computation time is the key to the algorithm

� Provides an exhaustive testing of all possible code phases

� Potential for very rapid acquisition times

incoming

signal

I

Q

Local

Oscillator

LPF

LPF

Fourier

Transform

PRN Code

Generator

Inv Fourier

Transform

Decision

Logic

Control

Logic

| |2

magnitude

Conjugate

Frequency-domain circular convolution technique

Fourier

Transform

Page 10: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Flow Diagram of

Software GPS RX

Acquisition

Flow Diagram of

Software GPS RX

Acquisition

� Perform acquisition on sample

collected data set

� Need to know the sampling

frequency and resulting

intermediate frequency (IF)

to enable processing

� Result should return visible

satellites, their code phase

and carrier frequency

estimate

Page 11: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Complete Tracking BlockComplete Tracking Block

� Combined code and carrier tracking loops

Incomingsignal

Integrate& Dump

PRN CodeGenerator

Integrate& Dump

Integrate& Dump

E

P

L

I

IE

IP

IL

Integrate& Dump

Integrate& Dump

Integrate& Dump

E

P

L

Q

QL

QP

QE

Code LoopDiscriminator

NCO CarrierGenerator

Carrier LoopFilter

Carrier LoopDiscriminator

90°

Page 12: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Flow Diagram of

Software GPS RX Tracking

Flow Diagram of

Software GPS RX Tracking

Page 13: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Navigation Data Decoding Navigation Data Decoding

� The final signal processing function of the receiver is to decode the

50 Hz navigation data stream

� The bits are clearly visible in the inphase channel of the Costas loop

� Processing proceeds as follows:

– Bit synch – determine the start/stop of each bit

– Frame synch – determine the start/stop of the navigation data frames

– Data decode – extract the necessary parameters from the transmitted

‘1’s and ‘0’s in the first three subframes (required for position solution)

� The ICD-200 and GPS signal specification are outstanding references

and describe in detail the structure of the navigation data message

Page 14: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Calculating PseudorangesCalculating Pseudoranges

� Timestamp the start of each subframe

Page 15: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Pseudoranges

Flow Diagram

Pseudoranges

Flow Diagram

Page 16: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Position Solution Flow Diagram

Position Solution Flow Diagram

Page 17: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Receiver Position ComputationReceiver Position Computation

-8 -6 -4 -2 0 2 4 6 8 10

-6

-4

-2

0

2

4

6

Measurement plot in UTM system

East (m)

No

rth

(m

)

� Position solutions generated at 1 Hz rate for 38.192 MHz data set

� Shown are the results for the first 30 second block of data

Page 18: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Receiver/Code CommentsReceiver/Code Comments

� Post-processing MATLAB version– Focus is on algorithm research and development– Provide non-real time processing yet not excessively slow • Computation speed approximately 6-12 times real-time

(sampling frequency dependent)

– ~500 lines of code

� Goal is to augment the knowledge concerning

signals and algorithms

Page 19: A Software-Defined GPS and Galileo Receiver: Single ...gps.aau.dk/fileadmin/gps/.../IONGNSS2005_BorreAkos_presentation.pdf · GPS and Galileo Receiver: Single-Frequency Approach 15-Sept-2005

University of Colorado

Summary & ConclusionsSummary & Conclusions

� Book will be available early 2006– Should provide basis for software GNSS receiver courses

� Current receiver developments– Support for Galileo signals– Support for EGNOS signals

� Will make available a reference textbook &

complete GPS/Galileo GPL Matlab framework to

be used for algorithm development and testing