Massive MIMO is an exciting area of 5G wireless research. For next-generation wireless data networks, it promises significant gains that offer the ability to accommodate more users at higher data rates with better reliability while consuming less power. Using the NI Massive MIMO Software Architecture, researchers can build Massive MIMO testbeds to rapidly prototype large-scale antenna systems using award-winning LabVIEW system design software and state-of-the-art NI USRP software defined radios (SDRs). With a simplified design flow for creating FPGA-based logic and streamlined deployment for high-performance processing, researchers in this field can meet the demands of prototyping these highly complex systems with a unified hardware and software design flow.
With the race to 5G now underway, the wireless research community has embarked on a journey to create the technologies of tomorrow that will deliver unprecedented improvements in network throughput and capacity, enhancements in spectral efficiency, reduced end-to-end latency, and increased reliability and more. These improvements are driven by key performance requirements defined by the International Telecommunications Union (ITU) as Figure 1  below summarizes. As shown, the improvements in performance for IMT-2020 (5G) over IMT-Advanced are significant with a 20X improvement in peak data rate from 1 Gb/s to 20 Gb/s. Similarly, the user experienced data rate increases 10X from 10 Mb/s to 100 Mb/s and latency is reduced by a factor of 10 from 10 ms down to 1 ms.
Figure 1. Enhancements of Key Performance Requirements From IMT-Advanced to IMT-2020 
With data rates many times higher than modern-day wireless communication systems, 5G will launch a whole host of new applications and services that will provide consumers with multimedia experiences never before made possible, including ultra-high definition 4K, 8K, and 3D video streaming. Very low latency and ultra-high reliable 5G networks will also enable new mission-critical applications such as traffic safety and control of critical infrastructure and industry processes that require much lower latency compared to modern-day mobile communication systems. Improvements in spectral efficiency from 1X to 3X will also be critical to serve the foreseen explosion of not just consumer electronics but also the many sensors, rendering devices, and actuators associated with the Internet of Things (IoT). Given the limited availability of spectrum and the projected massive number of IoT devices to come online, 5G networks will have to make far more efficient use of spectrum than that of wireless networks today.
Identified as a key candidate technology in achieving greater spectral efficiency is massive MIMO , , . Massive MIMO or some times referred to as Large Scale MIMO, is a form of multi-user MIMO in which the number of antennas at the base station is much larger than the number of mobile stations per signaling resource. The large number of base station antennas relative to the number of mobile stations results in a channel response that is quasi-orthogonal and has the potential to yield huge gains in spectral efficiency. Such conditions would enable many more devices to be served with the same frequency and time resources within a given cell compared to modern-day 4G systems. Figure 2 below shows a comparison of a typical 4G MIMO cell to that of a 5G massive MIMO cell that is equipped with many more base station antennas . The 5G massive MIMO base station equipped with many more antennas would be able to serve far more devices as envisioned by the 5G IoT use case and others.
Figure 2. Evolution of Multiantenna Technology From 4G MIMO to 5G Massive MIMO 
Although promising in theory, massive MIMO has yet to be tested in large-scale field trials to prove its viability for widespread commercial deployment. However, progress has been made with recent findings by Bristol and Lund universities, which show that huge gains in spectral efficiency are achievable in real-time, over-the-air trials , . Using the MIMO Prototyping System shown below in Figure 3, researchers at the Universities of Bristol and Lund achieved a record breaking spectral efficiency of 145.6 bits/s/Hz with 128 antennas at the base station and 22 single antenna mobile stations over a 20 MHz radio channel which amounts to a 22x increase in spectral efficiency over today’s existing 4G networks.
Figure 3. Bristol and Lund universities used the MIMO Prototyping System for massive MIMO research and prototyping.
Although the achievements of the universities have taken massive MIMO one step closer to reality by proving that huge gains in spectral efficiency are indeed attainable in not just computer-based simulations but also in real-world, over-the-air trails, there is still much to be done and many more problems to be solved before commercial massive MIMO networks are rolled out. A few outstanding problems still yet to be solved include the following:
As described above, the need for prototyping Massive MIMO and other technologies is absolutely critical to realizing the 5G vision and to meeting the key performance requirements on spectral efficiency. Prototype systems which run in real-time and transmit/receive actual RF signals under real-world channel conditions must be created as computer based simulations alone are unable to fully capture the complexities of the many unanswered problems which prevent Massive MIMO from becoming a commercially viable technology. For example, in order to fully understand the propagation characteristics of the Massive MIMO channel, researchers must also understand the effects of RF circuit imperfections and other hardware limitations of multi-channel systems which affect the synchronization and coherency of signals at base band. Real-time processing limitations throughout all layers of the communication system from PHY to Application must also be well understood and accounted for, in order to ensure seamless, high-quality, and highly-reliable services can be delivered to users.
Although necessary, prototyping real-time wireless communication systems has traditionally presented a number of challenges that have largely limited the speed at which proof of concepts (PoCs) can be developed. The process of taking concepts that have been modeled in desktop simulations to a working prototype that processes data at rates in excess of 1 Gb/s has traditionally required large engineering teams with highly specialized skills in RF and baseband hardware development, driver development, real-time embedded software programming, digital circuit design, signal processing, and so on. The problem is further compounded as the tools required to create such systems span across many different vendors that further require highly specialized skills not only in developing hardware or software but also in using a given vendor's tool.
In light of these challenges, National Instruments offers a complete prototyping solution for multi-user MIMO research, including Massive MIMO. The National Instruments MIMO Prototyping System includes everything required to get a real-time, over-the-air multi-user MIMO system up and running immediately out of the box without the development of any additional code . Shown below in Figure 4 are the three main components to the MIMO Prototyping System including (1) state-of-the-art SDR hardware, (2) a single unified software design environment, and (3) real-time FPGA IP as part of a MIMO software reference design. Together, the three components of the MIMO Prototyping System significantly reduce the challenges in prototyping real-time wireless communication systems compared to traditional prototyping methods to accelerate the development of next generation communication systems.
Figure 4. The MIMO Prototyping System is a complete multiuser MIMO prototyping solution including hardware, software, and IP.
The MIMO Prototyping System includes all the necessary hardware to implement a multiuser MIMO communication system. From the remote radio heads (RRH) to the CPU and FGPAs, all the hardware needed to create a fully streaming, real-time, phase-coherent and time-synchronized, multichannel system is included out of the box. By eliminating the need for users to develop their own hardware and drivers, the MIMO Prototyping System provides users with enormous value by also eliminating costly R&D expenses and equally costly delays in schedule because of errors in hardware design. With reliable hardware that meets a wide range of specifications for a number of MIMO systems, users can focus on the development of custom application code to demonstrate the viability and value of their technologies.
The MIMO prototyping system supports a modular architecture based upon the USRP RIO that scales in RF channels to enable single user MIMO (SU-MIMO), multi-user MIMO (MU-MIMO), and Massive MIMO . The number of base station antennas can be configured to support as few as 2 or as much as 128 antennas. Phase coherency and synchronization across RF channels is enabled through a highly stable OCXO clock source that is distributed to the various radio heads throughout the system along with high speed digital trigger signals. Mobile stations are also included as part of the system and can scale in the number of antennas from 1 to 12. Photographs of the base station and mobile station hardware are shown below in Figure 5.
The hardware also supports a modular FPGA architecture which scales in FPGAs in order to deliver more computational power for highly intensive signal processing tasks for real-time applications which require high channel counts and wide bandwidths. Up to 64 dual-channel USRP RIO devices are used as radio heads equipped with a high-performance Xilinx Kintex-7 FPGA which perform OFDM modulation and demodulation. IQ samples are routed from the radio heads through the system at high speed via low-latency PCI Express connections and then transferred to PXIe-7976 PXI FPGA modules (also equipped with Kintex-7 FPGA’s) for centralized MIMO processing.
A PXIe-8135 controller equipped with an Intel i7 quad-core CPU performs host-side processing of control-related tasks including the configuration of the number of antennas and the associated routing of IQ samples throughout the system. Scheduling of uplink/downlink traffic on radio frames is also software configurable along with the QAM modulation order of each mobile station. Other tasks such as the visualization of data including the uplink receive signal spectrum and the channel estimates for each antenna is also performed on the host as a means of monitoring the status of the system.
For more details on the MIMO Prototyping System hardware architecture including technical specifications of individual components and their various interconnections, refer to the white paper, Introduction to the NI MIMO Prototyping System Hardware.
Figure 5. MIMO Prototyping System: 128 Antenna Base Station (left and bottom right) and Mobile Station (upper right)
LabVIEW Communications is a complete software design environment that unifies the development of applications that require high-speed, low-latency, real-time, embedded processing on both microprocessor and FPGA targets such as multiuser MIMO and other communication systems. Such heterogeneous processing architectures that consist of embedded processors and FPGAs are common in SDR hardware architectures like that shown below in Figure 6. Unlike traditional methods of programming such applications that require multiple programming tools from a number of different software vendors to perform the equivalent development for different hardware targets, LabVIEW Communications offers all the necessary design capabilities needed to develop a fully streaming, real-time, over-the-air, wireless communication system in a single development environment. LabVIEW Communications greatly improves the overall development process by seamlessly integrating the various software development tools needed to take a PC-based simulation model of a communication system to a fully functional, real-time prototype with application executables distributed over different hardware targets.
Whether developing a real-time MAC layer protocol that controls the scheduling of transmissions for network users on an embedded processor or a high-throughput MIMO PHY layer on the FPGA, LabVIEW Communications provides all the necessary tools to do so in a single design environment. Furthermore, as all the hardware drivers for the MIMO Prototyping System are also accessible in LabVIEW Communications through a simple and intuitive API, hardware related tasks, such as the transfer of data between the CPU and FPGA or control of the RF front end, can be seamlessly integrated into the execution of the various layers throughout the communication stack.
Figure 6. A typical SDR hardware architecture consisting of CPU and FPGA processing targets that are programmable in LabVIEW Communications.
The following summarizes a few of the software development features in LabVIEW Communications.
LabVIEW Communications includes software development tools to create CPU-based applications for real-time wireless communication systems. With a real-time Linux -based OS, LabVIEW Communications includes capabilities such as built-in constructs for multithreading and real-time thread scheduling to help users efficiently write robust, deterministic code to ensure time-critical operations execute consistently and reliably with no loss of data for functions related to the MAC and other higher layers of the communications stack. Understanding the importance of code reuse, LabVIEW Communications also supports other programming languages including C and C++ so that users can import and reuse existing IP.
For FPGA-based applications that require strict timing determinism at a circuit level such as computationally intensive digital signal processing or time-critical MAC layer operations, LabVIEW Communications provides all the software development tools needed to create FPGA IP for wireless communication applications. In addition to developing large complex FPGA applications based on circuit primitives, LabVIEW Communications also includes Xilinx IP for a number of signal-processing functions and also enables other sources of HDL code to be imported and reused to improve productivity. LabVIEW Communications also includes built-in cycle accurate simulation and debugging tools to eliminate errors in code prior to lengthy compilation.
In addition to improving the development process of real-time wireless communication application code for heterogeneous hardware targets, LabVIEW Communications also simplifies the process of integrating the application code with the surrounding hardware, ensuring both software and hardware work seamlessly together. For hardware-related operations that are critical to the performance of MIMO systems, such as the synchronized triggering of multiple RF channels or RF calibration to support channel reciprocity as in the case of massive MIMO, LabVIEW Communications also provides extensive software APIs for numerous hardware tasks related to timing and synchronization, control of RF circuits, the streaming of data across processing targets, and many more. Moreover, as NI develops both the hardware and software for the MIMO Prototyping System, as opposed to other systems that combine hardware from different vendors, hardware and software integration can be performed reliably and consistently, ensuring that the entire system behaves predictably as expected each and every time.
The MIMO Application Framework is an advanced FPGA-based software reference design built in LabVIEW Communications that pairs with the MIMO Prototyping SDR hardware to form a complete real-time, over-the-air prototyping solution for SU-MIMO, MU-MIMO, and Massive MIMO research and experimentation. The MIMO Application Framework is ready-to-run right out of the box, requiring no additional modifications or code development to get a fully functional MIMO system up and running quickly. Moreover, as all of the FPGA and Host source code is shipped with the MIMO Application Framework, researchers can completely modify the system with their own custom designs and algorithms to evaluate the performance of their technologies under real world conditions, rather than relying on desktop simulations which make use of incomplete and highly-abstracted assumptions that lead to inaccurate results.
By providing an advanced starting point for building custom designs, researchers can save tremendous amounts of time that would have otherwise been required to develop their own equivalent solution from scratch. Understanding the importance of timely results under tight budgetary constraints, the MIMO Application Framework accelerates the development process of MIMO prototypes and PoCs by providing a software reference design that provides an extensive baseline set of features and capabilities common to many MIMO communication systems. With use of these baseline set of features, researchers can focus their time and effort on the development of new features and capabilities specific to their research goals rather than struggling through the challenges of creating the complete system from the ground up. By spending less time on the development of application code, researchers can instead focus on that which is most important – achieving results.
The MIMO Application Framework is a fully streaming, real-time, multi-FPGA implementation of a scalable multiuser MIMO PHY layer that supports both uplink and downlink transmission at the base station and mobile stations. Designed to be used for a variety of MIMO-based applications, the MIMO Application Framework includes the following features summarized in the list below:
Additional details on these features are provided in the following sections.
The MIMO Application Framework supports SU-MIMO, MU-MIMO, and Massive MIMO all within a single code base. As shown below in Figure 7, a wide range of network configurations can be created varying in (1) the number of mobile stations and (2) the number of antennas for all of the devices within the system, i.e. base station and mobile stations. From a single base station and mobile station pair for SU-MIMO experimentation to multiple mobile stations each with varying number of antennas for MU-MIMO experimentation, the MIMO Application Framework is unmatched in flexibility and scalability to meet the demanding requirements of a whole host of MIMO applications including Massive MIMO.
Figure 7. Multi-user MIMO (MU-MIMO) compared to single user MIMO (SU-MIMO).
The MIMO bases station and mobile stations can be configured with a variable number of antennas depending upon the requirements of an application. The MIMO Application Framework supports up to 12 spatial layers in both the uplink and downlink directions and can be modified to support additional layers if needed. With such capabilities, a wide range of different MIMO configurations can be realized across all the mobile stations and base station within a network. A few examples of different MIMO configurations are listed below in Table 1 to illustrate how the MIMO Application Framework can be used to conduct experiments for SU-MIMO, MU-MIMO, and Massive MIMO. Please note that use of the MIMO Application Framework is not limited to just these three examples, but can be used for many others.
The MIMO Application Framework provides seamless control of the SDR hardware and underlying PHY layer by allowing users to configure the number of antennas through software without the need to change or modify the FPGA design. This best-in-class software experience provides users with a high degree of flexibility to simplify the overall process of setting-up and conducting MIMO experiments.
Number of Base Station Antennas
Number of Mobile Stations
Antennas per Mobile Station
Up to 128
|Up to 12|
Up to 128
|8 for MS1, 4 for MS2|
Up to 128
|4 for MS1, 4 for MS2,
2 for MS3, 1 for MS4, 1 for MS5
Table 1. Examples of various MIMO configurations using the MIMO Application Framework. Note that use of the MIMO Application Framework is not limited to just these three examples, but can be used for many others.
The MIMO Application Framework includes real-time FPGA IP to perform MIMO precoding in the downlink (DL) and MIMO equalization in the uplink (UL) for matrix dimensions of up to 128x12, where 128 corresponds to the maximum number of base station antennas and 12 corresponds to the maximum number of spatial streams. A block diagram of the signal processing chain for the Massive MIMO base station is shown below in Figure 8. The MIMO Application Framework employs a TDD frame structure in order to exploit channel reciprocity. Channel estimates obtained in the UL are used to compute the DL MIMO precoder prior to transmission. Depending upon channel conditions, the precoded DL MIMO signal is then received by each of mobile stations free of interference. The MIMO Application Framework includes the following three built-in MIMO equalizer options that are also software selectable: minimum mean square error (MMSE), zero forcing (ZF), and maximal ratio combining (MRC).
Figure 8. Block diagram of the Massive MIMO base station signal processing chain.
To make use of channel reciprocity, a number of conditions must be met, including the accurate estimation of the UL channel response, excluding contributions from the RF circuitry for each of the antenna channels at the base station and mobile stations. To this end, the MIMO Application Framework includes automated routines to perform the calibration of the various base station RF front ends whereby the frequency response of each RF chain is estimated in both the UL and DL direction. Estimates of the RF front ends are then applied to the UL channel estimation process to ensure accurate measure of just the over-the-air channel is achieved.
The MIMO Application Framework makes use of an 3GPP LTE like TDD radio frame structure. The radio frame structure is completely modifiable through software, requiring no additional changes to the FPGA design, and allows users to quickly adjust the behavior of the system on a per mobile station basis to meet their research goals and requirements. Such modifications to the frame structure include the ability to change parameters such those below.
A diagram of the radio frame structure is shown in Figure 9, which includes information at the frame level down to the OFDM symbol level. Additional information on other system parameters is also listed in Table 2. Note the similarities to the LTE standard for the 20 MHz transmission mode .
Figure 9. Application Framework TDD Signal Frame Structure
|Bandwidth per channel||20 MHz|
|Sampling rate||30.72 MS/s|
|Number of used subcarrier||1,200|
|Number of resource blocks||100|
|Number of OFDM symbols per slot||7|
|CP length (samples)||
160 (first symbol)
144 (six following symbols)
|Frame duration||10 ms|
|Subframe duration||1 ms|
|Slot duration||0.5 ms|
Table 2. MIMO Application Framework System Parameters
Understanding the importance of power control, the MIMO Application Framework includes software routines that automatically adjust the power levels. This includes both automatic gain control (AGC) logic at the receivers of mobile stations and the base station, as well as open loop power control at the mobile station uplink transmitters. Doing so ensures signals are received at both ends of the link at power levels which increase the likelihood of properly being demodulated with minimal errors. Moreover, because the process of adjusting power levels is completely automated, users are not required to make manual adjustments to the many RF transceivers at the mobile stations which can be a time consuming process for large networks - enabling users to get up and running quickly, right out of the box.
A series of screen shots shown below show how users can monitor and interact with the MIMO Application Framework through its intuitive user interface. Note that the user interfaces for the base station and multiple antenna mobile stations are very similar as both support multiple antennas. The examples below show screenshots for the base station and the single-antenna mobile station.
Shown below in Figure 10 is a screenshot of the base station “UL MIMO Processor” tab of the MIMO Application Framework. Displayed in it, are IQ plots of the uplink received signal constellations for up to twelve spatial streams – providing users with an immediate indication of how well the overall system is performing and a qualitative sense of the received signal-to-noise ratio (SNR). Additionally, shown near the top and center of Figure 10, is the measured, aggregate uplink received signal throughput for all the mobile stations which also provides users with a measure of how successfully data is received at the base station based upon knowledge of the transmission rate for each mobile station. Likewise, the downlink transmission rate is also displayed and can be used in a similar way to assess the quality of the transmission in the downlink direction.
Figure 10. MIMO Application Framework Uplink Receive Constellations
Shown below in Figure 11 is a screenshot of the base station “UL Data” tab of the MIMO Application Framework. In it, are plots of the uplink throughput for each spatial stream as a function of time, providing users with additional means of monitoring the performance of the system over longer periods of time. In this example, four spatial streams are received at the base station wherein the uplink throughput for each of the streams is shown in different colors. As shown in Figure 11, the total uplink throughput for all four streams is approximately 54.7 Mbps. For a system with more spatial streams, additional plots of varying colors would be overlaid on those shown.
Figure 11. MIMO Application Framework Uplink Receive Throughput Measurements
Shown below in Figure 12 is a screenshot of the base station “UL Channel” tab of the MIMO Application Framework. In it, are plots which provide data on the uplink MIMO channel impulse response for each mobile station in both the time and frequency domain - providing users with immediate information on the propagation characteristics of the uplink channel. With such data, researchers can analyze the behavior of multi-user MIMO systems under varying channel conditions and explore the effects of new algorithms to potentially improve the system performance under such conditions.
Figure 12. MIMO Application Framework Uplink Channel Measurements
Shown below in Figure 13 is a screenshot of the single-antenna mobile station “DL Advanced Information” tab of the MIMO Application Framework. In it, are plots of the received DL signal constellation and frequency response for two mobile stations wherein the first mobile station receives a QPSK signal and the other receives a 16 QAM signal. Such data provides an immediate indication on the performance of the DL precoding algorithm and its ability to separate multiple spatial streams as the precoded signal propagates through the wireless MIMO channel and is received at each single antenna mobile station free of interference.
Figure 13. MIMO Application Framework Mobile Station Downlink Received Constellations
Shown below in Figure 14 is a screenshot of the single-antenna mobile station “DL Information” tab of the MIMO Application Framework. In it, are plots of the DL received signal spectrum, measured throughput, and block error rate (BLER) for two mobile stations. Such data provides additional means of assessing the transmission quality of the DL signal and performance of the multi-user MIMO precoding schemes. These performance metrics can be used with the system as is, and can also be applied to custom modifications made to the system’s PHY layer in order to provide users with data on how well their technology performs under conditions that more accurately reflect real world deployments and not just simulations.
Figure 14. MIMO Application Framework Mobile Station Downlink Received Signal Spectrum and Measured Throughput
Although not shown, the MIMO Application Framework also provides software user interfaces to monitor and control other aspects of the MIMO system, including the following.
For detailed information and technical specifications of the MIMO Application Frameworks features, please click on the link below entitled, "MIMO Application Framework Technical White Paper". There, you will find information on the Host and FPGA implementation of PHY layer algorithms including MIMO decoding & precoding, channel estimation, OFDM modulation & demodulation, and many more. Information is also available on the implementation of the MAC layer and the interface to external applications. This document will assist you in better understanding the system's capabilities of and the ways in which it can be used in your research efforts.
An evaluation version of the MIMO Application Framework is available for download at the following website . Take a tour of the intuitive user interface and browse through the Host and FPGA source code to learn more about the advanced real time software architecture that makes massive MIMO possible.
Visit the following websites to learn more about NI solutions for prototyping multiuser and massive MIMO systems.
|||"M.2083, Recommendation ITU-R, IMT Vision - Framework and overall objectives of the future development of IMT for 2020 and beyond," September 2015. [Online]. Available: https://www.itu.int/rec/R-REC-M.2083-0-201509-I/en.|
|||T. L. Marzetta, "Noncooperative Cellular Wireless with Unlimited Numbers of Base Station Antennas," IEEE Transactions Wireless Communications, vol. 9, no. 11, November 2010.|
|||F. Boccardi, R. W. Heath Jr., A. Lozano, T. L. Marzetta and P. Popovski, "Five Disruptive Technology Directions for 5G," IEEE Communications Magazine, vol. 52, no. 2, February 2014.|
|||J. G. Andrews, S. Buzzi, W. Choi, S. V. Hanly, A. Lozano, A. C. K. Soong and J. C. Zhang, "What Will 5G Be?," IEEE Journal on Selected Areas in Communications, vol. 32, no. 6, June 2014.|
|||"Mitsubishi Electric's New Multibeam Multiplexing 5G Technology Achieves 20Gbps Throughput," 21 January 2016. [Online]. Available: http://www.mitsubishielectric.com/news/2016/0121.html.|
|||"MIMO Prototyping System," [Online]. Available: http://www.ni.com/sdr/mimo/.|
|||A. Nordrum, "5G Researchers Set New World Record For Spectrum Efficiency," 12 May 2016. [Online]. Available: http://spectrum.ieee.org/tech-talk/telecom/wireless/5g-researchers-achieve-new-spectrum-efficiency-record.|
|||"National Instruments USRP RIO," [Online]. Available: http://www.ni.com/sdr/usrp-rio/.|
|||3GPP, "TS36.211: Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation (Release 10), V10.7.0," February 2013.|
|||Intel, "How will Massive MIMO Improve 5G Data Transfers? Intel Explains," 25 February 2016. [Online]. Available: https://www.youtube.com/watch?v=k3ZqaxikXdk.|
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a worldwide basis.