UHD Compatible RF frontends

Table of Contents

1 Introduction

1.1 Compatibility

Amarisoft components are compatible with following UHD devices:

Compatibility have been tested up to UHD 3.x versions

2 Installation with the Amarisoft software

2.1 Introduction

You have two ways to install the TRX driver for the UHD compatible RF frontends:

Notes:

2.2 Automatic Installation

There are two automatic methods available.
Both are only available on Fedora and Ubuntu distribution.

2.2.1 Amarisoft OTS

If you are using Amarisoft OTS install, i.e using the install.sh script provided with your Amarisoft software components, you’ll be asked during process to select proper RF frontend model.

2.2.2 Direct install

To start your automatic install, use the following command where <path> is the path to the directory where you have already installed your LTE component (eNB or UE) and type should be set to enb or ue accordingly.

./install <path> <type>

Then, inside <path>, select your frontend model:

./config/rf_select.sh <model>

Where <model> can be n2x0, b2x0, x3x0 or n3x0.

2.3 Manual Installation

2.3.1 UHD

Follow Ettus documentation to install UHD driver: https://files.ettus.com/manual/page_build_guide.html.

2.3.2 TRX driver

2.3.2.1 Compile your driver

As Amarisoft provides UHD TRX driver source code, you need to compile it locally.

You need development package to be installed as explained on Ettus webpage.
Then just type:

make

This will create a trx_uhd.so that you need to copy inside your Amarisoft component (eNB or UE) directory.

2.3.3 Configuration file

Config files are located inside config.ue and config.enb directories. Depending on the component you want to use copy the proper directory inside your Amarisoft component config subdirectory:

cp -r config.xx <path>/config/rf_driver

Note that destination name must be rf_driver.

3 Configuration

The following properties are available:

args

String. Set the UHD specific arguments (they are defined in the UHD documentation).

sync

Optional string. Select the synchronization type. none is the default value and selects the internal clock. external selects an external clock and PPS. mimo selects the N2x0 MIMO cable. external_clock selects an external clock but keeps the internal PPS.

dl_sample_bits

Optional integer (default = 16). Se the number of bits per DL sample. Allowed values are 8, 12 or 16.

ul_sample_bits

Optional integer (default = 16). Se the number of bits per UL sample. Allowed values are 8, 12 or 16 (Use 8 bits carefully).

tx_subdev

Optional string. Sets tx subdev as specified in UHD API.

rx_subdev

Optional string. Sets rx subdev as specified in UHD API.

4 Frontends

4.1 USRP N200/N210 setup

The radio front end must be connected to one gigabit Ethernet port (don’t use a switch to connect them to avoid potential packet losses).

If you have 2 radio frontends for MIMO setup you may connect second device to first one using MIMO cable or connect it to another gigabit Ethernet port (MIMO cable remains necessary).

4.2 USRP B200/B210 setup

The USRP B200/B210 are supported, but on some PCs the USB3 interface does not work reliably. Moreover, there are still evolutions in the corresponding UHD driver.

We recommend the following steps to try it:

  1. Check that the B2x0 is available and upload the firmware:
    uhd_usrp_probe
    
  2. Check that USB3 interface is working:
    /usr/share/uhd/examples/benchmark_rate --args master_clock_rate=11.52e6 \
                 --tx_rate 11520000 --rx_rate 11520000 --duration 30
    

    The test runs during 30 seconds. There should be no error, overflow nor underflow.

NB: You should take a look at configuration file in config/b2x0 as it may require some changes depending on desired bandwidth.

4.3 USRP X300/X310 setup

The USRP X300/X310 are supported. The setup is very similar to the N200/N210. The UHD driver version >= 3.7.0 must be installed. The X3x0 has a specific support for LTE sample rates.

NB: You should take a look at configuration file in config/x3x0 as it may require some changes depending on desired bandwidth.