Digilent 1x1 USB Software-Defined Radio Platform - Review

Table of contents

RoadTest: Digilent 1x1 USB Software-Defined Radio Platform

Author: kk99

Creation date:

Evaluation Type: Test Equipment

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: HackRF One (only half-duplex) - https://greatscottgadgets.com/hackrf/one/ LimeSDR Mini (narrower band) - https://limemicro.com/products/boards/limesdr-mini/

What were the biggest problems encountered?: This version of USRP contains only the board. There is a version with an enclosure available also. This aluminum enclosure is available as a separate accessory also. From the perspective of board protection and operating temperature is good to use this enclosure or a similar solution.

Detailed Review:

Preface

My journey with SDR started with the classic RTL-SDR dongle which in connection with the Linux environment gave an excellent tool for a wide range of purposes e.g. receiving and identifying various radio signals. Then I thought that would be nice to have broadcast functionality. So, I decided to own a HackRF One board. This gave me the opportunity to analyze signals in the wider band and also the possibility to test some devices like FM receivers or radio protocols. Thanks to Element14 I have a chance to test this device which has the better specification comparing to my existing devices. Additionally, it has full-duplex functionality which for some applications is really important. Thanks to that I have the possibility to get familiar with the GNU Radio toolkit because I have used only dedicated applications or scripts so far. I would like to show the use cases which will be interesting from the perspective of hobbyists.

 

Package

 

{gallery} Package

image

IMAGE TITLE: The package

image

IMAGE TITLE: The contents of the package

image

IMAGE TITLE: Safety, environmental and regulatory information

image

IMAGE TITLE: Short manual

image

IMAGE TITLE: The package with board

image

IMAGE TITLE: The package with board

image

IMAGE TITLE: The package with board

image

IMAGE TITLE: The board

image

IMAGE TITLE: The board

 

The kit arrived at me in a really nice package with the National Instruments logo. The kit contains:

- information about changes related to company branding,

- safety, environmental and regulatory information,

- getting started guide,

- solid USB3.0 wire with plug A to micro-B plug,

- USRP B205MINI-I board well protected with the additional package and electrostatic foil.

 

On the product page are available accessories for this board like aluminum enclosure or set of antennas.

 

Product specification

  • Wide frequency range: 70 MHz – 6 GHz,
  • Up to 56 MHz of instantaneous bandwidth,
  • Full duplex operation,
  • User-programmable, industrial-grade Xilinx Spartan-6 XC6SLX150 FPGA,
  • Fast and convenient bus-powered USB 3.0 connectivity,
  • Synchronization with 10 MHz clock reference or PPS time reference,
  • GPIO and JTAG for control and debug capabilities,
  • 83.3 x 50.8 x 8.4 mm form factor,
  • USRP Hardware Driver™ (UHD) open-source software API version 3.9.2 or later,
  • GNU Radio support maintained by Ettus Research™ through GR-UHD, an interface to UHD distributed by GNU Radio.

 

Preparing working environment and installation

I am a user of the Linux system, so I would like to show all the required steps to prepare USRP B205mini to work in this environment. My test machine has the following parameters:

  • Intel i5-7200U 2.5 GHz,
  • 8 GB RAM LPDDR3 1866 MHz,
  • 256 GB NVME,
  • Debian 10.

I have previously used gqrx-sdr (which install most of the required packages e.g. GNU radio) with my rtl-sdr and hackrf one, so I was required to install the following packages:

sudo apt-get install uhd-host libuhd-dev libuhd3.13.1

The next step requires downloading all required firmware's for USRP devices:

image

The final step requires creating proper rules for udev for USRP devices. Udev handles USB plug and unplug events and to allow non-root users access to this USRP B205mini device is required to add proper rules. The best option is to download latest uhd-usrp.rules and place it in /etc/udev/rules.d/ directory.

image

image

Then we need to trigger udev to reload the rules with the following command:

udevadm control --reload-rules && udevadm trigger

After this step the USRP B205mini is good to go.

 

Reception with gqrx-sdr software

Gqrx is open-source software that provides software radio receiver created with usage of GNU radio and Qt graphical toolkit. Below there is a list of features which this software offers:

  • Discover devices attached to the computer,
  • Process I/Q data from the supported devices,
  • Change frequency, gain and apply various corrections (frequency, I/Q balance),
  • AM, SSB, CW, FM-N and FM-W (mono and stereo) demodulators,
  • Special FM mode for NOAA APT,
  • Variable band pass filter,
  • AGC, squelch and noise blankers,
  • FFT plot and waterfall,
  • Record and playback audio to / from WAV file,
  • Record and playback raw baseband data,
  • Spectrum analyzer mode where all signal processing is disabled,
  • Basic remote control through TCP connection,
  • Streaming audio output over UDP.

Thanks to that this software works out of the box with the USRP B205mini device. We need just configure an interesting sampling rate or choose reception settings like antennas or gain etc. Below are screenshots from this software with the USRP B205mini set to 56 Msps for various bands:

{gallery} gqrx-sdr

image

IMAGE TITLE: FM broadcasting band

image

IMAGE TITLE: DAB+

image

IMAGE TITLE: DVB-T

image

IMAGE TITLE: DVB-T

image

IMAGE TITLE: GSM800

image

IMAGE TITLE: GSM1800

image

IMAGE TITLE: GSM2100

image

IMAGE TITLE: Wi-Fi 2.4 GHz

image

IMAGE TITLE: Wi-Fi 5.0 GHz

