GNU Radio + UHD¶
GNU Radio is a popular SDR application framework commonly used with USRPs.
The gr-uhd component of GNU Radio comes with a set of source and sink blocks for UHD as well as block wrappers for the GNU Radio Companion.
To make getting started easy, Ettus Research hosts unofficial installers for GNU Radio on Ubuntu, Fedora, and Windows.
- See the GrExtras project page for more information
Build and Install¶If you are using Ubuntu or Fedora, the easiest way to compile UHD + GNU Radio is with the build-gnuradio script, linked below.
Otherwise, follow the building with CMake guide.
Using UHD with GNU Radio¶
The bridge between GNU Radio and the USRP is a set of blocks in the "gr-uhd" component:
- USRP source block - provides RX data to downstream processing blocks
- USRP sink block - accepts TX data from upstream processing blocks
The blocks can be used in C++, Python, or in the graphical GNU Radio Companion environment:
Using GNU Radio's sample tag feature, RX samples can be time-stamped, and TX samples can be precisely scheduled.
Timestamp and burst tag documentation can be found in the USRP source and sink header files:
Resources and Links¶
- For the official guide on building GNU Radio, read this: http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide
- To browse the GNU Radio git repository, use GNU Radio's cgit here: http://gnuradio.org/cgit/gnuradio.git/log/
- See the blocks coding guide for writing custom signal processing blocks: http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide