The GNU Radio Toolkit - FOSDEM · But GNU Radio is there to make it easier Getting started with GNU...
Transcript of The GNU Radio Toolkit - FOSDEM · But GNU Radio is there to make it easier Getting started with GNU...
The GNU Radio Toolkit
Martin Braun, Ettus Research
FOSDEM January 2016
(Martin Braun, Ettus Research) The GNU Radio Toolkit 1 / 21
Installation
Outline
1 Installation
2 Resources
3 Starting to Code
4 Becoming a Developer
5 The Community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 2 / 21
Installation
Top 4 easiest ways to install GNU Radio
1 The GNU Radio Live DVD
2 apt-get install gnuradio — use your packagemanager, Synaptic or whatever
3 PyBOMBS4 Source Builds
(Martin Braun, Ettus Research) The GNU Radio Toolkit 3 / 21
Installation
Top 4 easiest ways to install GNU Radio
1 The GNU Radio Live DVD2 apt-get install gnuradio — use your package
manager, Synaptic or whatever
3 PyBOMBS4 Source Builds
(Martin Braun, Ettus Research) The GNU Radio Toolkit 3 / 21
Installation
Top 4 easiest ways to install GNU Radio
1 The GNU Radio Live DVD2 apt-get install gnuradio — use your package
manager, Synaptic or whatever3 PyBOMBS
4 Source Builds
(Martin Braun, Ettus Research) The GNU Radio Toolkit 3 / 21
Installation
Top 4 easiest ways to install GNU Radio
1 The GNU Radio Live DVD2 apt-get install gnuradio — use your package
manager, Synaptic or whatever3 PyBOMBS4 Source Builds
(Martin Braun, Ettus Research) The GNU Radio Toolkit 3 / 21
Installation
PyBOMBS — The apt-get of GNU Radio
Installs GNU Radio, Hardware Drivers and OOTs for you!Sets up environment variables etc. for you!Available at: http://gnuradio.org/pybombsModules are added by PyBOMBS maintainers in form oflightweight recipesPyBOMBS 2.0 just released!
(Martin Braun, Ettus Research) The GNU Radio Toolkit 4 / 21
Installation
PyBOMBS 2.0
Still FreshNew Features:
InstallableMultiple prefixes, each with its own configurationMultiple recipe remotes, per system, per user orper prefixEasy cross-compiling
Action happening at:github.com/gnuradio/pybombs
(Martin Braun, Ettus Research) The GNU Radio Toolkit 5 / 21
Installation
Source Builds
Useful for development on GNU Radio itselfRequirements:
1 Install all dependencies (Boost, UHD, QT, . . . )2 Run cmake && make && make install3 Et Voila! You’re done! (or not)
(Martin Braun, Ettus Research) The GNU Radio Toolkit 6 / 21
Resources
Outline
1 Installation
2 Resources
3 Starting to Code
4 Becoming a Developer
5 The Community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 7 / 21
Resources
GNU Radio Companion
Graphical front-end for GNU Radio (its face)Powerful graphical widgets for live inspection ofsignals/dataIgnore GRC at your own peril
(Martin Braun, Ettus Research) The GNU Radio Toolkit 8 / 21
Resources
CGRAN
http://cgran.org
Spiritual Cousin of CTAN, CPAN. . .Recently rewritten by the CGRAN SpecialForces (main contributors: Nathan + Ravi)Easy access to the entire free & open softwareradio ecosystemAutomatically generated website listing mostOOT modulesBetween CGRAN and PyBOMBS, finding andinstalling modules should be a simple task
(Martin Braun, Ettus Research) The GNU Radio Toolkit 9 / 21
Resources
First Steps: Guided Tutorials
Gentle introduction to GNU Radio (and even some DSP)Find these online on our wikiComes with a free set of codes: gr-tutorial
(Martin Braun, Ettus Research) The GNU Radio Toolkit 10 / 21
Resources
Where do I learn about these blocks?
Read our fine manual!http://gnuradio.org/doc/
All blocks are browsable through several paths, andsearchableGRC provides docs, too
(Martin Braun, Ettus Research) The GNU Radio Toolkit 11 / 21
Starting to Code
Outline
1 Installation
2 Resources
3 Starting to Code
4 Becoming a Developer
5 The Community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 12 / 21
Starting to Code
gr modtool — The Swiss Army Knife of modules
Modify and create your OOTs from the command lineUnfortunately, only the command line at this time
Create, remove, disable, enable blocksNever write any boilerplate code again!
(Martin Braun, Ettus Research) The GNU Radio Toolkit 13 / 21
Starting to Code
Writing blocks: A core skill of developing SDR
gr modtool tries to make this as easy as possibleLanguages available:
Python, for fast & easy devC++, for highest performance
(Martin Braun, Ettus Research) The GNU Radio Toolkit 14 / 21
Starting to Code
Where do I learn how to use all these blocks?
Where do I learn how to do all this wirelesscommunications stuff?Which codez do I put into my<+ do signal processing here +>?
(Martin Braun, Ettus Research) The GNU Radio Toolkit 15 / 21
Starting to Code
Getting Help — Interacting with other People
discuss-gnuradio, usrp-users mailing listsVery responsive!IRC: #gnuradio on FreenodeJoin the discussions!But first, read the wiki page on reporting errors, etc.!
(Martin Braun, Ettus Research) The GNU Radio Toolkit 16 / 21
Becoming a Developer
Outline
1 Installation
2 Resources
3 Starting to Code
4 Becoming a Developer
5 The Community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 17 / 21
Becoming a Developer
Improving GNU Radio
You’ve found a bug? Something’s bothering you?Fix it!
Actual bugsMissing featuresBad docsUnintuitive coding
(Martin Braun, Ettus Research) The GNU Radio Toolkit 18 / 21
The Community
Outline
1 Installation
2 Resources
3 Starting to Code
4 Becoming a Developer
5 The Community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 19 / 21
The Community
The Community
There’s a big community, join it!Buy shirts: gnuradio.spreadshirt.deThere’s the conference, and also local meetings,hackfests. . .
(Martin Braun, Ettus Research) The GNU Radio Toolkit 20 / 21
The Community
Conclusion
SDR is a very hard topicBut GNU Radio is there to make it easierGetting started with GNU Radio, writing first blocks etc. iswell documented at this point
(and if it’s not, maybe you can help us improve it!)
And after that, we have a great community
(Martin Braun, Ettus Research) The GNU Radio Toolkit 21 / 21