USRP N210 quickstart

For various experiments I got an USRP N210. Here's how to get going with gnuradio.

By default it shows up at 192.168.10.2, so configure your PC eth-interface on 192.168.10.XXX. Now

$ uhd_find_devices

Should find the device:

--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
type: usrp2
addr: 192.168.10.2

However uhd_usrp_probe suggest upgrading the firmware and FPGA image, so we do that by:

$ sudo /usr/lib/uhd/utils/uhd_images_downloader.py

$ sudo /usr/bin/uhd_image_loader --args="type=usrp2,addr=192.168.10.2"

and after power-cycling the device we now get (in addition to a long description of the RX and TX interfaces or installed daughter-boards):

$ uhd_usrp_probe
FW Version: 12.4
FPGA Version: 11.1

To show that it works in gnuradio a simple USRP-source can be connected to a QT GUI Sink (or QT GUI Frequency Sink) that visualizes RX I/Q samples:
usrp_flow
The source needs to be configured with "addr=192.168.10.2" and it uses the samp_rate, freq, and gain variables.
usrp_source1

usrp_source2
The USRP now samples at 100 MS/s, digitally downconverts a bandwidth samp_rate around a center frequency freq, and streams the samples over Ethernet to the gnuradio source node. When setting freq=10e6 and samp_rate=200k (the minimum possible!?) and applying a 10.020 MHz sine-wave to the RF1-input we get this:
gnuradio_fft

With a signal that seems close to maximum amplitude the dB-scale shows a peak at -16 dB, and without any signal applied the noise-floor close to the center frequency dips just below -140 dB rising to -135 dB at 20 kHz offset.
gnuradio_fft_floor

Awesome stuff! The 200 kS/s samples from one I/Q channel produce about 800 kB/s of Ethernet traffic.

Stay tuned for more SDR updates in the near future!

3 thoughts on “USRP N210 quickstart”

  1. changing the IP of the N210 is done like so:
    /usr/lib/uhd/utils$ sudo ./usrp2_recovery.py --ifc=eth32 --new-ip=192.168.10.2

    after power-cycling the IP of the N210 is "new-ip"

  2. Hi Anders, I am using an Ettus B210 and I am very new to the GNU Radio environment (just beginning!). Is there anything you have found that has been, or could be, of benefit?
    I have experimented with dual RF outputs, but the second TX output appears to output at the same frequency (with some spurs added), have you been able to generate different frequencies from the two RF outputs of your N210? Is it actually possible to generate different frequencies from the ADI chip, I thought it should be possible lookig at ADI's data sheets.
    I am also looking at ADF4351 and wish to control that using the same computer, which is running Ubuntu 14.04 LTS. I have found a driver, but I wonder if there is any control program anyone has written?

  3. Looks like the B210 has an AD9361 inside
    http://www.analog.com/media/en/technical-documentation/data-sheets/AD9361.pdf
    From the datasheet it seems one LO is shared for both RX channels and another LO is shared for both TX channels.
    So the maximum frequency difference between two TX channels would be limited by the 'base-band' sample rate of 56 MHz or so.

    I'm using the N210 without any RF front-end just a "LFRX" board. In this configuration I believe both dual RX and dual TX channels are completely independent. With an RF-daughterboard it would depend on the board if it provides separate LOs for the dual channels.

    We used an ADF4350 evaluation board for a DDS project some time ago. It was controlled by an Arduino over SPI. Very simple code is here: https://github.com/aewallin/Arduino-DDS
    (that seems to have only the DDS code, but using the eval-board was fairly straightforward with similar SPI reads/writes). The eval-board also comes with windows software which makes is easy to get started.

    I have a B210 at work but I haven't had time to play with it much. I want to try it for RX of two signals around 100 MHz...

Leave a Reply

Your email address will not be published. Required fields are marked *