Decoding SSTV from the International Space Station

Overview

Can I decode SSTV from the ISS on my home made antenna?

SSTV on ISS

At the time of writing (June 2021), the ISS is active on SSTV, sending a series of twelve images. I wanted to see if I could capture and decode some. More detail can be found here.

Kit

I already have everything I need to decode SSTV from the ISS, it just needs configuration and decent operation. First, the kit.

Serial Category Item Notes
001 Antenna [Home made dual band antenna] Vertically mounted in a tree in the back garden
002 Coax run 5m of RG58 terminated in a BNC
003 Converter BNC to SMA adapter Connects the coax to my SDR
004 Radio hardware SDRPlay RSP-1A
005 Radio software SDR Console Turns out this could do the sat tracking too
006 SSTV Software MMSSTV
007 Satellite tracking Gpredict Function can be carried out in SDR Console

A pretty straightforward setup. I'm new to SDR Console so it was only when I was writing this up that I realised that there is a satellite add-on that could have replace the function of Gpredict. Something to consider for the next passes.

A quick word on the antenna. As it is vertical and up in a tree, it isn't possible to adjust the antenna to avoid the null directly overhead. This will be important as we will see later...

Operation

There are a number of steps that I followed:

  1. Identify a good satellite pass
  2. Set up the SDR (including I/Q recording)
  3. Set up MMSSTV
  4. Capture I/Q signal during satellite pass
  5. Down-mix audio
  6. Decode pictures in MMSSTV

So let's look at each step in turn.

Identify a good satellite pass

There are a lot of good apps and websites, I'll not go into them here, just tell you what I used and how I used it. I used Gpredict. Gpredict will show you the current position of the ISS and its ground track for the next few passes. Of more importance to me, is that it will show you the geometry of the pass over your location. Why does this matter? Well, you might have obstructions in certain directions that might block the signal, in my case, low passes to the south and south east are obscured by my QTH but to the West it is pretty clear to the horizon.

My other issue is that the antenna in use is a vertical and it has a null directly above it, so passes that are very high are also problematic. In any case, it was my lucky day and there were two good passes in the morning. I've shown the details in the pictures below. The plots show the progress of the ISS in the sky above, the outer edge is the horizon and the centre is directly above. The top of the diagram is to the north.

Pass 1 Geometry
Pass 2 Geometry

Pass 1 is almost horizon to horizon West to East passing almost directly overhead, the second pass is more southerly and ends up on the South East horizon. Pass 1 should be fine, except when directly overhead, pass 2 will struggle at the end as it dips below the buildings.

Set up the SDR

My current SDR is an SDRPlay RSP-1A, it comes with a choice of SDR software, I'm using SDR console at present, so I decided to use it for this test. I needed to carry out two tasks, set up the radio for reception of the signal, set up the recording of the I/Q data for later decoding.

Setting up the radio is simple. ISS transmits SSTV on 145.800MHz and it is best to use Wideband FM if you can in your receiver. To record the I/Q data, I reduced the bandwidth to 1MHz (to save space) and set up the recorder to save 16bit depth samples into a folder. This generated about 5Gb files for each pass that I could process later to pick out the SSTV. I also decided to try and decode live, so I piped by SDR output into my virtual audio cable to pass to MMSSTV.

Set up MMSSTV

There are lots of setup guides for MMSSTV online, the only changes I made were to add PD120 to the menu, although it did pick it up automatically, set the RX to input from my Virtual Audio Cable and made sure that I'd got the RX receive image showing as well as the preview as it is a 640 x 480 image and you want to see it in its fully glory as it decodes.

Capture I/Q signals during satellite pass

During the pass, I set the data recording going and also watched MMSSTV for incoming pictures. On the first pass, I got a good sync on the end of the frame with a nice view of the callsign but not much else. I did get a jumbled up picture so there was some signal there, I'd post process it and see what I could recover.

I got the callsign at least

Down-mix the audio

One of the features of an SDR is that you can record and replay not just audio, but the IF that is input into your SDR software. I used this to improve the quality of my MMSSTV decode. I replayed the I/Q file and found where I had good signal, tuned to compensate for the doppler shift and recorded the audio as a .wav file. In the first pass I got two good segments and the same for the second pass. I had no signal when the satellite was the highest in the sky as I expected.

Decode pictures in MMSSTV

So the final task was to then replay the .wav files into MMSSTV. I used VLC player to play the .wav into my virtual audio cable and MMSSTV easily picked up the signals. The results are below:

Pass 1

Nice and clear

Pass 2

Not as clear as Pass 1

Got the callsign again

Conclusion and improvements for next time

Overall, it was a success, I did decode an image from the ISS. However, there is always room for improvement. So my lessons identified are:

  • Need to look at a different antenna like a Yagi to avoid the null at highest elevation
  • Investigate the satellite plugin in SDR console - less software is better, right... and it can tune for doppler which might help in real time.
  • Get more data, I need to plot out the rest of the passes and make sure I'm around or schedule a recording.
Some icons on this site made by smalllikeart from www.flaticon.com