Last night after work, i broke out the old Raspberry Pi 2 and played around with F5OEO’s rpitx, which allows transmission of AM, SSB, FM, SSTV, and FSQ modulated signals directly from one of the RPi’s GPIO pins. It’s similar to the PiFM projects that have been floating around for awhile. It worked on in some modes, and not in others.
The main rpitx program itself basically slurps in either a frequency-time file (binary-encoder pairs of frequencies to output for a specified number of nanoseconds), a frequency-time-amplitude file (as above, but with amplitude data per chunk as well), or an IQ file (a stereo WAV file with the I channel in stereo left and the Q channel on stereo right). Quadrature audio, as in the last case, is a complicated subject – for a great introduction and explanation, I’d suggest this great video by W2AEW.
F5OEO has also developed a number of side programs to convert regular old sound files (for audio modes) or images (for SSTV) to the necessary FT or IQ files. Currently, inputs are limited to only 48k mono WAV files and rgb image files, but there are a number of good conversion programs to convert any audio or image to the required format. (I used SoX and F5OEO recommends imaemagick for SSTV.)
The biggest issue with the rpitx software, transmitting as it is through a GPIO pin without a DAC, is that the modulated carrier is a square wave, which means harmonics galore. I set rpitx to output a little looping sound file with FM modulation on 50.2 MHz and listened to it via SDR# with my little RTL-SDR dongle. It came through nice and clean and crisp across the living room on 50.2… And on 150.6, and 251, and 351.4… All the way up the odd harmonics till I reached the maximum input my dongle cared to input. The moral of the story is : do not transmit without a (low pass) filter!
Regardless, this would seem to be an easy way to generate signals to test upcoming receiver projects; probably not a viable or reliable way to actual get on the air, but having a multi-mode, all band transmitter that will work at least as far as my living room will be very useful.
Postscript: At the very end of my evening, I stumbled upon HA7ILM’s Qtcsdr software, which combines an rtl-side listener with rpitx to make a basic “transceiver.” That will merit more investigation in future.