A Historical Introduction to GNU Radio
Transcript of A Historical Introduction to GNU Radio
THE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
A Historical Introduction to
GNU Radio
Tom Rondeau
2015-02-01
IntroductionTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Some Early Inspiration:
Circuit-switching �extra currents�
Tom Rondeau ([email protected]) GR Intro 3 / 22
IntroductionTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Beginning to Understand Radio Waves
Tom Rondeau ([email protected]) GR Intro 4 / 22
Frequency DomainTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Knowing the Frequency Domain
Tom Rondeau ([email protected]) GR Intro 6 / 22
Simple ExperimentsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Experimenting with Leyden jars to capture static
electric sparks
Makes for a short impulse, captured here at 190 MHz with 2MHz bandwidth.
Too little energy to easily see in FFT.
Tom Rondeau ([email protected]) GR Intro 8 / 22
�It is, in fact, ridiculously easy to
produce the waves; the di�culty was to
�nd the evidence.�
- Oliver Lodge
Visualizing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
If we can create these impulses, how do we
receive them?
Create a band-limitedimpulse via �ltering.
Because everything isband-limited.
Tom Rondeau ([email protected]) GR Intro 10 / 22
Visualizing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Take a truly band-limited signal
200 MHz spectrum
Using Gaussian �lter of 1/8spectrum
The �trick� is to sample thisenergy
Tom Rondeau ([email protected]) GR Intro 11 / 22
Capturing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
The Hertz setup: signals at ∼ 100 MHz
Wideband impulse... but...
The transmission apparatusresonates and acts as a �lter.
The receiver loop antenna isalso a �lter with resonanceat a certain frequency.
Tom Rondeau ([email protected]) GR Intro 13 / 22
Capturing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Let's receive our impulse by �tuning� our antenna
QT GUI Range to adjust the�lter's center frequency.
Adjusting it across the bandpicks up more or less energy.
The trick is to know what isbeing transmitted where.
Mistuned, we receive nothing.
Tom Rondeau ([email protected]) GR Intro 14 / 22
Capturing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Let's receive our impulse by �tuning� our antenna
�rdes.complex_band_pass(1, fs, fc-bw/2, fc+bw/2, tb)
GR's �lter tools to create the �lter.
fc is adjusted by Range variable.
bw (20 MHz) and tb (5 MHz) areconstant in this application.
Tuning near the right place gets us
some energy.
Tom Rondeau ([email protected]) GR Intro 15 / 22
Capturing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Experimenting with Filters
GNU Radio'sgr_�lter_design tool.
Or in GRC: Tools -> FilterDesign Tool.
Make standard �lters forlowpass, high pass,bandpass, band reject,Gaussian, and RRC �lters.
Windowed �lters or usingPM method.
Also limited support for IIR�lter design.
Tom Rondeau ([email protected]) GR Intro 16 / 22
Capturing SignalsTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Experimenting with Filters
Play around with di�erentparameters.
Optimize �lter response forshape vs. number of taps.
Change window and designmethods for di�erentbehaviors.
Observe the response indi�erent domains (freq,time, phase, etc.).
Save and open �lters as CSVfor easy storage and reuse.
Tom Rondeau ([email protected]) GR Intro 17 / 22
�The cultivation and training of the
practical ability to do things and to
learn from observation, experiment and
measurement, is a part of education...
which the doctor and the engineer can
only neglect at their own peril and that
of those who employ them.�
- George Fitzgerald
Hardware InterfacingTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
Connecting GNU Radio to Hardware
Connect the hardware sink(UHD here).
Added QT Range sliders toadjust frequency and gain.
Removed throttle � alreadyhave rate control!
Tom Rondeau ([email protected]) GR Intro 19 / 22
�Am I to refuse to eat because I do not
fully understand the mechanism of
digestion?�
- Oliver Heaviside
Tools and Moving ForwardTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
The scope of GNU Radio is rather large
Many blocks for fundamentalsignal processing algorithms.
Highly-tuned performance.
not all algorithms available.
Out-of-Tree project model isvery important.
Develop your own set ofblocks.
Standard model for buildingOOT projects.
PyBOMBS:gnuradio.org/pybombs
Tom Rondeau ([email protected]) GR Intro 21 / 22
Tools and Moving ForwardTHE FREE & OPEN SOFTWARE RADIO ECOSYSTEM
For more, follow our Tutorials
Tutorials on gnuradio.org
Guided tutorials for basicsand building our own blocks.
Guides for how to set up andcon�gure an OOT module.
Working with advancedfeatures like VOLK andstream tags.
Other topics for helping youwork with the project.
gnuradio.org/doc/doxygen
Tom Rondeau ([email protected]) GR Intro 22 / 22