Building an Affordable 8x8 MIMO Testbed with NI USRP

Publish Date: Apr 01, 2015 | 12 Ratings | 3.08 out of 5 | Print


In this whitepaper we explain how to use LabVIEW and the USRP platform to build a phase coherent MIMO testbed that scales from 2x2 to 8x8 antenna configurations and can be used for testing a wide range of MIMO and multi-user communications research.

Table of Contents

  1. Introduction to 8x8 MIMO
  2. Overview of USRP Hardware
  3. Scalable 8x8 MIMO Hardware System Architecture
  4. MIMO System Software Architecture
  5. System Assessment
  6. Conclusion
  7. References

1. Introduction to 8x8 MIMO

The theory of single-link MIMO (multiple input multiple output) communication is well understood [1], and is gaining adoption in emerging wireless standards.  Some examples include LTE Advanced, which incorporates up to a 4x4 MIMO uplink and 8x8 MIMO downlink [2].  As standards evolve to enable increased data rates, larger numbers of users, and more reliable connections, new algorithms will be developed, simulated, and verified in real-world scenarios. Large investments are flowing into next generation MIMO applications that include multi-user MIMO (MU-MIMO), cooperative MIMO and coordinated multi-point (CoMP). As the competitiveness for research funding increases, prototyping is providing a deeper level of rigor by determining the effectiveness of new classes of algorithms beyond a simulated channel. For new research to be published, it is increasingly a requirement to build prototypes with an emphasis on repeatability of results. Off-the-shelf, scalable SDR (software defined radio) solutions provide researchers a compelling advantage when prototyping their algorithms in that it balances low-cost flexibility of developing a custom radio and the repeatable performance provided by higher-cost traditional instrumentation.


Figure 1. NI USRP-2920 Device


As one of most affordable and easiest to use off-the-shelf software defined radio systems, the Universal Software Radio Peripheral (USRP) (Fig. 1) is well suited for higher order MIMO applications.  In this whitepaper we explain how to use LabVIEW (Fig. 2) and the USRP platform to build a phase coherent MIMO testbed that scales from 2x2 to 8x8 antenna configurations and can be used for testing a wide range of MIMO and multi-user communications research.

Figure 2. 8x8 MIMO LabVIEW Front Panel


Back to Top

2. Overview of USRP Hardware

The USRP platform is a RF software-programmable radio transceiver designed for wireless communications research. Connecting the USRP to a host PC allows it to act as a software-defined radio with host-based digital signal processing. Each USRP device provides an independent transmit and receive channel capable of full duplex operation in some hardware configurations.

The USRP device connects to a host computer via the GB ETHERNET port which requires standard 1 Gigabit Ethernet (GbE) connection. It operates on 6 Volts DC drawing a maximum of 18 Watts of power. Referring to the USRP system block diagram (Fig. 3), the transmit and receive chains operate independently but share a common internal 10-MHz TCXO reference clock from which local oscillator (LO) are derived.

Figure 3. NI USRP-2920 System Block Diagram


Rx Signal Path

On the receiver side (Fig. 3, bottom) incoming analog RF signals enter through either RX 1 or RX 2 connector, selected by a programmable switch  passing through an adjustable (0-30dB) gain stage to the mixer for direct-conversion from the LO RF frequency to baseband IQ components. A 2-channel, 100MS/s, 14-bit ADC filters and samples the baseband I and Q analog signals. The digitized I and Q data flow through parallel onboard signal processing (OSP) processes that applies DC offset correction, digital down conversion using a CORDIC to correct minor frequency offsets to achieve the desired RF center frequency, filtering and decimating the 100M S/sec input signal to the user-specified IQ Rate. The downconverted samples are then passed to the host computer at a baseband IQ Rate of up to 25 MS/s in 16-bit mode and 50MS/s in 8-bit mode over the standard GbE connection to the host computer for processing.


Tx Signal Path

For transmission (Fig. 3, top), the host computer synthesizes baseband IQ signals and passes the resulting I and Q signal samples to the USRP at up to 25 MS/s in 16-bit mode and 50 MS/s in 8-bit mode over the GbE link. The USRP hardware OSP interpolates and up-converts the synthesized signals to 400MS/s using a digital up conversion process, applies the CORDIC for minor frequency offset corrections based on the requested RF center frequency and then converts the signal to analog with a dual-channel, 16-bit DAC. The resulting analog signal is then filtered and modulated at the specified RF frequency using a direct conversion architecture to mix the LO with the analog baseband IQ signal. An adjustable (0-30dB) gain stage amplifies the signal for transmission through the external TX 1 port.


