The Free & Open Software Radio Ecosystem

The GNU Radio software development toolkit provides signal processing blocks to implement software radios, a graphical user interface to combine them and a run-time to manage data-flow. 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 research, industry, academia, government, and hobbyist environments to support both wireless communications research and real-world radio systems.

GNU Radio is implemented using C++ and Python. The run-time and signal progressing uses C++ and VOLK, a low-level math library for SIMD operations that grew out the project. GNU Radio applications are build using Python which make it really easy to configure and connect blocks into flow-graphs. On top of that, we have a graphical flow-graph editor that generates Python or C++ application code including graphical widgets (Qt) to control and visualize the application status.

The GNU Radio ecosystem is comprised of the core project and a great number of external packages and tools. These extend the capabilities of GNU Radio by providing additional signal processing algorithms, support for RF hardware and/or entire applications build on-top of them.

lightbulb_outline View ideas list


  • python
  • c++
  • qt


  • Other
  • software defined radio
  • signal processing
  • communication
comment IRC Channel
email Mailing list

GNU Radio 2020 Projects

  • Alekh Gupta
    gr-dpd: Digital Pre-Distortion
    Digital Pre-Distortion (DPD) is one of the most fundamental building blocks in wireless communication systems today. It is used to increase the...