real-time software receiver using massively parallel...

21
Real-Time Software Receiver Using Massively Parallel Processors for GPS Adaptive Antenna Array Processing Processors for GPS Adaptive Antenna Array Processing Jiwon Seo, David De Lorenzo, Sherman Lo, Per Enge, Stanford University Yu-Hsuan Chen, National Cheng Kung University, Taiwan Dennis Akos, University of Colorado, Boulder ION ITM 2011 26 January 2011 26 January 2011 The authors gratefully acknowledge the support of the Federal Aviation Administration.

Upload: phamnguyet

Post on 13-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Real-Time Software Receiver Using Massively Parallel

Processors for GPS Adaptive Antenna Array ProcessingProcessors for GPS Adaptive Antenna Array Processing

Jiwon Seo, David De Lorenzo, Sherman Lo, Per Enge, Stanford Universityg y

Yu-Hsuan Chen, National Cheng Kung University, Taiwan

Dennis Akos, University of Colorado, Boulder

ION ITM 2011

26 January 201126 January 2011

The authors gratefully acknowledge the support of the Federal Aviation

Administration.

Page 2: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Motivation

Synchronize time between GBTs under GPS interference?(Stanford’s effort)( )

GPS jammers

2Ground Based Transceivers (GBTs)

for FAA’s Alternate Position Navigation and Timing (APNT)

Page 3: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Our Previous Work

Adaptive GPS antenna array for robust time synchronization

WAAS geostationary satellite (L5 signal)

Di t b t t llitDirect beam to a satellite(1 tracked SV is enough for time transfer)

Antenna arrayAntenna arrayNull to jammers

3[Chen et al., ION GNSS 2010][Whelan and Enge, ION GNSS 2010]

Page 4: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Current Work

GPS L5 signalsGPS L5 signals

12 direct beams for all-in-view GPS satellites

Real-time software receiverwith expanded capabilities

12 direct beams40 Msps (20 Msps I & Q)

with expanded capabilities

Null to jammers 14-bit resolution data

4Possible aviation application: Protecting GBAS ground facility

Page 5: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Receiver Architecture: Initial Phase Alignment

RF/IF & A/D AlgorithmWeight

Adaptive beamsteering software receiver

RF/IF & A/D

Algorithm

Algorithm

AlgorithmCarrierWipeoff

CodeWipeoff

TrackingLoops

Code

WeightControl

Algorithm

RF/IF & A/D

RF/IF & A/D

CodeNCO

CarrierNCO

1j

ArraySteering

- Tracks 4 antennas independently

4

3

2

j

j

j

init

eee

W

initWT

SteeringVector and calibrates phase differences

- Assigns synthesized data to a maintracking channel for beamsteering

5

[De Lorenzo et al., ION GNSS 2010]

Page 6: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Receiver Architecture: Adaptive Beamsteering

RF/IF & A/D AlgorithmWeight

Adaptive beamsteering software receiver

RF/IF & A/D

Algorithm

Algorithm

AlgorithmCarrierWipeoff

CodeWipeoff

TrackingLoops

Code

WeightControl

Algorithm

RF/IF & A/D

RF/IF & A/D

CodeNCO

CarrierNCO

MVDR AdaptiveArray Processing MVDR (Minimum Variance

nnn

Tn

WTW

XXE

Φ

Φ

(Distortionless Response)

- Signal covariance should be calculated

6

nnn WWW

1 [De Lorenzo et al., ION GNSS 2010]

Page 7: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Computational Cost

Single-antenna L1 receiver

4-antenna adaptivebeamsteering L5 receiver

Number of

Samplingrate 4 Msps 40 Mspsx 10

12 60Number ofchannels

12 60x 5

T: Computational cost for12 channel L1 software receiver

50 T 100 T

Correlation cost12-channel L1 software receiver

Synthesis of 4-antenna data None 1.7 T x 12 beams =

20 TBeamforming

Sample

Covariancecalculation None 15 TAdaptive processing

D i

7

Sampleresolution 2 bits 14 bitsNo bit-wise parallelism

(About twice faster [Ledvina et al., 2003])

Dynamic rangefor anti-jamming

Page 8: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Objective & Challenges

Objective: Real-time 4-antenna adaptive beamsteering L5 software receiverL5 software receiver(85 of integer-correlation L1 receivers;135 of bit-wise-parallel-correlation L1 receivers)

Don’t: Have hardware support such as FPGA or ASIC

Do: Use a desktop computer with commercial off the shelf processorscommercial-off-the-shelf processors

Desktop Parallel Processing

8

p g

Page 9: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Desktop Parallel Processors

Commercial-off-the-shelf desktop parallel processors

CPU(Central Processing Unit)

GPU(Graphics Processing Unit)

I t l C i7 950 NVIDIA G F GTX 480Intel Core i7 950($300)

4 cores

NVIDIA GeForce GTX 480($500)

480 cores

9

4 cores 480 cores

Page 10: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Hardware Setup

Raw IF data collection setup (4 sets)

Gigabit Ethernet

T i bl A t USRP2 (Universal S lid St t Di k

Ethernet

14-bit, 40 Msps

D t t l ti t ti l bilit f L5 i

Trimble Antenna USRP2 (Universal Software Radio Peripheral)

Solid State Diskin a Linux box

Demonstrate real-time computational capability for L5 processing

4-antenna, 14-bit,

10

4 antenna, 14 bit,40 Msps (20 Msps I & Q), L1 data

Page 11: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

GPU-Based Parallel Correlator

1) Data copy & synthesis (1 block handles 768 samples)

1 ms raw IF in-phase data (20000 samples)

global memory, gmem (green)

768 samples

2) Carrier wipe off

