Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Radio
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Block programming software for radio}} {{primary sources|date=August 2014}} {{Infobox software | name = GNU Radio | logo = Gnuradio logo.svg | logo size = 325px | logo caption = | screenshot = <!-- File name only, no "File:" --> | caption = | collapsible = | author = [[Eric Blossom]] | developer = [https://github.com/gnuradio/gnuradio GNU Radio Community]<br>President: Josh Morman<br>Maintainer: Marcus Müller<ref>{{cite web |title=GNU Radio Leadership |url=https://www.gnuradio.org/leadership/ |access-date=21 April 2025}}</ref> | released = {{Start date and age|2001}} | discontinued = | latest release version = {{wikidata|property|preferred|references|edit|Q5514028|P348|P548=Q2804309}} | latest release date = {{wikidata|qualifier|preferred|single|Q5514028|P348|P548=Q2804309|P577}} | latest preview version = {{wikidata|property|preferred|references|edit|Q5514028|P348|P548=Q51930650}} | latest preview date = {{wikidata|qualifier|preferred|single|Q5514028|P348|P548=Q51930650|P577}} | programming language = [[C++]], [[Python (programming language)|Python]] | operating system = [[Cross-platform]] | platform = | size = | language = English | genre = [[Radio]] | license = 2007: [[GNU General Public License|GPL-3.0-or-later]]<ref>{{cite web |url=https://github.com/gnuradio/gnuradio/commit/937b719d2e57d0497293d603da10cac2532346f6 |title=Updated license from GPL version 2 or later to GPL version 3 or later |website=[[GitHub]] |date=2007-07-21}}</ref><br/>2001: [[GNU General Public License |GPL-2.0-or-later]]<ref>{{cite web |url=http://ftp.gnu.org/gnu/gnuradio/old/gnuradio-0.9.tar.gz |title=Copying in gnuradio-0.9.tar.gz |date=2001-04-14}}</ref> | alexa = | website = {{URL|www.gnuradio.org}} }} '''GNU Radio''' is a [[free software]] development toolkit that provides signal processing blocks to implement [[software-defined radio]]s and [[signal processing]] systems. It can be used with external [[radio frequency]] (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== [[File:GNU Radio Qt GUI Plots Screenshot.png|thumb|350px|right|GNU Radio plotting demodulated radio samples.]] 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]] 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 (programming language)|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]] package and part of the [[GNU Project]]. It is distributed under the terms of the [[GNU General Public License]] (GPL), and most of the project code is copyrighted by the [[Free Software Foundation]].<ref>{{Cite web |url=http://gnuradio.org/redmine/projects/gnuradio/wiki/WhatIsGR#How-is-GNU-Radio-licensed |title="How is GNU Radio licensed?" |access-date=2016-03-31 |archive-url=https://web.archive.org/web/20161204030830/http://gnuradio.org/redmine/projects/gnuradio/wiki/WhatIsGR#How-is-GNU-Radio-licensed |archive-date=2016-12-04 |url-status=dead}}</ref> ==History== First published in 2001, GNU Radio is an official [[GNU package]]. Philanthropist [[John Gilmore (activist)|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 (software development)|fork]] of the Pspectra code that was developed by the SpectrumWare project at the [[Massachusetts Institute of Technology]] (MIT). In 2004, a complete [[rewrite (programming)|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 [[Universal Software Radio Peripheral|Ettus Research]] LLC and began selling USRPs that worked with GNU Radio.<ref>{{Cite web|title=Ettus Research acquired by National Instruments [LWN.net]|url=https://lwn.net/Articles/374453/|access-date=2021-12-30|website=lwn.net}}</ref> In September 2010, [[Eric Blossom]] stepped down as Project Lead and was replaced by Tom Rondeau.<ref>[http://www.mail-archive.com/discuss-gnuradio@gnu.org/msg26468.html Mail on GNU Radio mailinglist where Eric Blossom introduces Tom Rondeau as the new project manager]</ref> Early in the project, the core developers began holding semi-annual ''[[Hackathon|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.<ref>[https://www.mail-archive.com/discuss-gnuradio@gnu.org/msg58528.html Mail on GNU Radio mailinglist announcing leadership transition]</ref> In January 2018, Johnathan Corgan retired from his role as Chief Architect and was replaced by Marcus Müller.<ref>[https://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00006.html Mail on the GNU Radio mailing list discussing the maintainer transition]</ref> In September 2020, GNU Radio became part of the [[SETI Institute]] (a non-profit, multi-disciplinary research and education organization) for all financial and contractual purposes.<ref>{{Cite web|title=SETI Institute and GNU Radio Join Forces|url=https://www.seti.org/press-release/seti-institute-and-gnu-radio-join-forces|date=September 8, 2020}}</ref> 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.<ref>{{Cite web|last=Lee|first=Adam|date=2020-11-13|title=GNU Radio, One Step at a Time: GNU Radio Organization Updates|url=https://gnuradio.blogspot.com/2020/11/gnu-radio-organization-updates.html|access-date=2021-12-29|website=GNU Radio, One Step at a Time}}</ref><ref>{{Citation|title=GNU Radio: Governance|date=2021-09-14|url=https://github.com/gnuradio/gr-governance/blob/49e1a1a082a3af84a425797b5f048c86ca4f1144/aoa.md|publisher=GNU Radio|access-date=2021-12-29}}</ref> 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 === [[File:GNU Radio Companion (3.8.1.0) Screenshot.png|400px|thumb|right|GNU Radio Companion, the GUI tool for GNU Radio Flow Graph design, used to work on a simulation]] The GNU Radio Companion is a [[Graphical user interface|graphical UI]] used to develop GNU Radio applications.<ref>{{Cite web |url=http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion |title="GNU Radio Companion Wiki" |access-date=2014-08-08 |archive-url=https://web.archive.org/web/20160304022949/http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion |archive-date=2016-03-04 |url-status=dead}}</ref> This is the front-end to the GNU Radio libraries for [[signal processing]]. GRC was developed by Josh Blum during his studies at [[Johns Hopkins University]] (2006–2007), then distributed as [[free software]] 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 ''[[Compiler|compiled]]'' in GRC, it generates Python code that creates the desired [[graphical user interface]] (GUI) [[Window (computing)|windows]] and [[Graphical widget|widgets]], and creates and connects the blocks in the flowgraph. GRC currently supports GUI creation using the [[Qt (software)|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.<ref>{{Cite web |url=http://gnuradio.org/redmine/projects/pybombs/wiki |title="GNU Radio Wiki - PyBOMBS" |access-date=2014-08-08 |archive-url=https://web.archive.org/web/20170211235417/http://gnuradio.org/redmine/projects/pybombs/wiki |archive-date=2017-02-11 |url-status=dead}}</ref> ==See also== *[[Software-defined radio]] *[[Universal Software Radio Peripheral]] {{Commons category|GNU Radio}} {{Portal|Free and open-source software|Radio}} ==References== {{Reflist}} ==External links== * {{Official website|www.gnuradio.org}} * [http://directory.fsf.org/project/gnuradio/ GNU Radio] in the [[Free Software Directory]] {{GNU}} {{DEFAULTSORT:Gnu Radio}} [[Category:Amateur radio software for Linux]] [[Category:Amateur radio software for macOS]] [[Category:Amateur radio software for Windows]] [[Category:Free communication software]] [[Category:Free software programmed in Python]] [[Category:GNU Project software|Radio]] [[Category:Linux audio video-related software]] [[Category:Software forks]] [[Category:Software that uses Qt]] [[Category:Software-defined radio]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:GNU
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Primary sources
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Template other
(
edit
)