In today’s fast-paced digital world, the push to connect more devices and share more data presents a variety of challenges for wireless researchers. One such challenge is the race to define the next generation of wireless communications standards. In this pursuit, the tools employed by those in government, academic, and commercial labs around the world can have a substantial impact on the pace of innovation and discovery. While many communities and platforms have formed to enable greater collaboration and quicker paths to prototypes, this article examines the critical gaps which still exist among the tools available today and the new technology on the horizon that will help designers rapidly prototype new wireless systems.
There has been a growing shift towards validation of new communications algorithms with real-world prototypes in the wireless research space. For years prior, research and design efforts were focused heavily on theory and simulation. Prototyping was often avoided or performed in low fidelity, as it was expensive and time consuming to commit to a proper prototype. Many radical new algorithms have been proposed, and as funding to accelerate research has become more readily available, there has been a growing emphasis on real-world prototypes to help direct investment towards more promising technologies. With this increasing demand for prototypes, many new platforms have emerged. Prominent among them are growing software platforms that are open-source, community-built tools for wireless communications. Notable examples include GNU Radio and NS-3, which are contemporary open source efforts that are now witnessing strong adoption from designers across industries.
Open Source Software
GNU Radio provides common signal processing blocks that designers can stitch together to define a signal chain. GNU Radio Companion (GRC) offers a graphical environment for users to create flow graphs that connect these blocks and SDR hardware. GRC is a powerful tool for prototyping systems in which the processing can be done on a host PC. However it can be difficult to meet the tight timing constraints of wireless standards like 802.11 with the processing speed of a host PC. SDR hardware offers users the ability to run their algorithms on FPGAs, but the software skills needed to use this hardware are non trivial. Algorithms written as GNU Radio blocks or C must be converted to fixed-point math and re-written in Verilog or VHDL. This process, in addition to requiring strong programming skills in a number of languages, makes debugging difficult. Determining whether the root cause of an issue is with the algorithm, fixed-point math conversion of the algorithm, or the Verilog implementation of the algorithm is difficult.
NS-3 is a Linux-based network simulator that relies on virtual machines to test a system before performing costly field deployment. It can be scaled to a distributed model in which virtual machines can be run on other real systems that are connected to the simulation. Furthermore, it’s possible to connect the simulation to I/O to realize a higher fidelity prototype with more realistic channel impairments. However, it’s worth noting that even such “simulation in the loop” systems today are limited in that NS-3 is typically run on processor-based systems that may not be able to achieve the real-time processing necessary to guarantee low latencies.
One solution to achieve higher performance prototypes is for designers to use a Linux kernel with the PREEMPT_RT patch, which will provide deterministic performance. While this technique helps to better bound system jitter and realize lower latency prototypes, it does require some knowledge of Linux to achieve. Furthermore, depending on the underlying hardware system, the design team may require additional specialization to optimize PREEMPT_RT parameters to achieve necessary system performance.
For those researchers limited to processor based systems, PREEMPT_RT can guarantee a step function in system determinism, from loop rates on the order of milliseconds to loop rates on the order of microseconds. Given that a standard LTE subframe is on the order of a millisecond, a system that offers jitter bounded on the order of microseconds would enable processing and modification on a subframe basis—a task that is impossible with a non real-time operating system running on a processor.
Beyond PREEMPT_RT, researchers can alternatively look to modern software defined radios that include a user-programmable FPGA. FPGAs are of particular interest as they can guarantee jitter on the order of nanoseconds, which is ideal for physical layer (PHY) prototyping. Unfortunately, transitioning a design to an FPGA is also a costly proposition using typical industry tools that demand specialization in HDL to properly program.
The recently announced LabVIEW Communications System Design Suite from NI offers a remedy for designers seeking a faster, more approachable path from algorithm to FPGA implementation. While this greatly enables researchers evaluating different physical layer (PHY) algorithms, a design platform with a real-time operating system is required for media access control layer (MAC) algorithm deployment. In fact, a majority of the next generation wireless research requires the ability to prototype both the PHY and MAC layers using an FPGA and a real-time processor.
Utilizing FPGA-based SDR Hardware
To address this unmet need, NI is actively working to expand LabVIEW Communications System Design Suite to provide wireless communications designers with a unified path to both a processor running a real-time operating system and an FPGA. By using modern software defined radios with microprocessors running NI Linux Real-Time along with large user programmable FPGAs, designers will not only be able to seamlessly move from algorithm to FPGA, but scale their designs to take advantage of the PREEMPT_RT based NI Linux Real-Time OS to realize high fidelity MAC layer prototypes. Seen in this light, the LabVIEW Communications System Design Suite becomes a unified system design tool that provides the fastest path from algorithm to FPGA-based prototype and expands the path to real-time processors in addition to the FPGA.
As a member of The Linux Foundation and as one of the leading organizations driving the PREEMPT_RT project, NI is in a unique position to deliver these tools to algorithm designers looking to prototype novel communications systems. Without having to invest in the expertise to apply the PREEMPT_RT patch to their current prototype systems, designers will be able to transition their existing GNU Radio and NS-3 based applications to the software defined radios that NI is developing.
Existing prototypes, such as the CROWD project’s NS-3 based prototype relying on NI’s software defined radios for I/O can be upgraded to achieve better throughput and extend the research being performed on dense networks. Similarly, Nokia’s mmWave system can be expanded more easily beyond the physical layer with NI Linux Real-Time, as the design team can rely on tools such as GNU Radio and NS-3 to more quickly implement a MAC layer to their current prototype.
Alternative software defined radios from other vendors also offer Linux, and in some cases PREEMPT_RT patched Linux; however, they do not offer the same integrated design flow nor the jitter achievable on NI’s software defined radios, which are further tuned for performance beyond simply running a PREEMPT_RT patched Linux distribution.
In the race to design solutions and define standards for the next generation of communications, research teams must rely on the platforms and tools that enable them to be most productive. While free, open source software tools such as GNU Radio and NS-3 provide a good starting point for many designers, it’s a platform that can assimilate these technologies, provide a path to the FPGA, and connect algorithms to real-world I/O that will enable teams to innovate more quickly than their competition.
Read more about prototyping real-time wireless systems at ni.com/sdr