The GNU Radio Toolkit - FOSDEM · But GNU Radio is there to make it easier Getting started with GNU...

24
The GNU Radio Toolkit Martin Braun, Ettus Research FOSDEM January 2016 (Martin Braun, Ettus Research) The GNU Radio Toolkit 1 / 21

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