DSP Applied to GPS Algorithms 352004 DSP Applied
- Slides: 14
DSP Applied to GPS Algorithms 3/5/2004 DSP Applied to GPS Algorithms 1
References 1) Understanding GPS Principles and Applications, 1996, Elliott D. Kaplan 2) Digital Signal Processing – A Practical Approach, 1993, Emmanuel C. Ifeachor, Barrie W. Jervis 3) ADSP-TS 101 Tiger. SHARC Processor Programming Reference, Rev 1, January 2003, Analog Devices 3/5/2004 DSP Applied to GPS Algorithms 2
Introduction 1. GPS traditionally done with ASIC/Processor combination 2. Looking at FPGA/DSP combination for low end GPS receivers 3. Technological interest in software radio – Cheaper, quicker development cycle. – Customizations for special applications 3/5/2004 DSP Applied to GPS Algorithms 3
What is GPS? Global Positioning System 24 satellite (SV) constellation Orbiting 20, 000 km from the surface of the Earth in 12 hour cycles Orbits are set-up to give global coverage 24 hours a day Need at least 4 satellites in view to calculate a position 3/5/2004 DSP Applied to GPS Algorithms (1) 4
GPS Positioning Concepts (1) • For now make 2 assumptions: – We know the distance to each satellite – We know where each satellite is • Require 3 satellites for a 3 -D position in this “ideal” scenario 3/5/2004 DSP Applied to GPS Algorithms 5
GPS Signal Structure • Each satellite transmits 2 carrier frequencies referred to as L 1 (1575 MHz) and L 2 (1227 MHz) • Each carrier frequency is BPSK modulated with a unique PRN (pseudo random number) code • The PRN code on L 1 is called CA code (coarse acquisition), The PRN code on L 2 is called P code (precise) • CA code takes 1 ms for full PRN transmission at 1 MHz chip (bit) rate. P code takes 1. 5 s for full PRN transmission at ~10 MHz chip rate • Also modulated on each carrier is 50 Hz data that includes the current position of the satellite 3/5/2004 DSP Applied to GPS Algorithms 6
Determining Time (1) • Use the PRN code to determine time • Use time to determine distance to the satellite distance = speed of light * time 3/5/2004 DSP Applied to GPS Algorithms 7
Algorithms to Find PRN Phase N-1 • Cross correlation: 1/N ∑ x (n) * x (n) 1 • 2 n=0 • Correlation of perfectly matching signals gives a maximum value • Correlation of 2 random data sequences tends to 0 • Frequency domain correlation: 1/N F-1[X 1(k)X 2(k)] where F-1 is the inverse Discrete Fourier Transform and the X’s are the Discrete Fourier Transforms of two sequences D 3/5/2004 DSP Applied to GPS Algorithms 8
Timing • Frequency Domain 1/N F-1[X 1(k)X 2(k)] – 1024 point FFT – 1024 MULTS – 1024 point INV FFT (NLOG 2 N) N-1 21504 operations • Time Domain 1/N ∑ x (n) * x (n) 1 2 n=0 • – 1024 MACs – 1024 Phases 3/5/2004 (N) (N 2) (N) DSP Applied to GPS Algorithms 1048576 operations 9
Tiger SHARC TS 101 Cummunications Operations • Despreading • Needs lots of shifts 2 bit at a time 3/5/2004 DSP Applied to GPS Algorithms 10
Xcorr operation 3/5/2004 DSP Applied to GPS Algorithms 11
Tiger. SHARC TS 201 • XCORR operation • Combines 16 despreading instructions in a single cycle. With both X and Y working we get 512 Multiplies and 512 additions in a single cycle • Need to consider end effects 3/5/2004 DSP Applied to GPS Algorithms 12
Project Plan • Compare optimized frequency domain (FFT based) and time domain (XCORR based) algorithms on the Tiger. SHARC • Determine method of testing the algorithms to relate results back to GPS signals – Use canned data sample from actual GPS receiver? – Use Matlab modeled data – Use a second Tiger. SHARC development board to produce data 3/5/2004 DSP Applied to GPS Algorithms 13
Conclusions • Introduced basic concepts of GPS • Introduced cross correlation algorithms • Introduced Tiger. SHARC features to support implementation of cross correlations • Project plan 3/5/2004 DSP Applied to GPS Algorithms 14