In the previous blog post of this series, we looked at the reasons behind the growing interest in multiple-input/multiple-output (MIMO) technologies, as demonstrated by the adoption of MIMO and multi-user MIMO (MU-MIMO) in new wireless standards. In this post, we look at the performance of the MicroSDR-420 hardware platform when configured as a large MIMO system (12×12, 16×16, and 32×32).

MicroSDR 16×16 with PCI Express MicroTCA Carrier Hub (MCH) and quad-core i7 embedded CPU

Support for GNU Radio = large user community

GNU Radio is an open-source, user-friendly, real-time radio framework for computers. It includes a scheduler for distributing digital signal processing tasks to the computer’s processing resources and implements a large set of signal processing libraries, ranging from basic math operators to communication algorithms to building blocks for protocol stacks. GNU Radio is a widely used framework and is the de facto PC-based wireless communication prototyping tool for software-defined radio (SDR), including technologies incorporating large MIMO systems.

The following screen capture, taken from the video Accelerating Massive MIMO Waveform Development With GNU Radio (, shows the GNU Radio application running onboard the quad-core i7 embedded CPU of a 8×8 MicroSDR platform.

PCIe for data exchange between processors and FPGAs = high performance

Traditionally, most SDR platforms use Gigabit Ethernet (GigE) as the streaming media between the PC and the FPGA interfacing with the RF. Although it’s convenient to use, systems using the GigE interface for streaming media suffer from significant limitations, especially in terms of the real-time bandwidth they can support at the PC level. As the number of channels in the system increases, the GigE limitation becomes more obvious. Let’s look at the numbers.

In theory, a rate of 128 MB/s can be achieved on a GigE link. The RTDEx driver provided with Nutaq’s platforms can maintain a sustain rate of approximately 120 MB/s on a modern Linux workstation (depending on the machine performance and CPU load). Assuming one wants to implement a radio physical layer on the PC using GNU Radio and use the GigE link at full capacity to send out IQ samples to the radio interface, the following computation leads to a maximum RF instantaneous bandwidth of 30 MHz – approximately the band of a modern RFIC:


120 MBPS / (2 B/samples) / (2 MSPS/MHz) = 30 MHz


This bandwidth is viable for a single-input/single-output application with IQ data for only one radio but it quickly becomes a bottleneck as the number of channels grows. For instance, an 8×8 system sharing the same GigE link would only support up to 3.75 MHz of RF bandwidth at the PC level.

To overcome this limitation, Nutaq MicroSDR platforms are equipped with PCI Express links on the MicroTCA backplane and a PCI Express switch in the MicroTCA Carrier Hub (MCH).

MicroTCA Carrier Hub (MCH) with a PCI Express switch

The RTDEx PCIe driver has a sustained data rate of 750 MB/s. Doing the same computation we can see that the RF instantaneous bandwidth at the PC level is increased to over 180 MHz:


750 MBPS / (2 B/samples) / (2 MSPS/MHz) = 187.5 MHz


An 8×8 system sharing the same PCIe link supports more than 23 MHz of RF bandwidth at the PC level, compared to 3.75 MHz for GigE. This enables you to use the system for wideband and high-channel-count MIMO applications.

The RTDEx blocks provide seamless real-time data streaming between the PC and the FPGA.

The blocks can be configured on both FPGA and PC sides to use a Gigabit Ethernet (120 Mbps) or PCI Express (750 Mbps) interface for streaming media. This configuration is done from the blocks’ dropdown menus.