Anda di halaman 1dari 6

2015

Delta Modulation using GNU Radio

Author: Rakesh
Email id: rakesh@tenettech.com

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com

What is GNU Radio?


GNU Radio is a software library, which can be used to develop complete applications for
radio engineering and signal processing.

Introduction:
GNU Radio is licensed under the GNU General Public License (GPL) version 3. All of the
code is copyright of the Free Software Foundation. While all the applications are implemented
using python language while critical signal processing path is done using C++ language.
GNU Radio is a free and open-source software development toolkit that provides signal
processing blocks to implement software radios. It can be used with readily available low-cost
external RF hardware to create software-defined radios, or without hardware in a simulationlike environment.

Idea behind GNU Radio:


The goal is to give ordinary software people the ability to 'hack' the electromagnetic
spectrum, i.e. to understand the radio spectrum and think of ways to use it.

Why GNU Radio?


Instead of purchasing multiple expensive radios, a single generic radio can be
implemented using gnu radio software and with support of minimal hardware.

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com

Blocks explanation of the flow graph:

Every flow graph should contain atleast one source and destination blocks.
Signal Source block is used to generate an analog waveform (e.g. Triangle)
in the host machine. This block acts like signal generator

The Throttle block is used limit the processing power of the system. It
avoids number of CPU cycles eating up to execute the flow graph. Set the
sample rate accordingly. The sampling rate is set to the incoming sample
rate

Voltage controlled oscillator, which outputs a sinusoid of a frequency that


is a function of the input voltage. The input is float stream of control
voltages and the output is float oscillator output. The sensitivity is
calculated by number of incoming samples multiplied with pi and this
VCO sensitivity is the measure of the VCO output frequency variation
with the control voltage

Continuously variable slope delta modulation (CVSD or CVSDM) is a


voice coding method. It is a delta modulation with variable step size.
The incoming samples are compared against a reference sample and step
size. If the input sample is larger than reference sample the encoder emits
one and adds step size to the reference sample and if it is smaller the
encoder outputs zero and subtracts step size from the reference sample.
Common bit-rates are 9.6128kbit/s
The CVSD encoder performs interpolation and filtering necessary to work
with the vocoding. It converts an incoming float (+-1) to a short, scales it
slightly below the maximum value, interpolates it and then vocodes it.
The incoming sampling rate can be anything, though, of course, the
higher the sampling rate and the higher the interpolation rate are, the
better the sound quality

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com

Continuously variable slope delta modulation decoder reverses the process


of the CVSD Encoder. The sequence of adjusted reference samples are the
reconstructed waveform.
The CVSD decoder performs decimation and filtering necessary to work
with the vocoding.
It converts an incoming CVSD-encoded short to a float, decodes it to a float,
decimates it, and scales it slightly below the maximum value to avoid
clipping.
The sampling rate can be anything, though, of course, the higher the
sampling rate and the higher the decimation rate are, the better the sound
quality

Convert a stream of packed bytes or shorts to stream of unpacked bytes or


shorts. The Endianness is Big Endian which means the MSB byte is first
stored in smallest address. The input is stream of unsigned char and the
output is stream of unsigned char.

Convert stream of chars to a stream of float. The arguments that can be passed
are
vlen: vector length of data streams.
scale: a scalar divider to change the output signal scale

The audio sink can have multiple inputs depending upon your hardware.
For example, set the inputs to 2 for stereo audio

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com

The WX GUI Scope sink is the destination block of the flow chart. This block is
used to view the time domain representation of the output. The simulation
output of the received signal is seen with this block.

The WX GUI FFT sink is the destination block of the flow chart. This block is
used to view the frequency domain representation of the output. The simulation
output of the received signal is seen with this block. There are parameters which
can be used to view the graph in more detail

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com

Final view of the flow graph

#9/3,Shree Lakshmi complex,2nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com