User: Password:
Subscribe / Log in / New account


RF hacking with GNU Radio

By Forrest Cook
September 5, 2007

GNU Radio is an open-source software project which controls some simple hardware in order to create arbitrarily modulated radio signals. According to the FSF listing:

GNU Radio is a collection of software that when combined with minimal hardware, allows the construction of radios where the actual waveforms transmitted and received are defined by software: it turns the digital modulation schemes used in high performance wireless devices into software problems. Waveforms are generated as sampled digital signals, converted from digital to analog via a wideband DAC and then possibly upconverted from IF to RF. The receiver uses a wideband Analog to Digital Converter (ADC) that captures all the channels of the software radio node. The receiver then extracts, downconverts and demodulates the channel waveform using software on a general purpose processor.

[GNU Radio]

The Wikipedia entry for GNU Radio explains some of the project's history:

"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 MIT. The Pspectra SDR design utilized a modular pipeline structure and the programmability of the Python programming language for easy configuration and flexibility. In 2004 a complete "rewrite" of the GNU Radio was completed but much of the original Pspectra code and structure remains."

To use the GNU Radio software, one must acquire some hardware in the form of the Universal Software Radio Peripheral. The USRP consists of a motherboard with a USB 2.0 interface, four D/A converters, four A/D converters, an Altera FPGA chip, and slots for two transmitter and two receiver daugherboards. The full hardware setup is not inexpensive at $850. Hardware subsets are available for less.

The GNU Radio code is a combination of Python and C++. The wxPython library is used for GUI functionality on the host system, control information is sent to the radio peripheral via USB.

Eric Blossom's 2004 paper Exploring GNU Radio explains the project in more detail. Some of the applications of GNU Radio include:

  • Making a multi-channel radio signal recorder.
  • Creation of Time Division Multiple Access (TDMA) waveforms.
  • A passive radar for tracking aircraft through broadcast TV distortion.
  • A radio astronomy receiver.
  • A Terrestrial Trunked Radio system (TETRA).
  • A Global Positioning System (GPS) receiver.
  • A platform for distributed sensor networks.
  • A spectrum analysis device.
  • Amateur radio equipment.
  • An ad-hoc mesh network platform.
  • A Radio Frequency ID (RFID) reader.
  • much more.
The paper includes some short Python applications for creating a telephone dial tone and making a software FM radio receiver.

A device that can create arbitrary waveforms via software is likely to get the attention of the regulatory agencies. From Eric Blossom's paper: "Every revolution has its political issues. Free software for building radios is troublesome to some people. In the US, we've run into opposition from the Motion Picture Association of America and its attempt with the Broadcast Flag to restrict the kinds of receivers that can be built for over-the-air digital TV. The US Federal Communications Commission has issued a Notice of Proposed Rule Making (NPRM) concerning Cognitive Radio Technologies and Software Defined Radios. Several troublesome issues are raised in the NPRM, including restricting the sale of high-speed digital-to-analog converters, requirements for digital signatures or similar methods to keep unauthorized software out of software radio hardware and new restrictions on radios built for the amateur radio market."

GNU Radio version 3.0.4 was announced last July, it featured one bug fix and a change of license to GPLv3.

To see some of the projects that are being done with GNU Radio, see the Our Users page.

Comments (6 posted)

System Applications

Database Software

Job Scheduler 1.3.2 released (SourceForge)

Version 1.3.2 of Job Scheduler has been announced. "The Job Scheduler runs executable files, shell scripts and database procedures automatically (MySQL,PostgreSQL,Firebird,SQL Server,Oracle,DB2). Job Scheduler provides sequential/parallel tasks, job chains and an API, see project web site for details. This is a maintenance release that adds http authentication, minor improvements and quite a bunch of bugfixes to the Job Scheduler."

Comments (none posted)

LiquiBase Core 1.2 released (SourceForge)

Version 1.2 of LiquiBase has been announced, it adds new features and bug fixes. LiquiBase is: "A tool to manage database changes and refactorings. All changes to a database are stored in XML files that are stored in version control with other source code. A graphical IDE is also available."

Comments (none posted)

PostgreSQL Weekly News

The September 3, 2007 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

SQLite 3.5.0 alpha released

Version 3.5.0 alpha of the SQLite DBMS has been announced. " The OS interface layer and the memory allocation subsystems in SQLite have been reimplemented. The published API is largely unchanged but the (unpublished) OS interface has been modified extensively. Applications that implement their own OS interface will require modification. See 34to35.html for details. This is a large change. Approximately 10% of the source code was modified. We are calling this first release "alpha" in order to give the user community time to test and evaluate the changes before we freeze the new design."

Comments (none posted)


