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
Notify of

Inline Feedbacks
View all comments

“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?


Thank you Fred!
Code edited and new release published about these issues.
Amplitude-magnitude stuff still bothering me though…