Home » Radio » Software Defined Radio » GNURadio FM Receiver – Getting Started

GNURadio FM Receiver – Getting Started

GNURadio FM Receiver

Say hello to the world of building your own SDR with a GNURadio FM Receiver. You can get this up and running in half an hour, as shown in my video. 

When you start to learn a new programming language, one of the first things you do is write a “Hello World” program. This is a short piece of code that demonstrates ability to process some data. In this case, simply defining a text string and printing it to the output device.

Learning GNURadio is similar to learning a programming language and development environment. So, the typical “Hello World” project is creating a GNURadio FM Receiver using the RTL-SDR. This is where I will start my exploration of this new tool.

The flow diagram for this project is shown in the above picture. If you download and expand this graphic, you will see all the blocks and configurations needed to demodulate your local FM stations and display their signals. I have posted a GNURadio FM Receiver video tutorial which describes everything in detail, step-by-step. Or, you can download and run the GNURadio file below. 

What I Learned Building the GNURadio FM Receiver

If you are familiar with software defined radio and DSP, you know that this design is very basic, almost trivial. On the other hand, if you are a newcomer, it’s a great demonstration of how data flows through an SDR and what you can do with it.

My learning is more focused on the tool itself. First, I found that even though Windows is not officially supported, GNURadio Companion downloads, installs and runs in Windows 10 very easily. Everything sets up quite nicely if you use the binary installer. Just make sure that you have also installed the RTL-SDR driver, as well.

Second, GNURadio seems solid. No flaky crashes or strange behaviors. Quite a bit of error checking is done for you, such as making sure blocks are properly connected and data types are matched properly. The GUI components are quite mature and, although not fancy, work as promised. The automated code generated compiles quickly and runs without putting much load on my first generation i7 CPU at 12%.

Finally, documentation is very rudimentary. It is geared more towards developers and hackers, rather than new users. Some of the blocks have documentation which helps a bit. If all of this is brand new to you, rely on a cookbook approach at first. Find someone else’s design, play with it, and modify it, learning as you go. Fortunately, there is tons of GNURadio information on the Internet.

4 comments

  1. Chris LaFave says:

    Mr Fallows, thank you so much for the GNURadio FM Receiver video. I’m quite new to HDR and it has helped immensely to have each step explained in as much detail as possible. I built the receiver manually, rather than use the link to grc code, in order to use my new knowledge to fix my mistakes. I’m using a HackRF so I used the osmocom source instead and it works wonderfully! I’m moving on to your “GNURadio Amplitude Modulation Receiver” article right now after I take a break.

  2. John VE6EY says:

    Thanks for feedback, Chris. Good on you. Would love to hear more about your HackRF when you have time and the things you are doing with it! Cheers, John

  3. Andrés CS says:

    Hello John.

    I’m working in a project about FM receiver on GNU Radio. I’m novel with SDR world and I think I need help to understand how every block works and its documentation.

    Although I watch your video in Youtube, do you have another document with more specific information about this project?

    On the other hand, I tried to make this FM receiver on Ubuntu 16.04 and it sounds like a robotic voice with noise. I tried to change the down_rate for fixing the problem but It keeps the robotic voice, what would you recommend me?

    Thanks.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.