Home > On-Demand Archives > Talks >
Radio Signal Processing – the GNU Radio Way
Marcus Müller - Watch Now - DSP Online Conference 2024 - Duration: 01:16:40
GNU Radio is a framework to implement software-defined radio applications on standard PC hardware, embedded systems (from handheld spectrum analyzers to Raspberry Pis) to servers. This talk will take the surprise out of how to implement a very simple transmitter and a matching receiver application, where to go from there, how to improve upon existing designs, and address common pitfalls.
The audience will be introduced to the flowgraph as a means of describing a signal processing application, to core GNU Radio concepts, important design patterns, and how they interact with common communications engineering approaches. As a prerequisite for following the talk, you should be familiar with the basics of signals. An understanding of complex baseband and IQ signals will enhance the value of the talk to the reader, but is not strictly necessary.
To (optionally) replicate the examples shown, a computer running a recent version of Windows, Linux, or Mac OS on which the user is able to install software is required.
Thank you!
Excellent talk, Marcus! I'm not a programmer, but even I could follow (mostly) what you were talking about with the Python discussion. Well done!
Thank you very much, Gary! Indeed, the GNU Radio companion is meant to allow to focus more on the architecture than the mechanics of a programming language!
With a bit of Python you can do useful things (like the decibel-to-linear conversion I did for the audio gain, 10**(gain/20)
); and of course if you want to integrate some communications (or sensing) system you've built in GNU Radio with the rest of your "business logic", that becomes very useful (for example, say your joint communications and sensing system detects bats flying at night while it transports data over an OFDM link with GNU Radio, you might tell your raspberry Pi to pump some food into a bowl; or you might want to adjust the bearing of your antenna dish based on the things you just learned from the RF signal coming from space).
If you want a really useful motivational project for learning Python, Dan Boschen has two talks on here (they might still be available, I hope); one on FIR filter design with Python, and one on control loops. He's a tremendously motivating teacher.
Marcus,
great talk! I wasn't aware that you can do all that with GNU Radio! Do you know of a GNU Radio course, or do you think it is sufficient to do the tutorials? I'm happy to have watched this session. Thank you!
Hello Thomas,
thanks for the kind words! So, I'd go with this: really start with the tutorials! You don't have to finish them in one go. And: if you have any questions while doing that, hop on the GNU Radio chat (e.g. via the element.io chat client, free anonymous signup required), and ask away in the "General Discussions" room. It can get pretty interactive in there! (I promise, we're a helpful and talkative community with expertise in a lot of different application domains, not just GNU Radio itself.)
I'm currently relatively booked with work myself, but if your company wants to have a workshop at a location of their choice, say for a group of people, you could drop me an email, and we can discuss (mueller_dspoc@baseband.digital); even if I can't find the time or am a bad match to your specific requirements, I'd try to find someone else from the GNU Radio core developer community to refer you to.
Best,
Marcus
Marcus, very informative presentation. Especially the Python block code but, in general the overall expiation of the grc usage. Thanks for your time in putting this presentation together.