Showing posts with label DSP. Show all posts
Showing posts with label DSP. Show all posts

Thursday, March 27, 2014

Using FFT to scan for FM channels with RTL_SDR

Recently, my brother got selected for the "Beagle Bone radio challenge" road test by element14. As part of this challenge, the selected individuals had to build a working radio using the components provided by element 14. I've decided to help my brother a little with a feature called "scan". This post is going to be how we got the "scan" feature to work. This feature scans the available FM channels.

Analysis:
Tools used for analysis:
  • Python 2.7
  • matplot
  • scipy
  • dvb t dongle
  • rtl_fm program
The first thing to do is analyze few samples that the rtl_fm program outputs. The rtl_fm is the program that can be used to tune into FM channels. Below is a typical command that can be invoked to tune into any FM channel.

          rtl_fm -f 91.1e6 -s 200000 -r 48000 - | aplay -r 48k -f S16_LE


Options:

-f         Specify the frequency, which is 91.1Mhz in the above line
-s         The sampling rate used (Sampling rate for the audio data decoded by RTL sdr)
-r         The output sapling rate (The sampling rate that the "rtl_fm" is going to use to output audio)