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

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:
Radio_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):
Audio_Spectrum

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

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:
Stereophonic_RDS_Information

Here is the filtered RDS data:
RDS_Filtered

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

If we now also add the RDS data with a Band Pass Filter from 54 to 60 kHz?:
RDS_Data_57kHz
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:


Categories: SDR

Continue Reading...

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,...

Read Post

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,...

Read Post