Painting some funny pictures on your Spectrogram!
This project is maintained by handiko
A few years ago, drmpeg wrote a nice gnuradio block which is called gr-painter. This block works very well and I had some fun with it. Now, I don’t have SDR which can transmit anymore, only receive (an el-cheapo RTL SDR dongle), and I want to with gr-painter again, so, I can’t. I have some AD9851 DDS modules lying around, so I decided to implement an FMCW version of gr-painter (because I can’t figure out how to implement OFDM on the DDS module, yet). It won’t be as good as gr-painter does (which is using OFDM) but it’s good enough for me. Sure, the DDS module is controlled using an Arduino UNO and some rather simple code.
Note, FMCW : Frequency Modulated Continuous Wave, OFDM : Orthogonal Frequency Division Multiplexing
This project will emit radio waves. If you don’t have any proper radio license, please do this at very low power, don’t put any RF power amplifier with it, and do at your own risk!
PROGMEM
in the form of binary value ASCII art. (white pixel is represented by space and black pixel is represented by alphanumeric)[height, width]
.[height-1, 0]
index to [height-1, width-1]
, continue to [height-2, 0]
to [height-2, width-1]
, and so on until [0, width-1]
.The detail of how one can program the AD9851 is presented in the datasheet.
Very Important: Don’t forget to pull up the DDS D0 and D1 pins to 5V thru a 10k resistor and ground the DDS D2 pin. Otherwise, the serial programming wouldn’t work (please refer to the datasheet, page 15, figure 18).
PROGMEM
attribute.drawCat
function.void drawCat(unsigned long in_freq, int scale, int repeat)
function.int scale
.int repeat
.This example will run the drawCat function with the scale = 2 and repeat = 2. Using RTL SDR and GQRX, set the RTL SDR center freq at 35.04 (approx.), FFT size = 32768, rate = 20fps, and Time span = auto.
This example will run the drawCat function with the scale = 2 and repeat = 20. Rather usefull to generate more “hi-res” Spectrogram image. Using RTL SDR and GQRX, set the RTL SDR center freq at 35.04 (approx.), FFT size = 32768, rate = 20fps, and Time span = 5min.
git checkout -b add-blah-blah
)git commit -m "Adding some blah blah blah.."
)git push -u origin add-blah-blah
)