All these measurements were made with two internal antennas connected to the USRP B205mini. Below there is image which present this configuration:
image

I think that results are really good especially that these antennas are designed mainly for GSM/UMTS. Below are parameters of this antennas:

- 50 Ohm impedance,

- 3 dBi gain for 890 MHz - 960 MHz.

- 5 dBi gain for 1710 MHz - 2150 MHz,

- 6 dBi gain for 2600 MHz - 2670 MHz.

I have performed a reception test at the FM band for different sampling rates. It seems that WFM demodulation works fine till 16Msps and it is limited maybe by software. Additionally CPU has an influence on that because with enabled screen capture the acceptable demodulation was at a much smaller sampling level.  The other things work perfectly even at 56 Msps. Here is a short video from reception at FM band:

Similar test performed at AM band (reception of ATIS from the near located airport):

I really like that this device has wide bandwidth which is useful for observation signals like GSM or Wi-Fi. This is great for example in case when we need to quickly check available broadcasts in the wide band. Generally USRP B205mini performs great with gqrx software.

 

GNU Radio

GNU Radio is an open-source software development toolkit that allows the creation of various software radios with the usage of ready-to-use processing blocs. This toolkit also provides a large number of ready-to-use examples and utilities. I have decided to check one of these utilities for DAB/DAB+ reception. Before use of this utility is required to install the following package:

sudo apt-get install gr-dab

After that in the system will be available command-line application called grdab. Firstly is recommended to perform calibration with command grdab adjust. The GUI window there will be possible to set parameters like gain or ppm based on selected DAB/DAB+ channel to achieve the best performance. Now we could list available stations at a given frequency grdab -f 209.936:

image

We see a list of stations with their parameters like bitrate we need to use in the next command which allows playing chosen station. Below there is an example output from playing one of the chosen station:
image

I have prepared also a video from the execution of these commands:

Again the USRP B205mini with GNU Radio utils allows to test given radio standard in a quick way.

 

I the next example I would like to show simultaneous transmission and receiving of test sinus tone at FM band. Below there is a block diagram:

image

We have here a signal source that generates a sinus tone with a frequency of 9 kHz. This block is connected to the WBFM transmit block and then to the USRP sink. The USRP source is connected to the block which performs FFT to show the input signal. The same signal is also connected to the low pass filter then to the WBFM receiver and finally to the audio sink. This setup allows to see and hear the input signal and check how this device performs with the simultaneous transmission and reception. Below there is a video from the execution of this diagram:

As we see the USRP B205mini also works great in this task. Some discontinuities (underflows reported by USRP) are caused by not enough CPU power because there was screen recording in the background.

 

Another great example of usage of the USRP B205mini is analyzing e.g. GSM. Below there is an example of the usage of a set of tools called gr-gsm for receiving information transmitted by GSM. I have used two commands:

- grgsm_scanner - to get information about neighbor GSM base stations,

- grgsm_livemon - to monitor and decode traffic for selected GSM base station, decoded data is available to analyze with Wireshark.


Of course, this could be done with simpler devices like RTL-SDR, but there are different tools e.g. gr-lte which require different bands not accessible for these simple devices. Additionally thanks to full-duplex support there is possible to create a real BTS with the usage of software like: osmo-BTS, osmo-bts, osmo-bts-trx, which is not possible for some other devices like HackRF one.

 

For test purposes, I have launched a 4G LTE base station with the usage of srsRAN. srsRAN is a open-source 4G and 5G software radio suite. More information about this framework is available here: srsran.com. Generally with this framework is possible to create a core network and base-station for 4G network in an easy and fast way. In the below video I show that it possible with the USRP B205mini device:

 

These tools were launched with default configs only for test purposes. If we have one more device with similar parameters is possible to use srsUE to connect to the test 4G LTE base-station. In my opinion in these applications the USRP B205mini works perfectly.

 

In the last example I would like to show something related to the broadcasting of audio and video signals. Sometimes when we need to check a device e.g. TV receiver there is a need to check it with a specific stream e.g. provided from an external source. Thanks to USRP B205mini and GNU Radio we could do that by streaming this signal with a given broadcasting standard directly to the receiver. GNU Radio contains examples for DVB-T, DVB-S or DVB-S2. I have modified one to perform simultaneous transmission and reception of DVB-T signal. Below there is a block diagram:

image

We have here a transmitter for DVB-T signal which takes input test TS file and stream it with following parameters:

- frequency 429 MHz,

- FEC 2/3

- GI 1/32

- 16QAM,

- 5 MHz.

At the same time DVB-T receiver writes received data to output TS file. Generally in this example the weakest point was my CPU. I was forced to record video with an external device. Of course there were few underflows/overflows during transmission but data was transferred fine. Below there is video from test run:

 

Summary:

The USRP B205mini is the best device with regard to parameters and performance with which I had a chance to work. For example HackRF One is limited by USB2.0 and half-duplex, so the number of possible applications is smaller. The USRP B205mini gives a lot of possible applications from which I have tested only a small part. I think that it will be a great device for analyzing wireless protocols from a security perspective. Of course in some applications where is required intensive signal processing is good to have a suitable CPU (or GPU acceleration) with proper performance. From a usage perspective I think that is good to buy an enclosure for this device. During intensive transmission board becomes hot, so additionally enclosure will improve also heat dissipation. In summary, I will say that is a great device for RF signal debugging, and thanks to great bandwidth and full-duplex operation it will find a lot of applications.

Anonymous