by Fairwaves

The first ever truly embedded SDR

View all updates Aug 10, 2017

XTRX Software Status Update

Most of the updates so far were related to hardware design progress, but hardware is nothing without software, so it’s time for a software update. Sergey has been putting massive amount of work into making sure XTRX software is high performance, flexible and stable. And making sure all most popular applications are supported.

General architecture notes

  • XTRX software is implemented in a modular way to support a variety of interfaces between an XTRX and a PC. Primary interface we’re focusing on right now is PCIe.
  • All RF parameters tuning and calibration is done on a host. Thanks to PCIe bus low latency this doesn’t affect performance while making it much easier/faster to develop.

Max/min transfer speed

Numbers bellow are not theoretical and are based on real tests. A test is assumed correct if it sustains the speed for at least 5 min without any underruns/overruns. Tests are run under RT priority.

Connection typePCIe x2 Gen1
Raw speed4 Gbps
TX only max sustained rate192 MB/s
RX only max sustained rate417 MB/s
TX+RX (same rate)160+160 MB/s
TX+RX (RX rate is 2x higher)160+320 MB/s

Current streaming limitations

  • RX: Minimal samplerate is ~400 kSps, but we can reduce it to ~100 kSps using 4x decimation on the host.
  • TX: Minimal samplerate is 2.5 MSps by the FPGA MMCM spec, but for some chips we can get it down to 2.0-2.1 MSps. With the host interpolation we can get it further down to ~500-625 kSps.
  • Both RX and TX single DMA buffer is limited to 32768 bytes. This requires strict timing and sample rates more 25 MSPS have bad performance when an application is not run under the realtime priority (a lot of underruns / overruns).

Platform support

C/NT – Compiles, but hasn’t been tested
WIP – Work in progress, no actual test are done

Linux x86_64Full
Linux i386C/NT
Linux arm (32-bit)C/NT
Linux Aarch64 (ARM 64-bit)C/NT
Windowsi386 WIP
Windowsx86_64 WIP
OtherNot planned

Applications support

Native XTRX API support

ApplicationDescriptionSupport level
gr-osmosdrXTRX support for GNU RadioFull
SoapySDRPlugin to SoapySDRBasic functions
osmo-trx2G GSM TransceiverOnly 1 TRX for now
Amarisoft LTE4G ENB - PCIe/USBOnly FDD for now
kalibrateFreq calibration using 2G BTSFull
srsUE/srsLTE LTEeNB & UECompiles, runs

Other applications which have been tested with non-native API

  • GnuRadio (SoapySDR) — Ok
  • gqrx (gr-osmosdr) — Ok
  • LTE_fdd_dl_scan from OpenLTE (gr-osmosdr) — not working! (std::bad_alloc)

Applications which haven’t been tested yet (wait list)

  • OpenBTS-UMTS (needs adoption)
  • LTE_fdd_enb from OpenLTE (needs adoption)

Wire streaming types

  • Primary/default streaming type is 16-bit MIMO/SISO to accommodate for 12-bit ADC/DAC resolution, possible decimation gain and fit into an integer number of bytes.
  • We expect that some application won’t need full 12 bits of the dynamic range and can use 8-bit streaming mode to save on processing power and bus bandwidth. This mode is supported for both SISO and MIMO modes, but is currently implemented only in the receive direction.
  • For receive applications which care about achieving maximum bandwidth without loosing dynamic range we’re working on 12-bit transfer mode for MIMO. Non-integer number of bytes per sample makes it significantly harder and more CPU intensive, so we plan to support it only for the MIMO receive mode where we hit bus bandwidth limits with 16-bit samples.
MIMO 16-bitYesYes
MIMO 12-bitNoWIP
MIMO 8-bitPlannedYes
SISO 16-bitYesYes
SISO 12-bitNoNo
SISO 8-bitPlannedYes

$722,433 raised

of $90,000 goal

802% Funded! Order Below

Product Choices


XTRX Pro Rev 5

XTRX Pro Rev 5 board. Does not include any cables, antennas, or adapter boards.


PCIe x2 Lite Adapter

This PCIe card securely holds an XTRX board (not included) so it can be used in a standard PCIe x4 slot. This adapter achieves the full 10 Gbit/s raw bus bandwidth and can be plugged into x4/x8/x16 PCIe slots. A six-pin JTAG connector makes it easy to program and debug the FPGA. Includes six SMA-to-U.FL cables, two screws for mounting your an XTRX board, and four 8 cm U.FL-to-U.FL cables.


4G/LTE External Antenna

From the Crowd Supply Basics project.

Abracon External Antennas exhibit low return loss characteristics, high gain, and Low Voltage Standing Ratio (VSWR). These external antennas are linearly polarized and come in a low profile package.


U.FL-to-SMA Cable

From the Crowd Supply Basics project.

A Hirose U.FL to SMA (jack) bulkhead straight connector with a 1.32 mm diameter cable. Less than -2 dB cable insertion loss up to 6 GHz. Both connectors are gold-plated brass and the cable conductor is silver-coated copper.


Active GPS Antenna

From the Crowd Supply Basics project.

A low-noise active GPS antenna suited for the GPS L1 band. Accepts 3-5V DC and outputs RF via an SMA(m) connector. Optional adhesive mounting.



We are a vertically integrated vendor of cellular equipment focused on the needs of emerging markets. We are developing, manufacturing, deploying, and operating turn-key cellular network solutions including radio equipment, towers, power and backhaul all the way to a core network and SS7 interconnect. Our team has been building software-defined radios and systems based on them since 2009 and is well known for its ClockTamer, UmTRX, and UmSITE products.

Alexander Chemeris


Sergey Kostanbaev

Software & Firmware Development

Andrey Sviyazov

Hardware Design

Albert Gardiner


Andrey Bakhmat


Andy Avtushenko


See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: