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.
MIMO Application Framework Features
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:
- Supports SU-MIMO, MU-MIMO, and Massive MIMO
- 50 MHz – 6 GHz frequency coverage
- 20 MHz bandwidth TDD UL & DL
- Scalable number of base station antennas from 2 up to 128
- Scalable number of mobile station antennas up to 12 antennas
- Support for up to 12 spatial streams
- Fully reconfigurable frame structure based on LTE
- 128x12 MMSE, ZF, and MRC MIMO precoder/equalizer FPGA IP
- Supports 4 QAM, 16 QAM, 64 QAM, 256 QAM
- Channel reciprocity calibration enabling reciprocity based precoding
- AGC and open loop power control
- Over the air synchronization
- Basic MAC functionality supports packet-based user data transmission in DL and UL to enable data streaming applications, such as video transmission.
Additional details on these features are provided in the following sections.
Single User MIMO & Multi-User MIMO
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).
Scalable Number of Base Station & Mobile Station Antennas
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.
MIMO Precoding and Equalization
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.
Channel Reciprocity Calibration
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.
20 MHz Bandwidth TDD Frame Structure Based on LTE
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.
- Designation of OFDM symbol type: UL pilot, UL Data, DL Pilot, DL Data, UL/DL switch guard time.
- QAM modulation order from 4 QAM to 256 QAM per spatial layer.
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
|Number of used subcarrier
|Number of resource blocks
|Number of OFDM symbols per slot
|CP length (samples)
160 (first symbol)
144 (six following symbols)
Table 2. MIMO Application Framework System Parameters
Automatic Gain Control & Open Loop Power Control
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.
Additional Features and Sample Screenshots
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.
- Frame structure configuration – Controls are available to select from a variety of MCS levels for each mobile station.
- Video streaming – The MIMO Application Framework also supports an intuitive UDP interface for the streaming of video signals or other application data to and from mobile station.
- Data streaming diagnostics – For large antenna systems, the streaming of data (IQ samples) from many radio heads down to a central set of FPGA’s for MIMO processing at high rates can be very challenging. To facilitate the rapid diagnosis of potential problems in streaming to ensure data is transferred and processed free of errors, the MIMO Application Framework also includes utilities to monitor the status of the many buffers throughout the system.
MIMO Application Framework Detailed Technical White Paper
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.
Download and Evaluate the MIMO Application Framework
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.