Presentation - WordPress.com

advertisement

filename -1

Team GTRI

DARPA Spectrum Challenge

June 19, 2014

Presenter: Ethan Trewhitt ethan.trewhitt@gtri.gatech.edu

Originally presented by Bob Baxley @ DARPA

DARPA Spectrum Challenge - The Basics

2

1. Adversarial communications

(competitive tournament)

– Each team gets two radios (a Tx and an Rx)

– Two teams (four radios) will be competing at once

– Team that successfully transmits and receives give data file the fastest wins

2. Non-adversarial Spectrum Sharing

(cooperative tournament)

– Four teams operate at once

– Multiple rounds are played in round robin format

– Team’s score for round is the group’s score

– Team with highest sum score after 10 rounds wins

Each tournament will be competed twice:

“Prelim competition” and “Final competition”

Orbit Testbed

31 Jan : Register Team

Feb : Complete Qualification Hurdles

Mar : Contestants announced

Sep : Preliminary Tournament

Mar 2014 : Final Tournament

Competitive Setup

DARPA Packet Server

S D D S

3

Cooperative Setup

DARPA Packet Server

S

S

S

D

D

D

4

f c

= 5498MHz

2000

1000

0

0

Team Information

2000

1000

• Ad-hoc DSC team formed from individuals at GTRI with an interest in SDRs

0

0

• Team background

2000

• Leader: Bob Baxley – Comms theory

Ethan Trewhitt – Machine learning, SW

Andy Henshaw – Tactical data links, SW

Sean Nowlan – Comms, Security, GNURadio

• Jeff Hodges – Comms, SDR (Ettus/DRT/X-Midas)

1000

0

• Brett Walkenhorst – Comms theory

• Ryan Westafer – Propagation physics

• Chris Valenta – RFID, GNURadio/Ettus SDRs

2000

1000

0

0

0

• DSC & GTRI research

• Cognitive radio/sensing/EW

• SDR development

• Communication theory

2000

1000

0

0

2000 4000 6000 8000 x (mm) f c

= 5499MHz

10000 12000 14000

2000 4000 6000 8000 x (mm) f c

= 5500MHz

10000 12000 14000

2000 4000 6000 8000 x (mm) f c

= 5501MHz

10000 12000 14000

2000 4000 6000 8000 x (mm) f c

= 5502MHz

10000 12000 14000

2000

Cognitive Spectrum

Operations Testbed (CSOT)

4000 6000 8000 x (mm)

10000 12000 14000

Development Logistics

1500

1000

500

0

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr

Date of Commit gr-GTRI GNURadio

Module

1,842 Unique Files

6,405 Commits

Grid Workflow: dsc-code_tx/rx → tmux → gtri_tx/rx.py

Start match: omf exec ssh grid → ssh nodex-y → tmux attach → console output

Most-Changed Files

1: grc/tx_ofdm_diff.grc

2: grc/Makefile

3: grc/rx_wreck.grc

4: gr-GTRI/python/GTRI_wirehair_enc.py

5: gr-GTRI/grc/CMakeLists.txt

6: grc/tx.grc

7: grc/gtri_tx.py

8: grc/rx_wreck_sense.grc

9: gr-GTRI/lib/tx_wreckC_impl.cc

10: grc/tx_inner.grc

USRP N210

SBX

USRP N200

SBX veriton-1

10.50.17.150

veriton-3

10.50.17.235

GTRI SDRL Testbed

USRP B210 aspire-4

10.50.17.107

GTRI

Router

Lab Router

Kill match: tmux kill-session aspire-2

10.50.17.???

USRP B210 veriton-2

10.50.17.241

veriton-4

10.50.17.249

USRP N210

SBX

USRP N200

SBX aspire-3

10.50.17.106

aspire-1

10.50.17.???

Common Waveform Elements

1: Signal Structure

Preamble

Sense

Window

Ns Ns N N

Symbol

N

N

2: Synchronization

Correlation over time

One Burst = One or more Packets (1452 raw bytes/packet)

255 RS symbols

K symbols

255 RS symbols

K symbols

255 RS symbols

K symbols

File Server Packet 1440 Bytes

255 RS symbols

K symbols

255 RS symbols

K symbols

One Coded Packet

{6,7,8,9,11,12} RS blocks/packet

One Raw Packet K=

{121,132,162,182,20

8,242}

WH 8 bytes

CR

C

3: Sensing

4: Wirehair erasure code

Start with the uncoded vector of packets: 𝒙 ∈ 𝐹

𝑄×1

2

8

Transmit that vector and then create linear combination of x and transmit those too: (Do this forever) 𝒚 ∈ 𝐹

∞×1

2

8

𝑨 ∈ 𝐹

∞×𝑄

2

8 𝒚 =

𝑨𝒙 =

=

One Burst Ns+s

Tx encodes waveform type in s to signal to the Rx. 𝑠 ∈ {0,3,6,9, … }

Tx receives transmissions and correlates to find the sense window. This is 600 zero samples immediately after the preamble

Rx a subset of the

Tx rows

If A is invertible, solve for x; if not, collect more symbols and try again: 𝒚

𝑅

𝑨

𝑅

= 𝒙 = =

Tournament Radios:

GTRI Wreck Waveform

COOP (mostly-open loop): Ramblin ’

• 64-carrier OFDM;54 occupied carriers

• Data is differentially encoded across

OFDM symbols;

• Each stream is an independent packet

• 54 parallel decoders at Rx

• Average 22 FFTs during sense window to estimate occupancy

• Carriers are dynamically nulled based on threshold; retransmit nulled

• Symbol-wise scaling to maximize SNDR

• 20s max speed; game rate is 33s

COMP (closed loop): Wreck

• Spreading-based waveform: each symbol is N = {2,3, … , 21} samples long

• Data is differentially encoded in {4,8}-PSK

• Adapt over ten spreading/coding rates

• Tx signals current rate by changing spacing in preamble

• Rx runs 10 decoders in parallel

• Fractional delay estimation/correction

• Rx calculates performance (PER, Sync quality); reasons about adaptation

• Sends feedback to change rate

• Adapts Rx antenna/gain

• We start in a middle-speed state; bestcase speed is 47s

Fast time: GR blocks at sample rate ( custom and canned blocks

)

Slow time (20Hz): asynchronous function probes for adaptation ( all custom)

Competition Results

• Competitive Mode: Second Place!

• Our waveform adapted well, becoming more aggressive when possible, falling back to robust when jammed

• Effectively jammed many competitors by using entire band

• Cooperative Mode:

• Effectively transmitted without colliding with other teams

• Retransmitted dropped packets

• Only team to complete our file in all matches

• Eliminated in first round due primarily to quirks in opposing teams’ approaches

Backup: Logo Screenshot

Download