Home

Awesome

BladeRF_MIMO

MATLAB and Simulink Interface for the BladeRF MIMO layout. These scripts are a modifyied version of the original scripts provided by Nuand. The modifications were done as described in the libbladeRF API documentation.

User Equipment Tracking Beamforming Using a MIMO Software-Defined Radio

You are here

Return to UoS Beamforming By JoseAmador95

Requirements

The MIMO objects require an older version of the BladeRF release. The recommended version is 2019.07. Particularly, 2021.02 is incompatible. Please let me know if a workaround is found for the newer version.

How to Use

These scripts require the official tools from Nuand; include the root directory into MATLAB's path. To use within Simulink, copy the scripts in this repo into the working directory and introduce a MATLAB System block (From Simulink/User-Defined Functions) into the Simulink model and select bladeRF_MIMO_Simulink.m. Make sure to test the BladeRF using Nuand's BladeRF CLI and to close all of its instances before running the Simulink model.

How was this done

The original scripts allow to transmit and receive signals from a single channel of the BladeRF; leaving the other channel unused. The scripts in this repo enables every channel in the SDR, executes the synchronous TX/RX functions considering the 2x2 layout and interleaves/de-interleaves the samples according to the streaming format.

Known Issues

Altough these scripts do transmit and receive samples as expected, some stability issues exist when opening and closing the device. Some of these issues are not causes by the modifications to support the MIMO layout, as they are also present in Nuand's scripts.

These issues cause the SDR to become unreachable for any application until the PC is rebooted or the user logs-in again (Windows).