Samba 4.0.0 alpha1 released

Version 4.0.0 alpha1 of Samba has been announced. "Samba 4 is the ambitious next version of the Samba suite that is being developed in parallel to the stable 3.0 series. The main emphasis in this branch is support for the Active Directory logon protocols used by Windows 2000 and above. Samba 4 is currently not yet in a state where it is usable in production environments."

Full Story (comments: none)

Web Site Development

lighttpd 1.4.17 released

Version 1.4.17 of lighttpd, a light weight web server, is out. " Ok. We broke it. And yes it took longer than expected to fix it. Anyway. It was worth to wait. We fixed lots of bugs in this release."

Comments (none posted)


Conky 1.4.7 released (SourceForge)

Version 1.4.7 of Conky, a system monitor for X, is available. "This is the next maintenance release for Conky, prompted by bugs introduced in 1.4.6. Also notable is changes/clarifications made to licensing. If you have any problems with the licensing changes (ie. someone got left out of AUTHORS) please let us know."

Comments (none posted)

Desktop Applications

Audio Applications

jackmix 0.4 released

Version 0.4 of jackmix, a mixer application for the Jack Audio Connection Kit, is out. "Whats new since 0.3? Since 0.3 can save its own state (and load it again) it was only a small step to include lash-support. Well, it took some time after the last release but thats because I had to be real busy for work and university. And it seemed to be a bug somewhere in the new lash-part but currently I can't reproduce it, so I think I just release this version before it gets really old..."

Full Story (comments: none)

Xhippo 3.5 released

Stable version 3.5 of Xhippo has been announced. "Xhippo is a generic playlist manager program that works with mpg123, madplay, bplay, timidity, tracker, xmp, s3mod and almost any other command-line player. It automatically decides which player to use depending on a file's extension; the defaults are set in a config file. It uses textual playlist files, which are compatible with XMMS and other audio players, and can be easily generated with standard command-line tools."

Comments (none posted)

Business Applications

OrangeHRM released (SourceForge)

Version of OrangeHRM, a human resources information system (HRIS), has been announced. "This is latest stable version of the system mainly contains the implementation of suggested improvements and bug fixes."

Comments (none posted)

Desktop Environments

GNOME 2.19.91 released

Version 2.19.91 of the GNOME desktop, aka version 12.20.0 Beta 2, has been announced. "This is our eighth development release on our road towards GNOME 2.20.0, which will be released in September 2007. All new features should all be there, so your mission is simple : Go download it. Go compile it. Go test it. And go hack on it, document it, translate it, fix it."

Full Story (comments: none)

GARNOME 2.19.91 released

Version 2.19.91 of GARNOME, the bleeding-edge GNOME distribution, is out. "This release includes all of GNOME 2.19.91 plus a bunch of updates that were released after the GNOME freeze date. This is the eighth release in the unstable cycle, with more, err... fixes added. It is for anyone who wants to get his hands dirty on the development branch, or who'd like to get a peek at future features."

Full Story (comments: none)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at

Comments (none posted)

KDE 4.0 release delayed

The KDE 4 release team has sent out a new schedule which includes a two-month delay in the expected release of this long-awaited upgrade. The final release can now be expected around the end of the year.

Full Story (comments: 4)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Encryption Software

KeePass 1.08 released (SourceForge)

Version 1.08 of KeePass has been announced. "KeePass is a free password manager, which helps you to manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master password or a key file. So you only have to remember one single master password or select the key file to unlock the whole database. Databases are encrypted using very secure encryption algorithms (AES/Rijndael, Twofish)."

Comments (none posted)

OpenSSH 4.7 released

Version 4.7 of OpenSSH, a secure remote communication system, is out. This release fixes some security problems and bugs and adds some new functionality.

Full Story (comments: none)

Financial Applications

SQL-Ledger 2.8.8 announced

Version 2.8.8 of SQL-Ledger, a web-based accounting system, is out with lots of new features and some bug fixes. See the What's New document for details.

Comments (none posted)

Imaging Applications

Java Mass JPEG Resizer Tool 0.6 released (SourceForge)

Version 0.6 of the Java Mass JPEG Resizer Tool is out. "The "Java Mass JPEG Resizer Tool" has following Features Resize all JPEG Images of a Directory, Create Webgalleries, Pack it to an ZIP File for E-Mail Attachments."

Comments (none posted)

Mail Clients

Claws Mail 3.0.0 announced

Version 3.0.0 of the Claws Mail email client has been announced. This version adds a number of new features and features a change to the GPLv3 license. See the news listing for details.

Comments (none posted)


Gnash 0.8.1 released

