darpa spectrum collaboration challenge (sc2) · spectrum access action by decision engine decision...

39
Team GatorWings DARPA Spectrum Collaboration Challenge (SC2) Team GatorWings

Upload: others

Post on 04-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

DARPA Spectrum Collaboration Challenge (SC2)

Team GatorWings

Page 2: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Our Team - Faculty

Tan Wong➔ Team Lead➔ PHY & MAC➔ Decision Engine

John Shea➔ Team Co-Lead➔ Link & Network Layers➔ Pocket Scheduler/Decision Engine

Page 3: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Our Team – Graduate & Undergraduate Students

David Greene

FPGANetwork Layer

IDE & Tools

Tyler Ward

Physical LayerLink Layer

Control Plane

Caleb Bowyer

Machine Learning

Shiming Deng1

Analysis & Visualization Tools

Marco Menendez

CIL DevelopmentWorkflow

Optimization

Quan Pham2

Channel Emulation

Josh Agarth3

CIL Development

1Phases 1 & 2: Now with L3Harris 2Phases 1 & 2: Now in UF MS Program 3Phase 1: Now with Lockheed-Martin

Page 4: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 — DARPA’s 5th Grand Challenge

“The first-of-its-kind collaborative machine-learning competitionto overcome scarcity in the radio frequency (RF) spectrum”

— spectrumcollaborationchallenge.com

Page 5: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Conventional approach to spectrum management

● Spectrum is assigned by humans(FCC & NTIA)

● Spectrum allocations are typically permanent or last for years

● Allocated spectrum is often unused (white space)

Page 6: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 Design Challenge

● Develop new approaches to spectrum management by autonomous, intelligentagents (take humans out of the loop)

● Spectrum management should be distributed and collaborative across diverse networks

● Spectrum management should dynamic

○ Time scales of seconds instead of days or years

Page 7: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 – Competition Structure

Phase 1 / PE1 Phase 2 / PE2 Phase 3 / SCE

