FM Receiver with GNU Radio- Week 1
This summer, I am contributing to GNU Radio as part of 2025 GSOC. I will be working with the GNU Radio community on a project that combines signal processing, software-defined radio, and user-focused design: Developing a user-friendly FM Broadcast Receiver Application with RDS and Spectrum Scanning.
About the Project
The goal is to build a plug-and-play FM receiver application that works across various SDR (Software Defined Radio) hardware. This includes:
- Receiving and decoding FM radio using GNU Radio flowgraphs
- Integrating RDS (Radio Data System) to extract metadata like station info and song titles
- Implementing spectrum scanning to list active FM channels
- Providing a debug view with real-time plots and visualizations
- Supporting recording and multi-stream listening
- Adding advanced features like SCA (Subsidiary Communications Authorization) decoding
The application will be built using PyQt for the GUI, and GNU Radio for backend signal processing.
The Bonding Period Plan
Between May 8 and June 1, I was juggling university finals but still managed to chat with my mentors Andrej and Sebastian about the project details.
This time was great for detailing the plan and trying out the gr-rds.
A small problem I faced was that RDS is not popular in Egypt; a lot of stations do not have it. But that is no big issue since I can work with already available recordings or connect to a Web SDR.
What’s Next?
Starting June 2, the coding period will start and last until April. Next weeks focus is on designing the GUI using the Python library qtpy.
I’ll be sharing updates along the way — on my blog
Links
Thank you to my mentors and the GNU Radio community.
Enjoy Reading This Article?
Here are some more articles you might like to read next: