Frequency-Aware Rate Adaptation and MAC Protocols

Hariharan Rahul, Farinaz Edalat, Dina Katabi, Charles Sodini
ACM MOBICOM 2009, Beijing, China, September 2009

There has been burgeoning interest in wireless technologies that can use wider frequency spectrum. Technology advances, such as 802.11n and ultra-wideband (UWB), are pushing toward wider frequency bands. The analog-to-digital TV transition has made 100- 250 MHz of digital whitespace bandwidth available for unlicensed access. Also, recent work on WiFi networks has advocated discarding the notion of channelization and allowing all nodes to access the wide 802.11 spectrum in order to improve load balancing. This shift towards wider bands presents an opportunity to exploit frequency diversity. Specifically, frequencies that are far from each other in the spectrum have significantly different SNRs, and good frequencies differ across sender-receiver pairs.

This paper presents FARA, a combined frequency-aware rate adaptation and MAC protocol. FARA makes three departures from conventional wireless network design: First, it presents a scheme to robustly compute per-frequency SNRs using normal data transmissions. Second, instead of using one bit rate per link, it enables a sender to adapt the bitrate independently across frequencies based on these per-frequency SNRs. Third, in contrast to traditional frequency-oblivious MAC protocols, it introduces a MAC protocol that allocates to a sender-receiver pair the frequencies that work best for that pair. We have implemented FARA in FPGA on a wideband 802.11-compatible radio platform. Our experiments reveal that FARA provides a 3x throughput improvement in comparison to frequency-oblivious systems that occupy the same spectrum.

[PDF (922KB)]

Bibtex Entry:

@inproceedings{rahul2009fara,
   author =       "Hariharan Rahul and Farinaz Edalat and Dina Katabi and Charles Sodini",
   title =        "{Frequency-Aware Rate Adaptation and MAC Protocols}",
   booktitle =    {ACM MOBICOM 2009},
   year =         {2009},
   month =        {September},
   address =      {Beijing, China}
}