Monday, March 17, 2014

Journey to the DARPA Spectrum Challenge

On March 18th, 2013, I qualified as a finalist in the DARPA Spectrum Challenge. At that point, I knew next to nothing about SDR, signal processing, or communication theory. I'd never even heard of software defined radio when I signed up for the challenge, but I just can't pass up an opportunity to learn something new.

In 2011, I placed third in the DARPA Shredder Challenge with no prior image processing or computer vision experience, so I at least knew how to work under this type of competitive pressure. As somebody who never went to college, the Shredder Challenge was the first opportunity I'd had to compete on such an elite level, and I discovered that this level of competition and engineering is how I wanted to spend my time.

When I first learned about the Spectrum Challenge on Hacker News, I signed up and immediately got to work learning the very basics of SDR. The qualification round started a few weeks later, and I managed to learn just enough to qualify in 10th place, earning me a spot in the challenge. 

Shortly after qualifying, a care package arrived with a pair of shiny new USRP N210's to develop on. While I was getting my new toys setup, it occurred to me that I just might have a chance of beating some of the university teams if I could stay focused and budget my time well. 

The six months leading up to the preliminary tournament were were absurdly busy, with my time split between work, Burning Man planning, OpenCourseWare/Khan Academy, and writing my software for the challenge. It wasn't an easy task, but leveraging my programming experience allowed me to build a submission I was happy with. 

The preliminary tournament was the first chance the teams had to meet each other, and the first time I'd been in a room with other people working on software defined radio. By the end of the second day, it felt like we were at a sports event, with Yifty commentating, and the crowd cheering. I was in the middle of the pack on the competitive side, but managed to finish the cooperative tournament in second place.

Seeing all of the teams' radios compete was an eye opening experience for me, and I left with the realization that I'd really have to step up my game if I wanted to remain competitive. As soon as the tournament ended, I started looking into who at the University of Washington works with SDRs, and who knows about spectrum sharing. It quickly became clear that Dr. Sumit Roy (director of FUNLAB) was the person to speak with. I sent him an e-mail hoping to get some guidance, and we met as soon as I got back from DC. 

Dr. Roy was kind enough to offer me a desk in his lab and the opportunity to learn from him and the members of FUNLAB, and I couldn't have been happier. Having access to researchers who have dedicated their academic careers to this stuff turns out to be a much better resource than Google :) 

I've spent the last six months steadily improving my SDR proficiency and working on my submission for the final tournament, and in a year's time, I've gone from being a complete novice, to being in a position to do meaningful work in this field.   

The final tournament starts in less than 48 hours, and I'm crazy excited to learn what the other teams have been working on since the preliminary round and to find out how my software stacks up. 

I feel incredibly lucky to have had the opportunity to work on this project, and eagerly await the next DARPA challenge I can sink my teeth into :)