This tutorial is for beginners, the FM Receiver is very much the hello world of SDR, For this tutorial I will assume you have booted your machine from the fantastic HackRF ready live linux iso avaliable here Log in or register to see all links
We will start by opening up gnuradio companion to do this open a terminal and enter the following command:
You should see something like below:
Now we need to populate our flow graph with the blocks needed for the radio, each block performs a different function on the incoming signal these will become more apparent as we go along. To find a block click on anything in the list on the right hand side and start typing the name of the block, once you have found it just drag it in to the center screen like so:
I am not going to detail each block to be placed on the flow graph, Simply copy the image below and put all the blocks in the same positions and connect them in the same way. To connect blocks just click on the output of one block and then the input of the block you want to connected it to, dont worry about any settings at this point we will get to it later:
Now to the configurations, the first is simple double click on the samp_rate and set Value to 5e6. For the rest of the configurations simple copy the following screencaps and copy them exactly:
First if the WX Gui Slider
Now Osmocom Source
And the Frequency Xlating FIR Filter
The last few are easy, double click WBFM Receive set the quadratur rate to 264600 and the Audio Decimation to 6. For the Waterfall Sink before WBFM Receive set the Sample Rate to 264600 and for the FFT Sink after WBFM Receive set the Sample Rate to 44100. Last thing set the Audio Sink Sample Rate to 44100. Now save the flow graph and your done. To start your fm reciever go to the top menu and click build then execute.
You should now see the screen above, assuming you have it right using the slider bar along the top you can tune in to any local fm station. Congrats on your first reciever and welcome the the exciting world of sofware defined radio !!!
When you are connecting blocks you may have an issue with the connection turning red, This mean they are incompatible data types to fix you will need to go in to one block and modify the Type and make sure both blocks are Float or Complex etc