Presentation - WordPress.com

Download Report

Transcript Presentation - WordPress.com

filename -1

Team GTRI

DARPA Spectrum Challenge June 19, 2014 Presenter: Ethan Trewhitt [email protected]

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 • Leader: Bob Baxley – Comms theory • Ethan Trewhitt – Machine learning, SW • Andy Henshaw – Tactical data links, SW • Sean Nowlan – Comms, Security, GNURadio 2000 1000 0 •

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

0 • • •

Brett Walkenhorst – Comms theory Ryan Westafer – Propagation physics Chris Valenta – RFID, GNURadio/Ettus SDRs

2000 1000 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 gr-GTRI GNURadio Module

1,842 Unique Files 6,405 Commits

Apr May Jun Jul Aug Sep Date of Commit Oct Nov Dec Jan Feb Mar Grid Workflow:

dsc-code_tx/rx → tmux → gtri_tx/rx.py

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

Apr 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

GTRI Router USRP N210 SBX veriton-1 10.50.17.150

veriton-2 10.50.17.241

USRP N210 SBX USRP N200 SBX veriton-3 10.50.17.235

GTRI SDRL Testbed

veriton-4 10.50.17.249

USRP N200 SBX aspire-4 10.50.17.107

aspire-2 10.50.17.??? Lab Router USRP B210 aspire-3 10.50.17.106

aspire-1 10.50.17.??? USRP B210

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; best case 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