1) Data copy & synthesis (1 block handles 768 samples)

768 sine & cosine tables

shared memory, smem (yellow)

X

3) Code wipe off (1 thread handles 3 samples)

code replica

7683

3

X265 threads in 1 block

code replica

256

3

1 4) Reallocation of smem for parallel reduction

1 5) Accumulation by parallel reduction in smem

11

6) Atomic addition of accumulated values from 27 blocks in gmem (27 blocks handle 1 tracking channel)

Page 12: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Timing Diagram of Initial Design

1 ms Data Input

Data move to GPU 0.2 ms

Massively parallel computation in GPU

(CUDA C)0.6 msSynthesis &

Correlation

Covariance 0.3 ms Limit forreal time

Tracking, etcParallel computationin CPU(C/C++)

0.2 msreal time

12

( )

Time

Page 13: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Hardware Parallelism

GPU copy engine

GPU computationengine

CPU

Tracking, etc Data move to GPU

engineengine

Synthesis &0.6 msCorrelation

Covariance 0.3 ms

Limit forreal timereal time

t0t1t2

13Time Buffer 1 Buffer 2Buffer 1 Buffer 2Buffer 1 Buffer 2

Page 14: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Load Balancing Between CPU & GPU

GPU copy engine

GPU computationengine

CPU

CovarianceData move to GPU

engineengine

Synthesis &

T ki t

0.6 msCorrelation

Tracking, etc

Limit forreal time

0.2 ms

real time

14Time

Page 15: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Anti-Jamming Capability

Tracking without beamsteering

5 tracking channels5 tracking channels for 1 satellite

8 satellites in view

Beamsteering channel(same as 1st antenna channel)

4 channels tracking 4 antennas independently

(for real time phase calibration;( ) (for real-time phase calibration;Calibration data are stored as a lookup table)

15

Page 16: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Anti-Jamming Capability

Tracking with adaptive beamsteering

6 dB

8 satellites in view About 6 dB C/N0 enhancement in beamsteering channel

(b fit f di t b )(benefit from a direct beam)C/N0 enhancement for all satellites(synthesized IF data 12 times with 12 different weight vectors to make 12 direct beams)

16

Page 17: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Anti-Jamming Capability

Simulated CDMA jamming

Tracking under simulated CDMA jammer

Simulated CDMA jammingin the direction of PRN 10

(40 dB J/S, PRN 168 as CDMA jammer)

PRN 10 is completely lost

Most single antenna channels are lost(Calibration data is already stored as a table by the real-time calibration scheme;Satellite ground tracks repeat)

17

Page 18: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Anti-Jamming Capability

Tracking under simulated CDMA jammer

Simulated CDMA jammingSimulated CDMA jammingin the direction of PRN 10

(40 dB J/S, PRN 168 as CDMA jammer)

Beamsteering channels are still tracking!

Some single antenna channels are good, but lower C/N0

Single antenna channels of PRN 25 track the jammer!

g 0

18

Page 19: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Real-Time Receiver Demo (Recorded)

19

Page 20: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Real-Time Receiver Demo (Recorded)

20

Page 21: Real-Time Software Receiver Using Massively Parallel ...web.stanford.edu/group/scpnt/gpslab/pubs/papers/Seo_ITM2011...Processors for GPS Adaptive Antenna Array ProcessingProcessors

Summary

Objective:

- Real-time, 4-antenna, all-in-view, adaptive beamsteering GPS software receiver capable of L5 signal processing and running on a desktop computer

Results:

- Developed an optimized parallel computation architecture for the beamsteering receiver on cost efficient CPU & GPUfor the beamsteering receiver on cost-efficient CPU & GPU

- Confirmed real-time computational capability and anti-jamming performance under a synthetic CDMA jammer

- Demonstrated that cost-efficient commercial-off-the-shelfhardware and processors would be enough to implementan adaptive beamsteering GPS receiver

21

an adaptive beamsteering GPS receiverEND