|Original author(s)||GNU project|
|Stable release||3.7.0 / July 3, 2013; 30 days ago|
|Written in||C++, Python|
|License||GNU General Public License|
GNU Radio is a free & open source software development toolkit that provides signal processing blocks to implement software-defined radio systems. 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, application-development environment.
GNU Radio supports development of signal processing algorithms using pre-recorded or generated data, avoiding the need for actual RF hardware.
GNU Radio is a signal processing package, which is distributed under the terms of theGNU General Public License (GPL). All of the code is copyright of the Free Software Foundation. The goal is to give ordinary software people the ability to ‘hack’ the electromagnetic spectrum, that is, to understand theradio spectrum and think of clever ways to use it.
As with all software-defined radio systems, reconfigurability is the key feature. Instead of purchasing multiple expensive radios, a single generic radio is purchased which feeds signal processing software. Currently only a few forms of radio can be processed in GNU Radio but if one understands the math of a radio transmission system, one can reconfigure GNU Radio to receive it.
The GNU Radio project utilizes the Universal Software Radio Peripheral (USRP) which is a computer-based transceiver containing four 64 mega sample-per-second (MS/s) 12-bit analog-to-digital (A to D) converters, four 128 MS/s 14-bit digital-to-analog (D to A) converters, and support circuitry for the interface to the host computer. Depending on the model, the host-to-USRP interface is eitherUSB 2.0 or Gigabit Ethernet. The USRP can process signals up to 25-MHz wide, depending on the model. Several transmitter and receiver plug-in daughter boards are available covering various bands between 0 and 5.9 GHz. The USRP was developed by Matt Ettus.
In order to run GNU Radio on a Macintosh operating system, one can install a package manager such as MacPorts to download and compile the source code.
History[edit source | edit]
Started in 2001, GNU Radio is an official GNU Project. Philanthropist John Gilmore initiated and has sustained GNU Radio with the funding of $320,000 (US) to Eric Blossom for code creation and project management duties.
GNU Radio began as a fork of the Pspectra code that was developed by the SpectrumWare project at the Massachusetts Institute of Technology (MIT). In 2004 a complete rewrite of the GNU Radio was completed, so today GNU Radio doesn’t contain any of the original Pspectra code. Also of note is that the Pspectra codebase has been used as the foundation of the commercial Vanu Software Radio.
In September 2010, Eric Blossom stepped down as project manager and was replaced by Tom Rondeau. Tom is a graduate of Virginia Tech and is an expert in cognitive radio and a longtime contributor to GNU Radio.
Version history[edit source | edit]
This is the version history, latest first: