Beginnings of an SSTV demodulator

So, armed with the SSTV link that I dug out yesterday, and with a couple of hours this morning to tinker, I started working on an SSTV decoder. It’s not much different than the APT and WEFAX decoders I had written before, but they used amplitude modulation of an audio subcarrier, and most (all?) SSTV modes are based upon frequency modulation. But the only real difference is instead of recovering the amplitude of the carrier, you recover the change in phase. I’ll write this up in more detail sometime when I feel like writing, but here’s some example “demodulations”. The first comes from the header:

yyy

This is from the beginning of the recording of my Robot36 encoded picture. It starts with the so-called VIS code, which has 300ms of 1900hz audio, 10ms of 1200hz audio, and 300ms of 1900hz audio. You then see the mode indentifier, which begins and ends with 30ms of 1200hz, and with the identifier having ones and zeros encoded as 1100hz and 1300hz audio respectively. Neat!

Looking at a later part, we get this:

xxx

This shows scanlines from the image. Between the two tallest peaks, you see two scanlines. The two longer stretches are the intensity information, the two shorter, the R-Y and B-Y color channels.

It won’t be too hard to convert this into a picture, but I’ve been mucking with this too long today. Stay tuned for more developments.

Addendum: The bandpass filter in these examples was probably not positioned optimally (centered on 1500Hz, rather than 1700Hz). I’ve corrected it.