GNU Radio
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.