National Instrument’s (NI) LabVIEW is well known for its use in control, test and measurement, and development environments. This includes software defined radio (SDR). NI test and measurement hardware is also utilized for SDR work so it is no surprise that NI targets this space. NI’s latest offering not only delivers SDR support hardware but NI has tuned LabVIEW and given it some new features designed specifically for the SDR design flows. It also works with the new Universal Software Radio Peripheral (USRP) RIO (Fig. 1) that incorporates a Xilinx Kintex-7 FGPA. Versions are available to handle frequencies up to 6 GHz with a 40 MHz bandwidth.
The new LabVIEW Communications System Design Suite (LabVIEW Communications) targets SDR development for applications like Orthogonal frequency-division multiplexing (OFDM) LTE and 802.11. It allows applications to be moved from conception to FPGAs for real time evaluation of the designs. This process often involves a number of groups from scientists that design the algorithms for developers that need to make these designs run on actual hardware. Minimally it means moving from floating point designs to more efficient and cost effective fixed point hardware.
These groups often used they own toolsets requiring migration of a design from one to the other taking time and potentially adding errors to the mix. LabVIEW Communications allows a single suite to be used. It does incorporate LabVIEW as the base but it required some major enhancements to streamline SDR development.
In particular, LabVIEW Communications adds the multirate diagram (Fig. 2) that uses the new GMRD (G multirate diagram) graphical programming language. It looks a lot like the LabVIEW G language using blocks and wires between blocks with similar dataflow semantics but the system operates a bit differently than standard LabVIEW. The new diagram programs are synchronous dataflow systems. In fact, some of those little numbers that can be shown with each block are the bandwidth at that point.
NI could have gone with a conventional LabVIEW implementation but the result would be significantly more complex to the developer. It would also be familiar to a programmer but not the SDR design teams working on the initial application.
LabVIEW supports blocks that contain C code as well as MATLAB .m code. This can also be used with LabVIEW Communications. Often the initial algorithm design is done in MATLAB.
The tools are also designed to turn the multirate diagram that normally starts using floating point to fixed point. It has the capability of determining the number of significant digits needed for the computations involved and the desired results. The system generates histograms and underflow/overflow tables that let developers see how the design fares.
The UI includes a button to provide a clone of the current implementation so designers can easily make incremental changes whose performance results can be compared. This allows tuning of the fixed point implementation while making sure that the results are within spec.
The end result is an implementation that can be downloaded to the FPGA in the USRP RIO. This is a LabVIEW implementation that provides advanced debugging support. The system is integrated with Xilinx’s Vivado (see “FPGA Design Suite Generates Global Minimum Layout” on electronicdesign.com) FPGA design tool. This makes it easier to integrate other functionality into an FPGA design.
The LabVIEW Communications currently supports two application frameworks. One is for LTE and the other is for 802.11. They are ready-to-run, compliant source code implementations that developers can build on.
The system has already been used for major projects. Nokia cut a year off its design cycle allowing it to demo 5G technology. LUND University had a real-time prototype with 100 MIMO antennas up and running in six months.
Some of the new features in LabVIEW Communications that are more generic may wind up in mainstream LabVIEW in the future. In the meantime, SDR developers will get to take advantage of the entire suite.