Speech:Summer 2014 GNU Radio


 * Home
 * Semesters
 * Summer 2014

Contributors

 * Marcel

Introduction
With the exponential growth in the ways and means by which people need to communicate, - data communications, voice communications, video communications, broadcast messaging, command and control communications, emergency response communications, etc. - modifying radio devices easily and cost-effectively has become business critical. Software defined radio (SDR) technology brings the flexibility, cost efficiency and power to drive communications forward, with wide-reaching benefits realized by service providers and product developers through to end users. [Wireless Innovation Forum, http://www.wirelessinnovation.org]

Software Defined Radio
A number of definitions can be found to describe Software Defined Radio, also known as Software Radio or SDR. The Wireless Innovation Forum, working in collaboration with the Institute of Electrical and Electronic Engineers (IEEE) P1900.1 group, has worked to establish a definition of SDR that provides consistency and a clear overview of the technology and its associated benefits. Simply put, Software Defined Radio is defined as: "Radio in which some or all of the physical layer functions are software defined."



Software Defined Radios (SDRs) are driving the integration of digital signal processing (DSP) and radio frequency (RF) capabilities. This integration allows the software to dynamically control communications parameters, such as the frequency band used, filtering, modulation type, data rates and frequency hopping schemes. SDR technology can be seen in wireless devices used for military and civil government applications or commercial network deployments. Compared to traditional RF transceiver technologies, SDR is advantageous because it offers increased flexibility. SDR provides the ability to reconfigure key system performance and functions on the fly. Wireless Innovation Forum.

A software-defined radio (SDR) is a wireless communication system whose functionality can be configured using software or programmable hardware. Traditional radio transmitters and receivers can usually send and receive a single type of signal. Software-defined radios are more versatile. Using different software configurations, SDR hardware can communicate at different frequencies using multiple wireless standards such as Bluetooth, FM radio, Wi-Fi, GPS, and LTE technology.

SDRs typically consist of an RF front end (transmitter or receiver) with an analog-to-digital or digital-to-analog converter. A general-purpose computer or reconfigurable hardware (e.g., FPGA, DSP, ASIC) is used with the SDR for baseband signal processing.MathWorks

GNU Radio


GNU Radio is a free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors. It is widely used in hobbyist, academic and commercial environments to support wireless communications research as well as to implement 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, rapid-application-development environment.

Installing GNU Radio
There are two ways to install GNU Radio: either by using pre-compiled binary packages, or manually compiling it from source. The recommended way to install GNU Radio is via your distribution's package manager.

Pre-compiled binaries come packaged with your distribution, or you can use the binaries provided by Ettus Research. On Ubuntu, installing GNU Radio from binaries is as easy as executing:

$ apt-get install gnuradio

Bootable DVD with GNU Radio pre-installed
There is a fully pre-configured GNURadioLiveDVD that allows trying out GNU Radio without installing GNU Radio onto a PC. http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioLiveDVD

Using build-gnuradio script
The build-gnuradio script is an install script for recent Fedora and Ubuntu systems provided by Marcus Leech.

To execute the script open a terminal window, move to the folder you would like the GNU Radio files to be stored and run the following command:

$ wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio

This process may take few hours if you have a older system and/or slower internet connection.

Driver Installation
OsmoSDR is a 100% Free Software based small form-factor inexpensive SDR (Software Defined Radio) project. While primarily being developed for the OsmoSDR hardware, this block supports RTL2832U based DVB-T dongles through librtlsdr. The source code of this driver can checked out with:

$ git clone git://git.osmocom.org/rtl-sdr.git

Building with cmake:

cd rtl-sdr/ mkdir build cd build cmake ../ make sudo make install sudo ldconfig

In order to be able to use the dongle as a non-root user, you may install the appropriate udev rules file by calling cmake with -DINSTALL_UDEV_RULES=ON argument in the above build steps.

$ cmake ../ -DINSTALL_UDEV_RULES=ON

The built executables (rtl_sdr, rtl_tcp and rtl_test) can be found in rtl-sdr/src/.

In order to be able to use the dongle as a non-root user, you may install the appropriate udev rules file by calling

$ sudo make install-udev-rules

To check if the driver was installed connect the usb dongle and run the following command:

rtl_test -t

Something like the folowing output should be displayed:

gnuradio@gnuradio-VirtualBox:~$ rtl_test -t Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 Sampling at 2048000 S/s. No E4000 tuner found, aborting.

Resources

 * http://files.ettus.com/binaries/gnuradio/latest_stable/
 * http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource
 * http://www.virtualbox.org/wiki/Documentation

Hardware Configuration
NooElec SDR is a modified DVB-T USB dongle tuned for SDR usage. These units are based on the R820T tuner IC made by Rafael Micro. As such, they have a frequency capability of approximately 25MHz-1750MHz, though this can vary somewhat from unit to unit. There is also an RTL2832U IC on board, which acts as the demodulator and USB interface. This dongle was originally made to receive and decode the European standard digital television. Finnish engineering student and Linux developer Antii Palosaari, discovered that there is a device mode in which raw samples can be captured and transferred to a host computer.