Delta Modulation Using GNU Radio

6
#9/3,Shree Lakshmi complex,2 nd Floor,Opp,To Vivekananda Park,Girinagar,Bangalore-560085.www.tenettech.com 2015 Author: Rakesh Email id: [email protected] Delta Modulation using GNU Radio

description

Continuously variable slope delta Encoding and Decoding

Transcript of Delta Modulation Using GNU Radio

Page 1: Delta Modulation Using GNU Radio

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

2015

Author: Rakesh

Email id: [email protected]

Delta Modulation using GNU Radio

Page 2: Delta Modulation Using GNU Radio

#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 simulation-

like 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.

Page 3: Delta Modulation Using GNU Radio

#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

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.6–128kbit/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

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

Page 4: Delta Modulation Using GNU Radio

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

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.

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 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

Page 5: Delta Modulation Using GNU Radio

#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

Page 6: Delta Modulation Using GNU Radio

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

Final view of the flow graph