Gr-limesdr Plugin for GNURadio

Introduction
LimeSDR is a low cost, open source software defined radio (SDR) platform that can be used to support just about any type of wireless communication standard. This document provides an overview of the installation process and operation of the gr-limesdr plugin for GNU Radio software. Currently this plugin supports LimeSDR-USB and LimeSDR-Mini boards.

Installation
This section covers gr-limesdr plugin installation instructions. Currently plugin supports only Linux platform. Tutorial is based on Ubuntu operating system.

Installing LimeSuite
Visit this link for information on how to install LimeSuite.

Installing GNU Radio
Visit this link for information on how to install GNU Radio.

Installing dependencies
Enter the following command in terminal to install Boost and SWIG:

sudo apt-get install libboost-all-dev swig

Downloading gr-limesdr source
Download gr-limesdr plugin by typing: git clone https://github.com/myriadrf/gr-limesdr

Building and installing gr-limesdr from source
Enter the following commands in terminal: cd gr-limesdr/build cmake .. make sudo make install sudo ldconfig

Now you should reload GNU Radio blocks by restarting GNU Radio or by pressing Reload blocks button in top bar as seen in Figure 1. gr-limesdr blocks appear under LimeSuite category.



LimeSuite Sink (TX)
First you should pick LimeSuite Sink (TX) from LimeSuite category as shown in Figure 2.



LimeSuite Sink (TX) block appears in GNU Radio workspace as shown in Figure 3.



To configure block double click on it. Now you can see settings as shown in Figure 4.



Available settings: LimeUtil --find
 * ID: ID of current block in GNU Radio environment. This is usually left unchanged.
 * Device number: Select which device to use from a list of devices to use multiple devices. This list can be obtained by running following command in your Linux terminal window:
 * Device type: To use available options for your device, select correct device type. Currently LimeSDR-Mini and LimeSDR-USB boards are supported.
 * Chip mode: Use this setting to set single-input and single-output (SISO) or multiple-input and multiple-output (MIMO) chip mode. This setting enables/disables channels, sets correct number of streams and controls number of block inputs.
 * In SISO mode you can select which channel to control (A or B) (see CH0 setting).
 * In MIMO mode CH0 is always A channel and CH1 is always B channel.
 * Note that not all boards (LimeSDR-Mini for instance) support MIMO mode.


 * CH0: If SISO mode is selected (see Chip mode setting) set active channel (A or B) as CH0.
 * Load settings: This setting lets you control the way settings are loaded to chip.
 * If you want to load settings from .ini file (see File setting) generated by LimeSuiteGUI select YES.
 * If you want to load settings from LimeSuite Sink (TX) block, select NO.
 * Note that when loading from file there are a few settings left that are necessary to initialize streams (see Chip mode setting) or to control LimeSDR-Mini active power amplifier switch (see PA path setting). This setting should match in LimeSuite Sink (TX) and LimeSuite Source (RX) blocks for the same device.


 * File: When Load settings (see Load settings setting) set to YES here you should select .ini file which you configured and saved by using LimeSuiteGUI. This setting should match in LimeSuite Sink (TX) and LimeSuite Source (RX) blocks for the same device.
 * Center frequency: Set RF center frequency for TX (both channels).
 * LimeSDR-USB supports RF center frequency in range 100kHz–3.8GHz.
 * LimeSDR-Mini supports RF center frequency in range 10MHz–3.8GHz.
 * Sample rate: Select sample rate for TX.
 * LimeSDR-USB sample rate must be no more than 61.44 MS/s.
 * LimeSDR-Mini sample rate must be no more than 30.72 MS/s.
 * Note that LimeSDR-Mini supports only the same sample rate for TX and RX.


 * Oversample: Oversample lets you sample TX signal at a higher rate than would be required to just preserve the desired signal frequencies.
 * Possible values (multipliers): Default, 0, 1, 2, 4, 8, 16, 32.
 * Default value uses highest possible value based on other settings. Oversample is connected to sample rate (see Sample rate setting) and there are limitations as show in Table 1 and Table 2. Note that LimeSDR-Mini supports only the same oversample for TX and RX.


 * Calibration: Turn TX DC offset and IQ imbalance calibration ON/OFF for each channel. Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).
 * Calibration bandw.: When calibration is turned ON (see Calibration setting) this setting is used to set bandwidth for TX calibration of each channel. This value should be equal to your signal bandwidth.
 * Calibration bandwidth range must be 2.5MHz–120MHz.
 * Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).


 * PA path: Select active power amplifier path of each channel.
 * Possible selections: BAND1, BAND2.
 * This setting also controls LimeSDR-Mini board path switch (BAND1/BAND2). Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).


 * Analog filter: Turn TX low-pass analog filter ON/OFF for each channel. Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).
 * Analog filter bandw.: If TX analog filter is turned ON (see Analog filter setting) enter analog filter bandwidth for each channel.
 * TX analog filter bandwidth range must be 5MHz–130MHz.
 * Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).


 * Digital filter: Turn TX digital filters (GFIR) ON/OFF for each channel. Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).
 * Digital filter bandw.: If TX digital filter is turned ON (see Digital filter setting) enter digital filter bandwidth for each channel.
 * TX digital filter bandwidth should not be higher than sampling rate.
 * Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).


 * Gain: Controls combined TX gain settings.
 * Gain range must be 0dB–60dB.
 * Index (CH0/CH1) shows which channel is configured (see Chip mode setting and CH0 setting).

LimeSuite Source (RX)
First you should pick LimeSuite Source (RX) from LimeSuite category as shown in Figure 5.



LimeSuite Source (RX) block appears in GNU Radio workspace as shown in Figure 6.



To configure block double click on it. Now you can see settings as shown in Figure 7.