1
ABSTRACT
GNU radio is a free/open-source software toolkit for
building software radios, in which software defines the
transmitted waveforms and demodulates the received
waveforms. Software radio is the technique of getting code
as close to the antenna as possible. It turns radio hardware
problems into software problems. GNU Radio provides
functions to support implementing spectrum analyzer, an
oscilloscope, concurrent multichannel receiver and an
ever-growing collection of modulators and demodulators.
In this academic semester, we will build the environment of
GNU radio, be familiar with it, and learn how to use the
existing libraries to transmit a jpeg file with Differential
Binary Phase Shift Keying (DBPSK)/ Differential
Quadrature Phase Shift Keying (DQPSK) modulation
between two end systems by TCP connection. The future
objective of this project is to build the video/audio
transmission over wireless network, including error
correction (CRC) and QoS (Quality of Service) by using
GNU Radio.
Key words—, GNUradio, Python, , DBPSK/DQPSK, TCP
socket
I. I
NTRODUCTION
The fundamental characteristic of software radio is that
software defines the transmitted waveforms, and software
demodulates the received waveforms. This is in contrast to
most radios in which the processing is done with either analog
circuitry or analog circuitry combined with digital chips. GNU
Radio is a free software toolkit for building software radios.
Software radio is a revolution in radio design due to its
ability to create radios that change on the fly, creating new
choices for users. At the baseline, software radios can do pretty
much anything a traditional radio can do. The exciting part is
the flexibility that software provides you. Instead of a bunch of
fixed function gadgets, in the next few years we'll see a move to
universal communication devices. Imagine a device that can
morph into a cell phone and get you connectivity using GPRS,
802.11 Wi-Fi, 802.16 WiMax, a satellite hookup or the
emerging standard of the day. You could determine your
location using GPS, GLONASS or both.
Perhaps most exciting of all is the potential to build
decentralized communication systems. If you look at today's
systems, the vast majority is infrastructure-based. Broadcast
radio and TV provide a one-way channel, are tightly regulated
and the content is controlled by a handful of organizations. Cell
phones are a great convenience, but the features your phone
supports are determined by the operator's interests, not yours.
A centralized system limits the rate of innovation. Instead of
cell phones being second-class citizens, usable only if
infrastructure is in place and limited to the capabilities
determined worthwhile by the operator, we could build smarter
devices. These user-owned devices would generate the network.
They'd create a mesh among themselves, negotiate for backhaul
and be free to evolve new solutions, features and applications.
II. D
ESCRIPTION
A. Basic Architecture in GNU Radio
Figure 1 shows a typical block diagram for a software radio.
To understand the software part of the radio, we first need to
understand a bit about the associated hardware.
Figure 1. Architecture of GNU Radio
The USRP (Universal Software Radio Peripheral)[1], as
described in figure 2, consists of a small motherboard
containing up to four 12-bit 64M sample/sec ADCs, four 14-bit,
128M sample/sec DACs, a million gate-field programmable
gate array (FPGA) and a programmable USB 2.0 controller.
Each fully populated USRP motherboard supports four
daughterboards, two for receive and two for transmit. RF front
ends are implemented on the daughterboards. A variety of
GNU Radio
Ke-Yu, Chen (8818-0493), Zhi-Feng Chen (1218-1197)
Dept. of Electrical Computer Engineering
University of Florida
Gainesville, Florida
User-defined
Code
RF
Front end
Sender
USRP (mother board)
PC
User-defined
Code
RF
Front end
Receiver
ADC
FPGA
USB
DAC
USB FPGA