TRX - SDR 2020 01 23
TRX - SDR 2020 01 23
TRX - SDR 2020 01 23
Version: 2020-01-23
i
Table of Contents
1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Miscellaneous utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1 sdr util . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2 sdr spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3 sdr play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 C API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6 Physical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.2 Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.2.1 SMA connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2.2 PPS/Clock connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2.3 JTAG connector (J1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1
1 Features
• 2x2 RF transceiver (AD9361) with integrated 12-bit DACs and ADCs
• RF coverage: 500 MHz to 6.0 GHz
• RF bandwidth: < 200 kHz to 56 MHz
• Supports TDD and FDD operation
• Integrated TX/RX switch for TDD operation
• PCIe 1x standard connector
• Integrated GPS for precise time and frequency synchronization
• Clock/PPS inputs and outputs for easy chaining
• Optional sample compression to reduce the PCI bandwidth
2
2.1 Introduction
If you have bought the OTS (Off-The-Shelve) package, then you dont need to install anything.
Everything has already been installed on your PC. Otherwise, please follow through the steps
below.
Decompress the trx_sdr archive into a convenient directory specified by <trx_path>.
tar -xzf trx_sdr-linux-YYYY-MM-DD.tar.gz -C <trx_path>
You have two ways to install the TRX driver for the PCIe card:
• automatic
• manual
For both cases, the installation requires some specific packages to compile the kernel module.
To do this, you need to be root. In Fedora and Cent OS, you need to install kernel-devel, gcc
and elfutils-libelf-devel packages by running the following commands:
yum install kernel-devel-$(uname -r)
yum install gcc
yum install elfutils-libelf-devel
For Ubuntu, use the following commands:
apt-get install $(uname -a | awk ’{print $3}’)
apt-get install build-essential
Note that you’ll need equivalent packages for other Linux distributions if you do not use
Fedora, Ubuntu or Cent OS.
Once you have finished the installation, you need to initialize (See [Driver initialization],
page 3) and upgrade your driver (See [Firmware upgrade], page 3). Please make sure to initialize
the driver after each system boot if you have not activates an automatic lte service.
2. Place driver:
Just copy the compiled driver into <path> directory
cd ..
cp trx_sdr.so <path>
cp libsdr.so <path>
3. Config files:
Copy RF driver config file. Note that there are 2 separate config directories for eNB and UE
called config.enb and config.ue under your <trx_path>. As a result, the <config_dir>
should be set to config.enb or config.ue accordingly.
cp -r <config_dir> <path>/config/sdr
Select frontend:
<path>/config/rf_select.sh sdr
To use all the cards, update eNB config file (1chan.cfg) using args parameter:
args: "dev0=/dev/sdrA,dev1=/dev/sdrB,..."
Note: this allow to change the order of the cards. For instance, if your card are from left to
right have following indexes:
<1> <2> <0>
And you want first cell to be on left, second cell to be on middle and third on right, use the
following:
args: "dev0=/dev/sdr1,dev1=/dev/sdr2,dev2=/dev/sdr0"
1300-4000 MHz
-4 to 71 dB
4000-6000 MHz
-10 to 62 dB
The maximum sample rate is 61.44 MHz.
3 Troubleshooting
Below are a few tips on how to handle different errors.
• The eNodeB does not start and the output of dmesg linux command resembles the
following error message:
sdr: version magic ’4.12.9-200.fc25.x86_64 SMP mod_unload’ should be
’4.12.11-200.fc25.x86_64 SMP mod_unload’
To resolve it, you need to recompile the SDR driver on the PC (See [Manual Installation],
page 2).
7
4 Miscellaneous utilities
Options:
-h help
-c device_num select the device (default = all)
Available commands:
version dump the FPGA version
sync_state dump the synchro and clock state
gps_state dump the GPS state
temp dump the temperature of the board components
led [0|1] enable/disable led blinking
clock_tune n tune TCXO frequency offset to n ppm
upgrade [options] upgrade the FPGA firmware
upgrade options are:
-force force upgrade even if identical or
previous version
-save-and-exit
same as -save but program will quit at end of recording.
When saving the recorded samples, one file is generated per channel. The filename contains
the UTC date, the frequency and the channel number. The I/Q samples are saved as little
endian 32 bit float values, in I/Q order. The sample values are between -1 and 1.
Invocation example:
./sdr_spectrum -channels 2 -rx_gain 50 -rx_freq 2680e6 -rate 30.72e6
Resulting output:
5 C API
The PCIe SDR board can be used in other projects with its C API. The C API allows to send and
receive I/Q samples and to change the various parameters (frequency, sample rate, bandwidth,
gains, ...). The Amarisoft TRX driver, sdr_play and sdr_spectrum are built using this API.
The C API is described in libsdr.h. The corresponding Linux x86 64 dynamic library is
libsdr.so.
Amarisoft does not provide any support for this API and can modify it without notice.
11
6 Physical specifications
6.1 Summary
• RF power output < 10 dBm
• Weight: 0.100 kg
6.2 Connectors
The following figure depicts the location and functionality of each connector in the PCIe board.
Chapter 6: Physical specifications 12
Figure 6.1
Chapter 6: Physical specifications 13
Figure 6.2