Gnu Radio
Gnu Radio
Gnu Radio
Kuntal Ray
Outline
Introduction
Software Radio What is GNU Radio?
References
Outline
Introduction
Software Radio
Software Radio
An implementation technology A technique for moving digital signal processing into software Software Radio definition
Replacing Rigid Hardware... with flexible software based solutions
A software (defined) radio is a radio that includes a transmitter in which the operating parameters of the transmitter, including the frequency range, modulation type or maximum radiated or conducted output power can be altered by making a change in software without making any hardware changes.
Outline
Introduction
What is GNU Radio?
GNU Radio
An open source software toolkit
Supports, Linux, Mac OS and Windows Creating signal processing applications Defining waveforms in software Processing waveforms in software
A hardware platform USRP, Universal software radio peripheral, low cost HW platform for preprocessing
ADC &DAC FPGA Ethernet Interface to Host PC
GNU Radio
Using the GNU radio is cross disciplinary
Requiring know-how in the fields of
Computer programming Communications systems Digital signal processing Analog as well as digital hardware
Hardware is also open source Schematics are available
Outline
Features of USRP2
100 MS/s 14-bit dual (IQ) ADCs
~80 MHz instantaneous RF bandwidth
Features of USRP2
Bigger FPGA w/Multipliers (Spartan 3) 1 MB high-speed on-board SRAM High speed serial expansion interface Configured by flash
Can operate without host computer
Outline
A 3 Tier Architecture
Python scripting language used for creating "signal flow graphs" C++ used for creating signal processing blocks
An already existing library of signaling blocks OFDM functionality is currently being added tested and will be added to the library.
The scheduler is using Pythons built-in module threading, to control the starting, stopping or waiting operations of the signal flow graph.
Outline
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) fg.connect ((src0, 0), (dst, 0)) fg.connect ((src1, 0), (dst, 1))
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
`
Setting up fo signal flow graph Sampling Freq and Amplitude on Sound Card
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl)
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) `
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) fg.connect ((src0, 0), (dst, 0)) fg.connect ((src1, 0), (dst, 1))
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) fg.connect ((src0, 0), (dst, 0)) fg.connect ((src1, 0), (dst, 1))
from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1
fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) fg.connect ((src0, 0), (dst, 0)) fg.connect ((src1, 0), (dst, 1))
Outline
Outline
References
References
GNU Radio website
http://www.gnu.org/software/gnuradio/
THANK YOU
ANY QUESTIONS??