Network size (# of radios) 5 10 10

Match size (# of teams) 3 5 5

Tournament date Dec. 2017 Dec. 2018 Oct. 2019

* Figure modified from DARPA’s “Competitor Information Day Slides”

> 100 teams

30 teams 19 teams 15 teams 10 teams

Page 8: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 Championship Event, Oct. 2019● 10 teams● Held live at Mobile World

Congress, Los Angeles

● Team GatorWings was only team in final round with students

Page 9: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 - Tournament Match* Figure from DARPA’s “Competitor Information Day Slides”

Page 10: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 - Tournament Match

Colosseum

Page 11: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 - Tournament Match

Colosseum

Page 12: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Page 13: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

● Massive Channel Emulator (MCHEM)○ 256 x 256 100 MHz real-time RF channel emulation○ Can run multiple simultaneous traffic and RF scenarios

● 128 Standard Radio Nodes(Ettus X310 USRP and Server)

○ 2 TX and 2 RX independent RF chains— can be Configured as 2x2 MIMO

○ Processing/computing resources:48-core CPU, GPU, FPGA

Page 14: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Match Scenario: Slice of Life

Page 15: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 - Competitor’s Job

Page 16: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Strategy andTechnical Approach

Page 17: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 Problem:● Dynamic spectrum access environment with 5 teams/networks of radios

communicating in same frequency band● Each team scores points by delivering traffic flows achieving certain QoS mandates

(throughput, latency, hold time, etc.)

Page 18: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 Problem:

● A mixed cooperative/competitive game

● Team’s match score

where min score = minimum among all 5 team score

=

(min score if min score scoring threshold

achieved score if min score > scoring threshold<latexit sha1_base64="ro8HVk/y/yzKO+BviIAZoPol6D8=">AAACmHichVFdSxtBFJ1dWxvTWlOLL/VlaGjxKexKoYVSCVWxvmlpNJANYXb2bnZwdmY7czcYlvwm/0vf+m+cJItYI/XCwOGce8/cj7iQwmIQ/PX8tWfP1180NpovX22+3mq92b6wujQcelxLbfoxsyCFgh4KlNAvDLA8lnAZXx3O9csJGCu0+oXTAoY5GyuRCs7QUaPWzTcaxTAWquLOxc6aEcI1VrlQ1HJtYEY/0iUlUnrH0hmNJPyulQUn1JhiZsBmWiZOjmonxjMBE0iesDv4j1czApXU/Y1a7aATLIKugrAGbVLH2aj1J0o0L3NQyCWzdhAGBQ4rZlBwCW7e0kLB+BUbw8BBxXKww2qx2Bn94JiEptq4p5Au2PsVFcutneaxy8wZZvahNicf0wYlpl+GlVBFiaD48qO0lBQ1nV+JJsIARzl1gHEjXK+UZ8wwju6WTbeE8OHIq+BivxMGnfD8U7v7vV5Hg+yS92SPhOQz6ZIf5Iz0CPd2vK/ekXfsv/O7/ol/ukz1vbrmLfkn/J+3IN3L1A==</latexit><latexit sha1_base64="ro8HVk/y/yzKO+BviIAZoPol6D8=">AAACmHichVFdSxtBFJ1dWxvTWlOLL/VlaGjxKexKoYVSCVWxvmlpNJANYXb2bnZwdmY7czcYlvwm/0vf+m+cJItYI/XCwOGce8/cj7iQwmIQ/PX8tWfP1180NpovX22+3mq92b6wujQcelxLbfoxsyCFgh4KlNAvDLA8lnAZXx3O9csJGCu0+oXTAoY5GyuRCs7QUaPWzTcaxTAWquLOxc6aEcI1VrlQ1HJtYEY/0iUlUnrH0hmNJPyulQUn1JhiZsBmWiZOjmonxjMBE0iesDv4j1czApXU/Y1a7aATLIKugrAGbVLH2aj1J0o0L3NQyCWzdhAGBQ4rZlBwCW7e0kLB+BUbw8BBxXKww2qx2Bn94JiEptq4p5Au2PsVFcutneaxy8wZZvahNicf0wYlpl+GlVBFiaD48qO0lBQ1nV+JJsIARzl1gHEjXK+UZ8wwju6WTbeE8OHIq+BivxMGnfD8U7v7vV5Hg+yS92SPhOQz6ZIf5Iz0CPd2vK/ekXfsv/O7/ol/ukz1vbrmLfkn/J+3IN3L1A==</latexit><latexit sha1_base64="ro8HVk/y/yzKO+BviIAZoPol6D8=">AAACmHichVFdSxtBFJ1dWxvTWlOLL/VlaGjxKexKoYVSCVWxvmlpNJANYXb2bnZwdmY7czcYlvwm/0vf+m+cJItYI/XCwOGce8/cj7iQwmIQ/PX8tWfP1180NpovX22+3mq92b6wujQcelxLbfoxsyCFgh4KlNAvDLA8lnAZXx3O9csJGCu0+oXTAoY5GyuRCs7QUaPWzTcaxTAWquLOxc6aEcI1VrlQ1HJtYEY/0iUlUnrH0hmNJPyulQUn1JhiZsBmWiZOjmonxjMBE0iesDv4j1czApXU/Y1a7aATLIKugrAGbVLH2aj1J0o0L3NQyCWzdhAGBQ4rZlBwCW7e0kLB+BUbw8BBxXKww2qx2Bn94JiEptq4p5Au2PsVFcutneaxy8wZZvahNicf0wYlpl+GlVBFiaD48qO0lBQ1nV+JJsIARzl1gHEjXK+UZ8wwju6WTbeE8OHIq+BivxMGnfD8U7v7vV5Hg+yS92SPhOQz6ZIf5Iz0CPd2vK/ekXfsv/O7/ol/ukz1vbrmLfkn/J+3IN3L1A==</latexit><latexit sha1_base64="ro8HVk/y/yzKO+BviIAZoPol6D8=">AAACmHichVFdSxtBFJ1dWxvTWlOLL/VlaGjxKexKoYVSCVWxvmlpNJANYXb2bnZwdmY7czcYlvwm/0vf+m+cJItYI/XCwOGce8/cj7iQwmIQ/PX8tWfP1180NpovX22+3mq92b6wujQcelxLbfoxsyCFgh4KlNAvDLA8lnAZXx3O9csJGCu0+oXTAoY5GyuRCs7QUaPWzTcaxTAWquLOxc6aEcI1VrlQ1HJtYEY/0iUlUnrH0hmNJPyulQUn1JhiZsBmWiZOjmonxjMBE0iesDv4j1czApXU/Y1a7aATLIKugrAGbVLH2aj1J0o0L3NQyCWzdhAGBQ4rZlBwCW7e0kLB+BUbw8BBxXKww2qx2Bn94JiEptq4p5Au2PsVFcutneaxy8wZZvahNicf0wYlpl+GlVBFiaD48qO0lBQ1nV+JJsIARzl1gHEjXK+UZ8wwju6WTbeE8OHIq+BivxMGnfD8U7v7vV5Hg+yS92SPhOQz6ZIf5Iz0CPd2vK/ekXfsv/O7/ol/ukz1vbrmLfkn/J+3IN3L1A==</latexit>

Page 19: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SC2 Problem:● Adapt strategy in presence of rich but incomplete information:

○ No online scoring information, other than teams’ estimates

○ Teams use CIL to report frequency use, radio locations, performance (score) estimates

■ Some CIL veracity checks on spectral use, scores

■ Teams do not have to report their true scores when their scores are above the threshold

○ Incumbents report channel usage, interference received and threshold, threshold violations

○ Spectrum sensing to estimate peer channel usage and detect jamming and active incumbents

Page 20: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Our Strategy - 1

● Design custom radio stack that is:

○ Flexible/agile: able to exploit opportunities in time, frequency & space (cooperative + competitive)

○ Robust: adaptive and capable of operating in presence of strong interference (competitive)

Page 21: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Overall Radio System

tr0 LL-TX PHY-TX MAC TX TX-CH USRP

TX

USRPRXRX-CH MAC

RXPHY-RXLL-RXNET-RX

NET-TX

MCHEM

Pocket Scheduler

SpectrumSensor

CILWorkercol0

tr0

Link Manager

CPU GPU FPGANET=Network, LL=Link Layer, PHY=Physical Layer, MAC=Medium Access Control, CH=Channelizer

Data flow Control info flow

Jam./Inc.Estimation

InterferenceMap

Decision Engine

Page 22: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

MAC: Time-Freq Pocket Structure

DATA DATA DATA HOT POCKET DATA

DATA DATA DATA DATA HOT POCKET

DATA HOT POCKET DATA DATA DATA

DATA DATA HOT POCKET DATA DATA

HOT POCKET DATA DATA DATA DATA

Time

Freq

/ C

hann

el

● 40MHz bandwidth channelized into 79 1MHz channels separated by 0.5MHz● Dynamically choose a subset of non-overlapping channels to use● Repeating frames of 10 time slots, each 56ms in duration● Each pocket (time-freq slot) can deliver ACKed data from one SRC to multiple DSTs● Randomized “hot pockets” for broadcasting network management info and ACKs● Packetized PHY transmission● Each radio can simultaneously transmit and receive on multiple channels

Page 23: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

DATA PocketHot Pocket

Guard Time

Measured PSD (dBFS)

Page 24: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

PHY: TX & RX

LL TX TurboEncoder MOD Header+CP

Insertion MAC TX

PHY TX

RX-ASMB MAC RXACQFD-EQZSDDEMOD

TurboDecoderLL RX

USRP

PHY RX

AGC

RX HIST

● Turbo code: Incremental redundancy with base rate-⅚ code, rate-½ code for robust TX

● FD-EQZ: CP insertion can be turned off; FD-EQZ does CFO correction, phase sync, RX beamforming ● Adaptive modulation: QPSK, 16QAM, 64QAM

Page 25: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Radios Must Adapt and be Robust to Many Challenges:

Page 26: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Everything is adaptive

● PHY: Acquisition, Modulation, Coding, TX Power, RX Gain● LL: Channels and Time Slots/Channel, Mapping of SRCs to Time Slots● NET: Supported flows, admission control granularity down to individual files/bursts● Other: Channels to jam

Page 27: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Spectrum Access Action by Decision Engine

● Decision engine attempts to maximize our team’s match score :

○ which flows are transmitted

○ which channels are used and by which radios

○ which flows are sent in which pockets

● Spectrum access action = Pocket Schedule● Action space is huge!

○ 40 channels x 10 time slots = 400 pockets○ As many as 100+ flows○ 100400 possible pocket schedules!

Page 28: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Inputs to Decision Engine

● QoS mandates for our team’s flows● Estimated number of achieved mandates and total mandates for our network● Information on throughput per pocket expected between each SRC-DST pair● Peer networks’ IDs (identified based on CIL message characteristics)● Channels used by our network and by peer networks● Estimated channel occupancies from our spectrum sensor (PSD measurements)● Computed SINRs from our interference map (GPS and voxel info from CIL messages)● Estimated achieved and total mandates from competitor networks (Performance

info from CIL messages)

Page 29: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Decision Engine Design● No ML black box that can solve spectrum access problem● Decompose problem into smaller pieces:1. Channel selection

○ Determines target set of channels C to be used by our network○ ML and expert system/control/optimization approaches

2. Admission control○ |C| determines number of pockets available○ Estimates number of pockets needed to support each flow○ Iterative process to determine set of flows to admit in order to maximize points scored

3. Pocket schedule assignment○ Linear program to allocate number of pockets to satisfy latency requirements of all admitted flows○ Greedy algorithm to assign pockets in each frame to satisfy mandates of all admitted flows○ Maps to channels in C based on worst-case SINR over links of SRC-DST pairs in above assignments

Page 30: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Channel Selection by Reinforcement Learning

● Still need to reduce size of state space:○ Construct “right” features from input parameters to maximize match score accounting for

cooperative/competitive scoring function○ Agent specialized for each peer network and each scenario

● Trained (SARSA) offline using data from Freeplay jobs● Q-value function filled in by standard neural network with one hidden layer● Policy used online● Total number of channels from all peers by aggregating actions from all agents

● Not used in SCE because of limited training data, rapidly changing peer strategies, and conflicting match/round/championship objectives

Page 31: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SCE Competition Structure10

SCE Tournament Structure

Final Round

Play-In Round Elimination Rounds1 2 3 4 5

15

PE2 Teams

Scen

ario

6

10

SCE Teams

Scen

ario

Scen

ario

2

Scen

ario

3

Scen

ario

4

Scen

ario

5

Scen

ario

1

Grand Prize Winners

SC2 Championship Event (SCE) – Oct 23

9 8 7 6 5

Sept 3

# Teams

Tournament Structure

• A qualifier & an SCE-Play-In will be run to select 10 teams to enter the tournament (discussed later)

• Competition will be run in 5 Rounds and 1 final Championship Match

• Each round is run in round-robin fashion to determine ranking (same as PE2)

• A team will be eliminated in each round (survivor style)

• After 5 rounds, the surviving 5 teams will advance to a single Championship Match

• The Championship Match will evaluate and rank the five teams, with prizes being awarded to the top 3 teams

Qua

lifie

r

Further dissemination only as directed by DARPA Director’s Office or higher DoD authority

Page 32: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Our Strategy - 2● To make it more difficult in the SCE, elimination and final rounds have

conflicting objectives○ Elimination rounds: Maximize cumulative match scores over many matches (more cooperative)○ Final round: Maximize match score in each match, i.e., rank as high as possible (more competitive)

● Competitive > Cooperative in SCE:○ No info to identify whether in elimination or final round○ Very difficult to have a strategy that works best in both because of conflicting objectives○ Final round determines winner○ Just need to survive elimination rounds○ Elimination matches also favors competitive

Spectrum sharing strategy to win each individual match (more competitive)!

Page 33: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Our Strategy - 3

● Use ML to identify teams ● Determine when we are playing against a set of “Best Teams”:

MarmotE, Zylinium , Erebus

● Championship Mode: Be ultra-aggressive whenever see all these teams in a match

○ Use extra channels to allow data to be sent with more robust modulation and allow for more and faster retransmissions

○ Jam other teams aggressively whenever we think those teams are potentially outscoring us

Page 34: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SCE Round 4: Slice of Life

Page 35: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

SCE Round 4: Slice of Life

Page 36: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Lessons Learned● Start from robust, adaptive radio● Essential to optimize strategy based on objective (scoring rules) —● Competition changed from cooperative to competitive

○ Tie-breaker scoring for elimination rounds made being aggressive a good strategy

○ Added many features in last 2 weeks to make our radio more aggressive and robust:

■ Redundant channels

■ Jamming

■ Championship mode

Page 37: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Lessons Learned● No machine-learning “kumbaya” black box that can solve spectrum access problem● Domain-specific engineering to decompose problem● Not enough training and validation data for ML

○ Need a less resource-intensive simulation environment to train ML algorithms

● Peer strategies (and probably radios) rapidly changed during last few weeks of SC2○ ML algorithm (operation after training) couldn’t catch up○ Switched to ES algorithm○ Probably need more exploration and switching system to cope with rapid updates

Page 38: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Open Research Problems

● How to train multi-agent reinforcement learning agents with large state and action spaces? Need simulation environment and new algorithms?

● How to ensure ML solutions are robust when new situations are encountered?● How to set up a “scoring” metric that encourages collaboration and responsible

behaviors?● How to make CIL practical?

○ How to protect privacy/security of participants? (Geolocation information, competition-sensitive performance info)

○ How to ensure truthfulness? (Participants may lie about spectrum use, priorities, performance.) How to police spectrum usage and who should do it?

○ How to assign priorities across (or even within) coalition teams?

Page 39: DARPA Spectrum Collaboration Challenge (SC2) · Spectrum Access Action by Decision Engine Decision engine attempts to maximize our team’s match score : which flows are transmitted

Team GatorWings

Acknowledgements

● 2 million thanks to our student team members for their dedication and hard work!● DARPA SC2 Team for running SC2 and developing Colosseum● DARPA SC2 Prizes and NSF EAGER Grant 1738065 for supporting our team’s efforts● L3Harris for loaning us two Ettus X310 radios● Our families for putting up with us during the past 3 years

“Luckily, we are all still married.” – Miklos Maroti, Team MarmotE

Thank You!