Time and Frequency

Time and frequency can be synchronized between two USRPs using the MIMO expansion port, which also acts as an Ethernet switch, allowing a pair of USRPs to share a single GbE connection. The REF IN (10-MHz reference clock) and PPS (pulse per second) SMA connections on the front of the USRP enable an external frequency reference and time synchronization to supplement the internal TCXO for greater frequency accuracy or to provide synchronization among a larger numbers of devices.


NI-USRP Driver Software

On the software side, the LabVIEW development system provides an easy yet powerful interface to the USRP hardware allowing you to rapidly prototype communications algorithms over the air. The NI-USRP software driver provides intuitive functions, VIs (LabVIEW Virtual Instruments), that map directly to the hardware configuration for setup of timing and synchronization, opening/closing sessions and performing read/ write operations. Driver function calls are made from the LabVIEW block diagram, with a simple Rx task (Fig. 4).  A first Tx or Rx application always consists of six fundamental parameters:

  • Device Names – The unique IP address of the USRP(s) being controlled.  The default IP address for new USRP hardware is
  • IQ Rate – The sample rate of the baseband IQ waveform also determines the real time bandwidth being acquired or synthesized.
  • Carrier Frequency – Mid-point in the spectrum of interest. The carrier frequency becomes the center or DC component when converted to baseband IQ
  • Gain – Adjustable gain (typically 0 – 30dB) to be applied to the analog RF signal.
  • Active Antenna – Switch setting that determines which RX or TX SMA port to use for acquisition or transmission.
  • Number of Samples – The number of samples to acquire or transmit from the device with each driver call to the Fetch Rx or Write Tx VI.

Figure 4. LabVIEW block diagram using the NI-USRP driver


Back to Top

3. Scalable 8x8 MIMO Hardware System Architecture

Multiple USRP devices can be combined to form a phase-coherent antenna array for transmission and reception. The MIMO testbed discussed in this whitepaper scales from 2x2 to 8x8 antenna configurations (consisting of up to 8 transmitters and 8 receivers). The key hardware elements and tradeoffs considered in building the testbed are frequency and time synchronization and data bus bandwidth.


Frequency and Time Synchronization

A typical MIMO communication testbed requires that all Rx or Tx channels operate as a single receiver or transmitter with frequency and time synchronization and a phase coherent local oscillator (LO). The 8x8 MIMO testbed achieves synchronized operation by sharing a 10MHz reference clock and PPS time base among 8 USRP devices. As shown in the 8x8 MIMO system block diagram (Fig. 5), four USRP devices are directly cabled to each reference signal which is then shared over the MIMO Data and Synchronization cable to four additional USRP devices. This synchronizes all 8 USRP devices in both frequency and time with the coherent LO being derived from a single 10-MHz reference clock. The hardware used to generate the clock is an OCXO (Oven Controlled Oscillator) based Thunderbolt® GPS Disciplined clock from Trimble which supplies a 10-MHz Ref Clock output and digital PPS output.[4] The OCXO provides a very accurate frequency source that operates without a GPS antenna installed.  Adding a GPS antenna further improves synchronization through GPS disciplining and can provide a global concept of time.


Figure 5. 8x8 MIMO system block diagram


The power level of both the 10 MHz and PPS reference signals is an important consideration as clock signals are divided among radios. In this application, common coaxial BNC “T” connections divide the signals twice enabling synchronization of the first 4 USRP devices. The Tunderbolt provides a 10MHz reference of approximately 7dBm and a 2.4V digital PPS signals. Dividing the signal twice (i.e. fanning it out to 4 devices) results in 1dBm and 0.6V references which is near the recommended Ref In and PPS input levels for the USRP (0dBm and 3.3V LVTTL compatible). Amplification of the 10MHz and PPS signals to their recommended power levels is advised if the reference signals are divided further to ensure proper synchronization.

The 8x8 MIMO parts list (Table 1) includes the components used to build the 8x8 MIMO testbed. All components are standard off-the-shelf parts.


Qty Part   Qty Part
16 SMA connected magnetic mount antenna 8 3 way male-female-female BNC “T”
16 NI USRP-2920 kit 16 BNC male to SMA male cable
8 USRP MIMO Synchronization and Data Cable 1 10 port Gigabit Ethernet Switch
2 Trimble Thunderbolt (Ref + PPS) 1 Desktop PC (Dell with Intel Xenon)
9 Cat 5 Ethernet Cables 1 PCIe Gigabit Ethernet Card (Intel chipset)
4 0.3m BNC to BNC cable 1 Monitor, keyboard, mouse
4 3 way female BNC “T”

