SDR – FM Radio

Today I build my first FM radio. GNU Radio Companion makes the job very easy!

I’m reading a 2MHz wide band from my SDR, where I tuned into 100.7 MHz. The following shows a part of the FM spectrum:

The Audio spectrum gives me this, including the pilot signal at 19kHz which indicates that there is stereophonic information at 38 kHz (the second harmonic of the pilot):

The pilot tone is also clearly visible in the FFT of the audio spectrum:

Hmmmm why do I only see up to 24 kHz? I want to see more! Just because of the Nyquist frequency. I’m sampling here with 48kHz, so the ½ of the sampling rate is 24kHz.

So, to be able to see the stereophonic information, we need to increase the interpolation of the second Rational Sampler. I changed it to 128 to be able to see up to 64 kHz.

And this is what happened, I was able to see the stereophonic information around the second harmonic, 38 kHz. And also the RDS signal at the third harmonic, 57 kHz:

Here is the filtered RDS data:

Lets have a look at the pilot tone:
I filtered it with a Band Pass Filter from 18.5 to 19.5 kHz:

If we now also add the RDS data with a Band Pass Filter from 54 to 60 kHz?:
The used modulation is a customised form of two-phase phase-shift-keying using biphase symbols. This means that two symbols eventually will correspond to one bit.

And what next? What is at the fourth harmonic, 76 kHz? This is reserved for DARC, Data Radio Channel.

Increasing the interpolation again… shows us: