Listen to FM radio with HackRF and SDR

Here is a block diagram referenced when creating a flow graph to listen to FM radio channels in my area. I will explain what each block does here.




Osmocom Source: This block is the one which communicated with hardware. It provides collected data from hackRF to SDR for processing. We further process and play with the data provided from this block. The sample rate and frequency should be set here.

Signal Source: Generates wave form.

Multiply block: Multiply the two digital signals.

WX GUI FFT Sink:  This block visualizes the frequency components of the signal. Collected data from Osmocom source is directed to this block which provides a graphical view of captured signals.

Low Pass Filter: A low pass filter generally cuts off the high frequencies provided the cut off frequency value, and filter out the low frequencies. Here we use this block to filter our signal. Cut off frequency is 75000Hz. We set the decimation parameter to reduce the sample rate. (10 million divided by 50)  200000 sample rate will be the output from this.

Rational Resampler: The sample rate is further reduced here. This is done since the LPF is only capable of adjusting sample rate as an integer and from this block it is a rational value, not an integer.

WBFM Receive: Stands for "Wide Band FM ". This is the demodulator which turns the complex baseband radio signal to audio signal. The sample value we end up here from the previous values is 200000*12/5 = 480000. In this block further reduction is done through the audio decimation parameter. New value is 48000 which is supported by sound cards.

Multiply Const: Multiply by a constant.

Audio Sink: This is the one which gives an audio output, so that we can listen to the audio output, which means the FM radio channels.

WX GUI Slider: This block provides us with a slider which enables us to change frequencies (and thus,channels) within a specified range.

Futher modification can be done to this flow graph, but this is sufficient to listen to FM radio. :)

Here is an output of the channels in my area, in a FFT plot.



Reference: Ossman's Software Defined Radio with HackRF lesson 1&2

We can also do FM broadcasting with a similar block diagram the opposite way  with WBFM transmit and Osmocom sink blocks, which I will tell in next post.



Comments

Popular posts from this blog

Sniffing GSM traffic with hackRF

Save recorded data with hackRF to a .raw file