« Previous - Version 122/173 (diff) - Next » - Current version
Martin Braun, 07/10/2012 02:11 pm
Changed link to updated how to write a block

Welcome to GNU Radio!


GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic and commercial environments to support both wireless communications research and real-world radio systems.

GNU Radio applications are primarily written using the Python programming language, while the supplied performance-critical signal processing path is implemented in C++ using processor floating-point extensions, where available. Thus, the developer is able to implement real-time, high-throughput radio systems in a simple-to-use, rapid-application-development environment.

While not primarily a simulation tool, GNU Radio does support development of signal processing algorithms using pre-recorded or generated data, avoiding the need for actual RF hardware.

GNU Radio is licensed under the GNU General Public License (GPL) version 3. All of the code is copyright of the Free Software Foundation.

GNU Radio Conference, 2012

We are actively working on putting together the second annual GNU Radio conference to be held in Atlanta, September 24 - 27. Please visit the main conference website for details, updates, and to submit ideas for presentations:


I. Getting started

If you've never touched GNU Radio before, these pages will get you started with a running installation of GNU Radio and will show you how to take your first steps with this software radio tool.

II. Documentation

GNU Radio has two manuals: one for the C++ API and another for the Python API. The majority of the documentation comes from using Doxygen markup comments in the public header files. These are the basis for both manuals. The Python documentation uses Sphinx to pull in both the Doxygen documentation as well as any formatted comments present in any Python files.

III. Community & Communicating

There's a nice community of people involved in GNU Radio. Here's some pointers on how to connect with us.

IV. Using GNU Radio

Once GNU Radio is installed and running, check these pages to find out how to actually use GNU Radio. These articles refer to anything that does not involve writing C++ or signal processing code.

V. Developing GNU Radio

Using GNU Radio is nice, but the real fun comes with developing new components for GNU Radio or actually changing the core itself. If you want to write some code, read these articles first.

VI. Hardware

Hardware is strictly not part of GNU Radio, which is purely a software library. However, developing radio and signal processing code is even more fun when using hardware to actually transmit and receive, and GNU Radio supports several radio front-ends.

The most commonly used equipment are the USRP devices by Ettus Research, LLC..

For other Ettus products check out their website!

VII. Further information and 3rd party extensions

There's more stuff to be found for GNU Radio on the web. Check these pages to find tutorials, code and other information on GNU Radio.

Other Languages