Table 1. 8x8 MIMO parts list


Data Bus Bandwidth

The GbE connection allows a single USRP full duplex operation at up to 25MS/s on a dedicated link between a USRP device and host computer. In the case of the MIMO testbed, 16 USRP share the same Ethernet link effectively dividing the  bandwidth among the number of channels. First, calculating the data rate of a single USRP operating at full rate (Eqn. 1) we find that 80% of the 1Gb Ethernet bandwidth is utilized before any communication overhead is taken into account.

Equation 1. Maximum theoretical single channel IQ Rate over 1 GbE


Text Box: Figure 5. 8 channel synchronized Rx block diagram (Part I)In the testbed, the entire Tx and Rx system shares a single  1 GbE connection back to the host computer connected together with a standard unmanaged 1 GbE switch. The maximum IQ rate is roughly divided by the number of USRP devices sharing the same Ethernet link with some additional overhead for managing multiple devices simultaneously.  For 8x8 MIMO, the maximum theoretical IQ rate divides the 25MS/s IQ rate by 8 (Equation 2), allowing approximately 3MS/s for 3MHz of baseband bandwidth for each transmitter and receiver. The maximum theoretical rate can be increased by introducing additional dedicated 1 GbE controllers in the same host computer; however, other bottlenecks in memory and processor may limit performance.

Equation 2. Maximum theoretical 8 antenna IQ Rate over shared 1 GbE connection


In the current testbed implementation, an IQ rate of 1MS/s for each of 8 spatially diverse antennas.


Back to Top

4. MIMO System Software Architecture

Within LabVIEW, the MIMO system software architecture can be divided into two components:

  1. NI-USRP hardware driver
  2. Host based communications code

The NI-USRP hardware driver allows all USRP devices performing either a transmit or receive task to be configured and controlled with a single set of driver calls. The interface between the hardware driver and host based communications code is a two dimensional array of baseband IQ data values where each row represents the time-domain complex IQ data from a single antenna. Host-based signal processing can then be performed using a variety of models of computation within the LabVIEW environment that include graphical LabVIEW based algorithms, m-file script in LabVIEW MathScript RT, or C functions accessed through a LabVIEW Call Library Node.

MIMO with the NI-USRP Driver

All 8 transmitters are configured in a single transmit session, and all eight receivers are configured in a single receive session (Fig. 6). 

Figure 6. 8 channel synchronized Rx LabVIEW block diagram (Part I)


Using the Rx side of the MIMO system as an example, the configuration and synchronization process is completed in 6 steps:

  1. Open the Rx Session by specifying the IP address of each USRP in a comma separated list.
  2. Set the Start Trigger Time (in seconds and fractional seconds) indicating when all USRP devices should begin fetching data.
  3. Set the parameters shared by all eight devices.
  4. Specify which devices will use the externally supplied reference or MIMO cable.
  5. Set the time base to 0 (only on USRP devices with an external PPS connection on the next rising edge of the PPS clock signal.) Note: The channel list specifies which devices to set.
  6. Fetch the data using a single driver call, returned as a 2D array of complex samples where each row contains the complex IQ waveform from a single antenna.

Once a session is initiated, the system begins fetching time synchronized continuous samples from all USRP devices and passing them back to LabVIEW through the NI-USRP Fetch command as a 2-dimensional array where each row is a separate channel. The number of samples acquired each Fetch operation is specified using the number of samples input. In this example (Fig. 6) we index each row and plot the I and Q signals from each channel on its own graph.
8x8 MIMO Host-Based Communications

Figure 6. 8 channel synchronized Rx LabVIEW block diagram (Part II)


Professor Robert Heath and graduate student Jackson Massey from the Wireless Networking and Communications Group (WNCG) at the University of Texas at Austin built upon the hardware and driver software framework to create a LabVIEW based MIMO-ODFM link using QPSK symbols (Fig. 2). Their scalable code allows MIMO configurations from 2x2 to 8x8 by simply enabling and disabling USRP devices. Random data bits are mapped to QPSK symbols, which are then mapped to 128 OFDM subcarriers (where some channels are null and others used for training) across a 62.5-kHz bandwidth.  The cyclic prefix is inserted and a preamble is created for each set of 20 OFDM symbols.  The resulting IQ waveforms are divided into parallel streams and then upsampled by a factor of 16. The resulting output is a 2D array of IQ samples at 1MS/s with unique symbols being transmitted by each of the eight USRP devices using the NI-USRP Write function.

On the receive side, data from the NI USRP driver is acquired at 1MS/s and analyzed to detect the OFDM frame position. Once the frame is extracted, the LabVIEW based software estimates the frequency offset and applies a correction. The signal is then divided into blocks equal to the FFT size plus a cyclic prefix and then an FFT is applied to each block. Null tones are removed and the channel training information is used to estimate and correct for multipath interference. Pilot tones are used to estimate and correct for gain and phase shift of each subcarrier. The resulting QPSK constellations are then plotted for each of the eight channels.

LabVIEW allows a mixture of models of computation to rapidly prototype the OFDM system. Many aspects of the OFDM link were implemented in custom .m-file scripts.  The .m-file scripts from a simulation environment were integrated directly into LabVIEW using the MathScript RT node (Fig. 7) for real-time execution with only minor modifications.

Figure 7. Integrating .m files script with the LabVIEW MathScript RT node


Back to Top

5. System Assessment

There are several factors to consider as you design your own MIMO testbed with USRP which include real-time execution, phase alignment vs. phase coherence, and achieving full data rate with your Ethernet card.


Real-time Execution and Latency

The system and NI-USRP driver is capable of streaming more than 2MS/s of complex baseband IQ signals to and from all eight transmitters and eight receivers for real-time processing. However, due to the processing overhead, the transmission rate was reduced to 1 OFDM frame every 200ms in order to keep real-time in Windows. The approximate data rate of the OFDM example code is calculated as follows:

Equation 3: OFDM data carrying subchannels


Equation 4: OFDM testbed data rate


The resulting data rate is 122.8Kb/s on a 62.5Khz bandwidth channel. The configuration achieves a respectable 1.9648 bits/second/Hz data rate.

Note that this implementation has not been optimized for performance, and was a direct implementation of previously simulation-only algorithms. Further optimization would likely result in significant performance improvements.


Phase Alignment vs. Phase Coherence

Sharing the common 10-MHz reference among USRPs allows a phase-coherent Local Oscillator (LO) to be synthesized using a fractional-N frequency approach. During synthesis, as the reference is divided, the phase may lock on either rising or falling edges producing a constant but arbitrary phase offset on each channel.  In MIMO communications, these fixed yet arbitrary phase offsets are corrected by the same algorithms that perform multipath estimation and correction.

Beam forming applications however require phase alignment of the LO, so that phase can be controlled or captured through baseband I and Q. Clever methods have been used to detect the phase offset in the USRP using a know reference signal and then apply the correction to the received signals for receive direction finding and beam forming research.


Achieving Full 1 Gigabit Ethernet Data Rate

Achieving a full 1 Gigibit Ethernet data rate requires an optimally configured network card and a computer architected with no bottle necks between the network card, memory, and processor.  The best experience is usually a combination of desktop PC and Intel based Ethernet controller chipset with newer driver functionality such as “Energy Efficient Ethernet” disabled and computer “Power Options” set to ‘High Performance’.


Back to Top

6. Conclusion

As the study of MIMO communications expands, the NI USRP hardware and LabVIEW software provide an ideal platform for rapidly prototyping and validating new algorithms. Together they provide the flexibility and functionality needed to build a simple 2x2 MIMO system that scales to an advanced 8x8 MIMO OFDM testbed. Using off the shelf NI USRP SDR hardware allows researchers to be rapidly build a testbed, evaluate algorithms, and share reproducible research results. Development in LabVIEW enables the integration of existing IP such as m-file scripts and the use of a wide range of SDR hardware platforms from host-based USRP prototyping to PXI based instrumentation quality MIMO as requirements expand. To get started with this application you can learn more about the USRP software defined radio at


Back to Top

7. References

[1] A. Paulraj, A.J., “An overview of MIMO communications - a key to gigabit wireless”, Proceedings of the IEEEE, vol. 92, no. 2, pp. 198-218, Feb 2004.

[2] 3GPP TR 36.913 V9.0.0 (2009-12), “Requirements for Further Advancements of E-UTRA (LTE-Advanced).”

[3] Trimble Thunderbolt web site:

[4] J. W. Massey, J. Starr, Seogoo Lee, Dongwook Lee, A. Gerstlauer, and R. W. Heath Jr. Implementation of a real-time wireless interference alignment network. To appear in the Proc. of the Asilomar Conference on Signals, Systems and Computers, 2012.  (6x6 MIMO Code available on the USRP Code Sharing Community)


Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No