BladeRF 2.0 micro (v2) MIMO plugin
Introduction
This is a v5 only plugin.
This MIMO plugin sends and receives its samples to/from a BladeRF2 device. It handles both input (Rx) and output (Tx) streams synchronously. There is no option to synchronize Rx with Tx streams.
Build
As with other BladeRF plugins this plugin will be built only if the BladeRF host library is installed in your system. If you build it from source and install it in a custom location say: /opt/install/libbladeRF you will have to add -DBLADERF_DIR=/opt/install/libbladeRF/include to the cmake command line.
Note that libbladeRF v2 with git tag 2018.10-rc1 should be used (official release) thus:
- The FX3 firmware version should be v2.3.1
- The FPGA image version should be v0.9.0
The FPGA .rbf file should be copied to the folder where the sdrangel binary resides. You can download FPGA images from here
The BladeRF Host library is also provided by many Linux distributions (check its version) and is built in the SDRangel binary releases.
Interface
1. Rx/Tx settings selection
Use this combo to target UI to Rx or Tx streams for Rx/Tx specific items.
2. Stream settings selection
Use this combo to target UI to stream 0 or stream 1 for stream specific items.
3. Rx/Tx spectrum display selection
Use this combo to select Rx or Tx side for main spectrum display.
4. Stream spectrum display selection
Use this combo to select stream 0 or stream 1 for main spectrum display.
5. Start/Stop Rx
This button controls the start/stop of the Rx subsystem.
6. Start/Stop Tx
This button controls the start/stop of the Tx subsystem.
7. Record button
- Left click: record baseband I/Q stream toggle button (inactive: waiting for synchronous streams recording)
- Right click: choose record file
8. Center frequency
This controls the center frequency of Rx or Tx subsystems in kHz depending on the Rx/Tx settings selection (1). This frequency can effectively be different for Rx and Tx but is the same for both Rx or both Tx streams.
9. LO ppm correction
Use this slider to adjust LO correction in ppm. It can be varied from -20.0 to 20.0 in 0.1 steps and is applied in software. This applies to the oscillator that controls both the Rx and Tx frequency therefore it is not dependent on Rx/Tx or stream selection.
10. DC auto correction options
This button controls the local DSP DC auto remove DC component.
11. IQ auto correction options
This button controls the local DSP auto make I/Q balance. The DC correction must be enabled for this to be effective.
12. Analog filter bandwidth
This is the analog filter bandwidth in kHz that applies to Rx or Tx streams. Minimum and maximum values are adjusted automatically and are the same for Rx and Tx subsystems ranging from 200 kHz to 56 MHz.
13. Transverter mode open dialog
This button opens a dialog to set the transverter mode frequency translation options:
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.
13.1: Translating frequency
You can set the translating frequency in Hz with this dial. Use the wheels to adjust the sample rate. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.
The frequency set in the device is the frequency on the main dial (1) minus this frequency. Thus it is positive for down converters and negative for up converters.
For example a mixer at 120 MHz for HF operation you would set the value to -120,000,000 Hz so that if the main dial frequency is set at 7,130 kHz the PlutoSDR will be set to 127.130 MHz.
If you use a down converter to receive the 6 cm band narrowband center frequency of 5670 MHz at 432 MHz you would set the translating frequency to 5760 - 432 = 5328 MHz thus dial +5,328,000,000 Hz.
For bands even higher in the frequency spectrum the GHz digits are not really significant so you can have them set at 1 GHz. Thus to receive the 10368 MHz frequency at 432 MHz you would set the translating frequency to 1368 - 432 = 936 MHz. Note that in this case the frequency of the LO used in the mixer of the transverter is set at 9936 MHz.
The Hz precision allows a fine tuning of the transverter LO offset
13.2: Translating frequency enable/disable
Use this toggle button to activate or deactivate the frequency translation
13.3: Confirmation buttons
Use these buttons to confirm ("OK") or dismiss ("Cancel") your changes.
14. Device sample rate / Baseband sample rate input toggle
Use this toggle button to switch the sample rate input next (15) between device sample rate and baseband sample rate input. The button shows the current mode:
- SR: device sample rate input mode. The baseband sample rate (7A) is the device sample rate (15) divided by the decimation or multiplied by the interpolation factor (17).
- BB: baseband sample rate input mode. The device sample rate (7A) is the baseband sample rate (15) divided by the decimation or multiplied by the interpolation factor (17).
15. Host/Device sample rate
This controls the sample rate between Host and Device in both directions. Effectively ADC and DAC run on the same sample rate.
16. Baseband center frequency position relative the the BladeRF center frequency
Possible values are:
- Cen: the decimation operation takes place around the BladeRF Rx center frequency Fs
- Inf: the decimation operation takes place around Fs - Fc.
- Sup: the decimation operation takes place around Fs + Fc.
With SR as the sample rate before decimation Fc is calculated as:
- if decimation n is 4 or lower: Fc = SR/2^(log2(n)-1). The device center frequency is on the side of the baseband. You need a RF filter bandwidth at least twice the baseband.
- if decimation n is 8 or higher: Fc = SR/n. The device center frequency is half the baseband away from the side of the baseband. You need a RF filter bandwidth at least 3 times the baseband.
17. Decimation (Rx) or Interpolation (Tx) factor
For Rx streams the I/Q stream from the BladeRF ADC is downsampled by a power of two before being sent to the passband.
For Tx strams the baseband stream is interpolated by this value before being sent to the BladeRF device.
Possible values are increasing powers of two: 1 (no decimation or interpolation), 2, 4, 8, 16, 32, 64.
18. Lock both streams gains
When engaged this applies the same gain with value control (20) to both streams (Rx or Tx)
19. Gain mode
This is the gain mode control that differs between Rx and Tx streams:
- Rx:
- automatic: AGC with default behavior
- manual: Manual. Use control (20) to adjust gain
- fast: fast AGC
- slow: slow AGC
- hybrid: hybrid AGC
- Tx::
- automatic: Manual actually. Use control (20) to adjust gain
20. Manual gain setting
This sets the gain manually per stream or for both streams if (18) is engaged.
21. Bias Tee
This sets the bias tee on all Rx or Tx ports.

