Rapid Prototyping of Wi-Fi MAC Layer Protocols

Simon Yau, Texas A&M University

"Using a USRP RIO FPGA-based SDR, LabVIEW Communications, and the 802.11 Application Framework, we created a testbed for rapidly prototyping wireless MAC protocols for 802.11 WLAN research. We took advantage of the capabilities of both the hardware and software tools to quickly create a system that we could begin experimenting with."

- Simon Yau, Texas A&M University

The Challenge:

Reducing the time and cost of prototyping WiFi medium access control (MAC) protocols using a network of real-time wireless devices.

The Solution:

Using the rich set of FPGA IP available in the 802.11 Application Framework and LabVIEW Communications System Design Suite to quickly develop a real-time wireless testbed to prototype novel MAC layer protocols using a highly reconfigurable and flexible MAC/PHY layer architecture.


At Texas A&M University, the Computer Engineering and Systems Group and Information Science and Systems Group collaborate on a wide range of research topics that include wireless communications, networking, signal processing, and cyber-physical systems. These groups understand the importance of prototyping to determine the feasibility of theoretical solutions to real-world problems and specialize both in theoretical research and developing real-world systems.


The Problem

Many MAC protocols have been proposed over the years, but few have actually been implemented in real-time systems. In contrast to the network and physical (PHY) layers that have been much improved as a result of extensive real-world prototyping, MAC layer research has remained largely theoretical and simulation based. If left unaddressed, the MAC layer can become the limiting factor in achieving high-throughput, low-latency wireless networks. Unfortunately, prototyping MAC protocols is challenging as the PHY and MAC layers are tightly coupled. In most systems, only a limited set of MAC features can be modified independently of the PHY layer as more extensive changes to the MAC layer typically require similar changes to the PHY layer as well. The goal of this project is to develop a reconfigurable platform that provides greater flexibility for MAC layer researchers to go from theory and simulation to real-time prototyping.


Our Project

Our goal with this project is to create a novel MAC layer architecture consisting of mechanisms and policies. The policy of a MAC protocol refers to the high-level instructions a system must perform at typically slower rates. On the other hand, the mechanisms of a MAC protocol are the actual low-level functions that the system performs. Figure 1 shows an example of mechanism-policy separation for an 802.11 wireless local area network (WLAN) node implementing carrier sense multiple access (CSMA) or similar variants. An example of a policy in this case is the specification of a device’s back-off time prior to transmission and the equations that define subsequent back-off values. The mechanisms for this example are the counters that keep track of back-off values and initiate transmissions at specified time instances. We can generalize the separation framework to include other MAC algorithm variants specified in 802.11 and other communication protocols such as cellular protocols.


To develop this separation framework, we first examined different classes of MAC protocols and determined a set of mechanisms essential for their development. We extended the ideas from Ansari, Zhang, and Mähönen in “A Compiler-Assisted Approach for Component-Based Reconfigurable MAC Design,” and Tinnirello, Bianchi, Gallo, Garlisi, Giuliano, and Gringoli in, “Wireless MAC Processors: Programming MAC Protocols on Commodity Hardware,” to create a means of changing the policy of the system without changing the hardware. To implement the proposed MAC mechanisms for real-time execution, we chose FPGA-based software defined radios (SDRs) as the platform to rapidly modify our designs in hardware and to test many different MAC protocols.


Why We Chose NI

At the outset of our project, we considered two other development platforms: SORA and WARP. Microsoft Research created the SORA platform to enable users to reprogram 802.11 WLAN nodes using only software. Although it performed well in throughput tests, it lacked the flexibility needed to implement all of our designs. Researchers at Rice University created the WARP Radio, which is more flexible than SORA. However, we did not select it because of the support offered through the NI Lead User Program, the ease of programming FPGAs with the LabVIEW Communications System Design Suite, and the availability of real-time 802.11 PHY layer reference design.


We collaborated with NI to achieve our project goals to develop a novel test platform for the rapid prototyping of MAC protocols. The collaboration provided us with training material, hands-on sessions, and weekly meetings for code reviews and discussions to help us get started quickly. In contrast, using the WARP Radio platform would require extensive knowledge of C programming and other hardware description languages (HDL) for programming the FPGAs. The time required to become proficient to accomplish our goals was beyond the scope of our project. However, we could use LabVIEW Communications and the higher layers of abstraction it delivers to simplify the FPGA programming and develop our test system in an acceptable period of time. Furthermore, the NI WiFi software reference design, LabVIEW Communications 802.11 Application Framework offered us a real-time 802.11 PHY layer and lower MAC, which further reduced our testbed development time.


The Outcome

Using a USRP RIO FPGA-based SDR, LabVIEW Communications, and the 802.11 Application Framework, we created a testbed for rapidly prototyping wireless MAC protocols for 802.11 WLAN research. We took advantage of the capabilities of both the hardware and software tools to quickly create a system that we could begin experimenting with.


In our testbed architecture, we created several commonly used mechanism blocks on the FPGA with functionality that we could specify for a given MAC policy in software on a host computer. We deployed the proposed hardware and software architecture on four USRP RIO systems serving as WiFi nodes to successfully demonstrate three MAC protocols, two of which had never been implemented in real-time systems. Our experiments showed that the real-world performance of the WiFi network matched that of our theoretical analysis of the various MAC protocols.


In August 2015, we successfully demonstrated our MAC/PHY prototyping testbed at SIGCOMM as part of our first project milestone. We plan to continue developing the platform to add support for other classes of MAC protocols, with emphasis on power control and improvements to real-time performance. Our ultimate goal is to create a multinode testbed for prototyping 802.11 wireless MAC protocols to share with others in the research community. By creating a system that empowers users to implement new MAC protocols through a user friendly software API, we envision researchers from around the world accessing our system remotely without being physically present in our labs, thereby accelerating the innovation of real-world MAC layer research.


Author Information:

Simon Yau
Texas A&M University

Figure 1. Example of Mechanism-Policy Separation: 802.11 WLAN. (CW=Contention Window, ACK=Acknowledgement)
Figure 2. Wireless node prototype example for 802.11-like system. We added mechanism blocks to PHY and MAC layers that can be configured via policies specified in software on the host PC to implement and study different MAC protocols.