GNU Radio can be used on its own without any hardware. Data can be generated or read from files, and be written to files. A lot of prerecorded examples exist that can be used to develop applications without need for expensive hardware.
If you need to gather live real-world signals or output signals, several different possibilities exists:
- Sound interface - cheap and easy
- Comedi - high quality framework for professional Data Acquisition and Output hardware
- USRP - Opensource spinoff with RF frontends
Regular sound interface¶
Most computers nowadays are shipped with a built-in sound interface or sound card. 16bit resolution at 44.1kHz(kSPS) and two channels is a long available level that you can expect. Virtually every operating system supports this hardware out of the box, and it's sufficient for a lot of DIY and hobby applications. You can expect stereo (2 channels) input and output.
If the quality of a built in sound interfaces are not very expensively built and introduce noise or show bad frequency characteristics or degraded resolution, that is dynamic range. Fortunately, high quality sound interfaces are offerd, like professional digital recording equipment, with more than a dozen channels, up to 24bit resolution and 192kHz sampling rate. These interfaces can be connected internally via PCI bus or externally via USB.
Softrock like Radio frequency interfaces¶
Stemming from the amateur radio Sofrock (Digital) Direct Conversion devices a family of radio frontends evolved. The common principle is a direct conversion device that complex mixes the RF signal to base band (a.k.a. audio frequency), using a standard stereo audio interface for input and output. The I and Q channel are mapped to stereo left and right. Advanced devices offer a interface for frequency control and other parameters. A very capable example is the Funcubedongle, offering a frequency range from 64MHz up to over 1700MHz.
The comedi project aims to offer drivers for many different Data Acquisition devices. GNU Radio includes a component that uses this library, which enables GNU Radio to use all devices support by comedi. Comedi is based on Linux kernel drivers, which results in good real time capabilities, but binds comedy to the Linux platform.
During the development of GNU Radio it turned out that no Open Source high speed interface was available. Ettus Research took to challenge to develop the Universal Software Radio Peripheral. The family of hardware grew, now including different motherboards with USB or Gigabit Ethernet interfaces, possible sampling rates up to 100MSPS, a range of frontends for reception and transmission from 0Hz up to over 5.8GHz, as PC bound device or as standalone embedded device.
While the USRP is very capable and flexible and well supported, for some application other interfaces may be more adequate. USRPs can be used without GNU Radio as well without restriction of any kind.
Every device that can be access from the operating system can be supported by GNU Radio. For example work is under way for a driver for the Perseus amateur radio transceiver.