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