rtl_map: A Simple FFT Visualizer for RTL-SDR

Thank you to 'KeyLo99' for submitting news of the release of his new RTL-SDR based program called rtl_map. rtl_map is a currently a simple app that uses an RTL-SDR to display an FFT frequency graph. It is based on the gnuplot and fftw3 libraries.

Over on our forums KeyLo99 describes the motivation behind the project as mostly being a good reference program for people wanting to learn how to read and process IQ data from the RTL-SDR:

I'm a RTL-SDR researcher and DSP learner currently working on a project for properly figuring RTL2832 and I/Q fundamentals out. The project is about reading raw I/Q samples, processing samples and creating FFT graph from them. I tried to explain what I'm doing in detail with comment lines. I'm hoping that I will be helpful to RTL-SDR beginners with this rtl_map [C] project. Another purpose of the rtl_map project is making a frequency scanner application for signal security researches.

FFT Plot from rtl_map
FFT Plot from rtl_map


  1. Fred

    “Sample is 127 for zero signal, so substract 127 for exact value.”

    No, it’s more like 127.34; use the correct value and watch that DC spike melt away.

    “out_r = pow(creal(out[i]), 2);”

    Calling a power function to multiply a number by itself?

    “amp = sqrt(out_r + out_i);”

    Seems to me you’d want to plot power, not amplitude (voltage), so maybe skip the expensive square root?

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>