[USRP-users] RFNoC: FFT not working correctly?

Leutner, Sebastian Benedict sebastian.leutner at rwth-aachen.de
Tue Nov 21 07:51:19 EST 2017

I solved my problem. Somehow, pyBOMBS installed an earlier version of the RFNoC GRC block files (.xml) into the share folder of my prefix. These files did not match the UHD block files (especially new parameters were added). However, I did not get any warnings but just the behavior described in my earlier e-mail.

What confuses me a bit is that pyBOMBS seems to have pulled the latest commit from gr-ettus, because the actual solution was just to run a "make install" in "src/gr-ettus/build". Thus, I cannot fully reconstruct where the older GRC block files where coming from but I am happy to got it working finally.

- Sebastian


Hi all,

starting with the example code under gr-ettus/examples/rfnoc/rfnoc_fft.grc, I fail to get any valid spectrum from the "RFNoC: FFT".

*** Performed Tests ***
If I execute it as is (with the "RFNoC: FFT" on the FPGA), I only see noise [2].

Using an FFT on the host (instead of "RFNoC: FFT"), I get what I would expect: A peak at 125 kHz [3].

I also tried using an external signal generator connected to the TX/RX antenna of the USRP. Therefore, I activated the "RFNoC: Radio" block and connected it to "RFNoC: FFT". Here, I do not see a peak and also get "Doverrun on chan 0" messages. When including  the "RFNoC: DDC" between the two blocks, I get rid of these overrun messages but instead of seeing the peak at 3 GHz (as with the host FFT), I only see an incorrect peak when tuning the signal generator to 3.011 GHz [4]. Also notice the size mismatch error  between DDC and FFT. Does anyone know how to fix this? I just hit F6 to run it.

If I now replace the "RFNoC: FFT" with the FFT on the host, I do see the correct peak but I get "Doverrun on chan 0" messages and after some time the graph freezes and I get "timeout on chan 0" messages [5].

If I just use the "QT GUI Frequency Sink" (which probably has an FFT included?), I get the behaviour I would expect with the peak moving correctly when changing the signal generator frequency [6].

*** Used Setup ***
I used pyBOMBS according to [1] to setup the development environment on Ubuntu 16.04 LTS.
Thus, I have the follwing versions installed:
- UHD: 4.0.0.rfnoc-devel-409-gec9138eb
- GNURadio: 3.7.12git-295-ga0adcd33
- pyBOMBS: 2.3.3a

The hardware is an USRP X310 with a CBX daughterboard and the "usrp_x310_fpga_RFNOC_HG.bit" FPGA image fetched via "uhd_images_downloader". I already increased the MTU size to 9000 bytes and the maximum r/w socket buffer size to 33554432 bytes.

I also tried going back a few commits for UHD but this either did not change the behavior or I had trouble finding the correct commits in the gr-ettus, uhd and gnuradio repos to work together, i.e. it failed during compilation in these cases.

Does anyone know whats going on here? Did I miss something?

Kind regards,

[1]  https://kb.ettus.com/Getting_Started_with_RFNoC_Development#Creating_a_development_environment

[2] fft_example.jpeg
[3] fft_on_host.jpeg
[4] fft_rfnoc_extsiggen.jpeg
[5] fft_on_host_extsiggen.jpeg
[6] fft_qt_gui.jpeg

More information about the USRP-users mailing list