100 likes | 219 Views
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. Adversarial communications (competitive tournament) Each team gets two radios (a Tx and an Rx)
E N D
Team GTRI DARPA Spectrum ChallengeJune 19, 2014Presenter: Ethan Trewhitt ethan.trewhitt@gtri.gatech.edu Originally presented by Bob Baxley @ DARPA
DARPA Spectrum Challenge - The Basics • 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 • 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 Timeline
Competitive Setup DARPA Packet Server S D D S
Cooperative Setup DARPA Packet Server S S S D D D
Team Information • Ad-hoc DSC team formed from individuals at GTRI with aninterest in SDRs • Team background • Leader: Bob Baxley – Commstheory • Ethan Trewhitt– Machine learning, SW • Andy Henshaw– Tactical data links, SW • Sean Nowlan– Comms, Security, GNURadio • Jeff Hodges – Comms, SDR (Ettus/DRT/X-Midas) • Brett Walkenhorst – Comms theory • Ryan Westafer – Propagation physics • Chris Valenta – RFID, GNURadio/Ettus SDRs • DSC & GTRI research • Cognitive radio/sensing/EW • SDR development • Communication theory Cognitive Spectrum Operations Testbed (CSOT)
Development Logistics Grid Workflow:dsc-code_tx/rx → tmux → gtri_tx/rx.pyStart match: omf execssh grid →sshnodex-y →tmux attach → console output Kill match: tmux kill-session gr-GTRI GNURadioModule1,842 Unique Files 6,405 Commits 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 USRP N210 SBX veriton-1 10.50.17.150 veriton-2 10.50.17.241 USRP N200 SBX USRP N200 SBX veriton-3 10.50.17.235 veriton-4 10.50.17.249 aspire-2 10.50.17.??? aspire-4 10.50.17.107 GTRI SDRL Testbed Lab Router USRP B210 USRP B210 aspire-1 10.50.17.??? aspire-3 10.50.17.106
Common Waveform Elements 1: Signal Structure 2: Synchronization SenseWindow Preamble Symbol Correlation over time … Ns Ns N N N N … One Burst = One or more Packets (1452 raw bytes/packet) = One Burst Ns+s … One Coded Packet {6,7,8,9,11,12} RS blocks/packet 255 RS symbols 255 RS symbols 255 RS symbols 255 RS symbols 255 RS symbols Tx encodes waveform type in s to signal to the Rx. … One Raw Packet K= {121,132,162,182,208,242} K symbols K symbols K symbols K symbols K symbols File Server Packet 1440 Bytes WH 8 bytes CRC 3: Sensing Tx receives transmissions and correlates to find the sense window. This is 600 zero samples immediately after the preamble 4: Wirehair erasure code Start with the uncoded vector of packets: If A is invertible, solve for x; if not, collect more symbols and try again: Rx a subset of the Tx rows Transmit that vector and then create linear combination of x and transmit those too: (Do this forever) =
Tournament Radios: GTRI Wreck Waveform COOP (mostly-open loop): Ramblin’ COMP (closed loop): Wreck • 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 • Spreading-based waveform: each symbol is 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 whenpossible, falling back to robustwhen jammed • Effectively jammed manycompetitors 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