Version 0.8.1 of Gnash is out with new capabilities and efficiency improvements. "The forth alpha release of Gnash has just been made at version 0.8.1. Gnash is a GPL'd Flash movie player and browser plugin for Firefox, Mozilla, Konqueror, and Opera. Gnash supports many SWF v7 features and ActionScript2 classes. Gnash also runs on many GNU/Linux distributions, embedded GNU/Linux, FreeBSD, NetBSD, OpenBSD, non x86 processors, and 64 bit architectures."

Full Story (comments: none)

Music Applications

horgand 1.11 released

Version 1.11 of horgand, an organ synthesizer, is out with the following changes: "New features including, stereo operators, edit/save engine sound parameters for each sound, FLTK graphic options on command line, engine sound transpose, window icons, new file format and new sound presets. Improved volume normalize, chorus linear interpolation, tremolo and rotary DSP effects. Fixed bugs including preset at first time, Master Volume, preset at load bank and other small bugs."

Full Story (comments: none)

LiveMix first release

Version 0.4 of LiveMix, the initial release, is out. "LiveMix is a mix table for live performances designed for sound technician (not for musician as usual !) It actually will use Jack and LADSPA ad backend."

Full Story (comments: none)

MusE 0.9 announced

Version 0.9 of MusE, a multi-track midi/audio sequencer with support for internal and external software synthesizers, is out. "MusE has been in transition towards a redesign dubbed MusE 1.0 and there wasn't supposed to be any more development in the old (0.7,0.8, now 0.9) branch. But, due to fresh developer interest and lots of angry users, we decided to resurrect the old codebase :)"

Full Story (comments: none)

News Readers

Liferea 1.4.0 (stable) (SourceForge)

Stable version 1.4.0 of Liferea has been announced. "Liferea (Linux Feed Reader) is a GTK desktop news aggregator for online news feeds and weblogs. The project focus is on simplicity and easy installation. This release adds comment feed support and duplicate detection. It improves the proxy handling and uses a sqlite backend for headlines storage."

Comments (none posted)

Office Suites Newsletter

The August, 2007 edition of the Newsletter is out with the latest OO.o office suite articles and events.

Full Story (comments: none)


libquantum enters new areas of quantum simulation

Version 0.9.1 of libquantum, a free quantum simulator, has been announced. "The new release contains an interface for numerically solving the Schroedinger equation. "This essentially allows the simulation of arbitrary problems within quantum mechanics", says Hendrik Weimer, physicist and libquantum core developer. A version jump from 0.2.4 to 0.9.1 prepares the transition towards a stable and a development branch."

Full Story (comments: none)

Languages and Tools


Caml Weekly News

The September 4, 2007 edition of the Caml Weekly News is out with new Caml language articles.

Full Story (comments: none)


PHP 5.2.4 released

Version 5.2.4 of PHP has been released. "The PHP development team would like to announce the immediate availability of PHP 5.2.4. This release focuses on improving the stability of the PHP 5.2.X branch with over 120 various bug fixes in addition to resolving several low priority security bugs. All users of PHP are encouraged to upgrade to this release."

Comments (none posted)


Python 3.0a1 released

The first alpha release of Python 3.0 is available; see the release page for details and downloads. For those who have not been following the Python 3.0 process, the what's new document is a good place to start. The final release is expected to happen about one year from now.

Full Story (comments: 23)

Python-URL! - weekly Python news and links

The September 3, 2007 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)


Behavior-Driven Development Using Ruby (Part 2) (O'ReillyNet)

O'Reilly has published part two of Gregory Brown's series on Behavior-Driven Development Using Ruby. "Gregory Brown has introduced us to the basic idea of behavior-driven development in his last article. Now, he takes it from abstract to concrete by showing us how to build behavior-driven development into an actual Ruby application."

Comments (2 posted)


Tcl-URL! - weekly Tcl news and links

The August 30, 2007 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)


Freeverb3 2.0.0 released (SourceForge)

Version 2.0.0 of Freeverb3 has been announced. "Freeverb3 library includes high quality freeverb, nreverb and impulse response reverb. Oversampling feature provides higher quality of audio processing. This library includes XMMS plugins, audacious plugins, BMP beep media player plugins and sample programs, which enable you to test the audio effects easily."

Comments (none posted)

Test Suites

STAF V3.2.3 is now available (SourceForge)

Version 3.2.3 of the Software Testing Automation Framework (STAF), a framework designed to improve the level of reuse and automation in test cases and test environments, has been announced. "There are some new features in STAF V3.2.3 as well as bug fixes and documentation updates."

Comments (none posted)

Version Control

GIT 1.5.3 announced

Version 1.5.3 of the GIT version control system is out with numerous changes.

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds