GNU Radio is a
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
development toolkit that provides signal processing blocks to implement
software-defined radio
Software-defined radio (SDR) is a radio communication system where components that conventionally have been implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/ demodulators, detectors, etc.) are instead implemented ...
s and
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
systems. It can be used with external
radio frequency
Radio frequency (RF) is the oscillation rate of an alternating electric current or voltage or of a magnetic, electric or electromagnetic field or mechanical system in the frequency range from around to around . This is roughly between the u ...
(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.
Overview

The GNU Radio software provides the framework and tools to build and run software radio or just general signal-processing applications. The GNU Radio applications themselves are generally known as "flowgraphs", which are a series of signal processing blocks connected together, thus describing a data flow.
As with all
software-defined radio
Software-defined radio (SDR) is a radio communication system where components that conventionally have been implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/ demodulators, detectors, etc.) are instead implemented ...
systems, reconfigurability is a key feature. Instead of using different radios designed for specific but disparate purposes, a single, general-purpose, radio can be used as the radio front-end, and the signal-processing software (here, GNU Radio), handles the processing specific to the radio application.
These flowgraphs can be written in either
C++ or
Python. The GNU Radio infrastructure is written entirely in C++, and many of the user tools (such as GNU Radio Companion) are written in Python.
GNU Radio is a
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
package and part of the
GNU Project
The GNU Project ( ) is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing dev ...
. It is distributed under the terms of the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL), and most of the project code is copyrighted by the
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985. The organisation supports the free software movement, with the organization's preference for software being distributed ...
.
History
First published in 2001, GNU Radio is an official
GNU package. Philanthropist
John Gilmore initiated GNU Radio with the funding of $320,000 (US) to
Eric Blossom for code creation and project-management duties. One of the first applications was building an ATSC receiver in software.
The GNU Radio software began as a
fork of the Pspectra code that was developed by the SpectrumWare project at the
Massachusetts Institute of Technology
The Massachusetts Institute of Technology (MIT) is a Private university, private research university in Cambridge, Massachusetts, United States. Established in 1861, MIT has played a significant role in the development of many areas of moder ...
(MIT). In 2004, a complete
rewrite of GNU Radio was completed, so today GNU Radio no longer has any original Pspectra code.
Matt Ettus joined the project as one of the first developers, and created the
Universal Software Radio Peripheral (USRP) to provide a hardware platform for use with the GNU Radio software. In 2004, Matt founded
Ettus Research LLC and began selling USRPs that worked with GNU Radio.
In September 2010,
Eric Blossom stepped down as Project Lead and was replaced by Tom Rondeau.
Early in the project, the core developers began holding semi-annual ''
Hackfests''. In 2011, the GNU Radio project began holding a yearly conference, called "GRCon", which generally has a ''Hackfest'' on the last day of the conference.
In March 2016, Tom Rondeau stepped down and was replaced by Ben Hilburn as the Project Lead, and Johnathan Corgan, a long-time maintainer, as the Chief Architect.
In January 2018, Johnathan Corgan retired from his role as Chief Architect and was replaced by Marcus Müller.
In September 2020, GNU Radio became part of the
SETI Institute
The SETI Institute is a not-for-profit research organization incorporated in 1984 whose mission is to explore, understand, and explain the origin and nature of life in the universe, and to use this knowledge to inspire and guide present and futu ...
(a non-profit, multi-disciplinary research and education organization) for all financial and contractual purposes.
In October 2020, Ben Hilburn and the project officers at the time voted to reorganize the GNU Radio Project's leadership, forming a General Assembly with a set of by-laws that regulate details of how the organization operates. A three-member Board made up of elected General Assembly members took over the roles previously handled by the Project Lead.
Software
GNU Radio Companion
The GNU Radio Companion is a
graphical UI used to develop GNU Radio applications. This is the front-end to the GNU Radio libraries for
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
. GRC was developed by Josh Blum during his studies at
Johns Hopkins University
The Johns Hopkins University (often abbreviated as Johns Hopkins, Hopkins, or JHU) is a private university, private research university in Baltimore, Maryland, United States. Founded in 1876 based on the European research institution model, J ...
(2006–2007), then distributed as
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
for the ''October 2009 Hackfest''. Starting with the 3.2.0 release, GRC was officially bundled with the GNU Radio software distribution.
GRC is effectively a Python code-generation tool. When a flowgraph is ''
compiled'' in GRC, it generates Python code that creates the desired
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI)
windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
widgets, and creates and connects the blocks in the flowgraph.
GRC currently supports GUI creation using the
Qt toolkit.
Plotting and Displays
GNU Radio provides many common plotting and data visualization data sinks, including FFT displays, symbol constellation diagrams, and scope displays. These are commonly used both for debugging radio applications and as the user-interface to a final application.
PyBOMBS
Many users create "out-of-tree modules" for use with GNU Radio. To manage these, and the dependencies required to run GNU Radio, the organization created the PyBOMBS (Python Build Overlay Managed Bundle System) project.
See also
*
Software-defined radio
Software-defined radio (SDR) is a radio communication system where components that conventionally have been implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/ demodulators, detectors, etc.) are instead implemented ...
*
Universal Software Radio Peripheral
References
External links
*
GNU Radioin the
Free Software Directory
{{DEFAULTSORT:Gnu Radio
Amateur radio software for Linux
Amateur radio software for macOS
Amateur radio software for Windows
Free communication software
Free software programmed in Python
Radio
Radio is the technology of communicating using radio waves. Radio waves are electromagnetic waves of frequency between 3 hertz (Hz) and 300 gigahertz (GHz). They are generated by an electronic device called a transmitter connec ...
Linux audio video-related software
Software forks
Software that uses Qt
Software-defined radio