Thoughts on SSTV…

My recent playing with SSTV images coming from ARRISSat-1 have made me think a bit more about SSTV. I used two different applications to decode SSTV images (MMSSTV on Windows, and Multiscan on OS X), and got slightly different results in terms of performance from each. This leads me to ask “just what are the limits of performance for analog SSTV imagery, and how closely do existing applications approach these limits?”

Whenever I ask a question like this, there seems to be two complementary approaches: doing research and doing experiments.

Luckily, courtesy of Google, research has never really been easier. Relatively quickly I found this article by Lionel and Roland Cordesses:

Some Thoughts on “Real Time” SSTV Processing by Lionel and Roland Cordesses, QEX May/Jun 2003

It’s a great article, with many good ideas. The authors have apparently implemented them in the F2DC SSTV program, which apparently in need of some repair (written for Borland tools and Win95) but could provide the basis for a new, good implementation. But their paper provides some basic ideas, and I’m not sure I agree 100% with their implementation of them, so perhaps it is more valuable as inspiration.

They use a fairly old but still useful technique based upon the Hough Transform to do high quality deskewing of the incoming image signal. Much of the paper is devoted to details of making that work. In the past, I’ve used RANSAC to figure out sync pulse locations in my NOAA satellite decoder. Their technique is almost certainly less computationally intensive, but RANSAC can match more complex models (including Doppler shift, which is important for NOAA images), and I find RANSAC less “fussy” to implement (it is relatively indifferent to the model you choose, which makes modularization easier).

The other part of their paper deals with robustly estimating frequency. The simplest (and worse performing) demodulators estimate frequency from just two or three samples surrounding the current pixel location. The authors instead determine frequency by convolving a window function 37 samples long around the current position (they are sampling at 44100 samples per second) or about .83 ms. In the Martin-1 mode they use, a pixels is about .57ms long, so they are looking at a window of just about 1.5 pixels. That seems okay to me, but I’m confused by some of the choices.

They choose to digitize at 44100, which seems excessive to me. SSTV information is confined to the regions between 1200 and 2300 Hz, so according to the Nyquist theorem, even sample rates of 8Khz contain all the information needed to do a decode (assuming the signals actually are bandwidth limited). I was thinking of using 11025 samples per second. The corresponding window functions that would correspond to the 37 tap filter would be about 9 samples long, which would still provide the same level of frequency discrimination, but at a lower computational cost. I can’t imagine any practical reason to use finer sampling (DSP experts can point out any errors in my thinking in comments).

The cool part of their system is that they estimate the signal to noise ratio of the signal (by comparing power inside and outside the SSTV bandwidth) and use longer filters to estimate frequency when the SNR is poor. This makes a tradeoff between resolution and noise immunity, which seems in practice to be quite effective.

It would be interesting to make modern implementation, using gcc and fftw3 as a basis, and documenting all of the design choices. I think it would also be good to test the decoders against both AWGN (additive white Gaussian noise) and perhaps using an HF channel simulator to judge their performance. I’m most interested in the Robot36 mode, since that seems to be a common choice for satellites, but Scottie and Martin modes are also essential.

If anyone else has any interesting references on SSTV transmission and reception, feel free to add them via comments.

NOAA 19 recording, and atpdec…

Some of you may remember that I wrote my own APT satellite decoder. I ran across someone else who did the same:

ATPDEC by Thierry Leconte (F4DWV)

It has the same basic philosophy as my own crude efforts: hand it a WAV file, and it will find and produce the APT imagery from inside it. I went outside and recorded some of the NOAA 19 pass over my location today, and came up with the following:

Pretty nifty! I did have some trouble with some of the older recordings though: I suspect that noise may toss off his calibration in some way which isn’t entirely obvious. I’ll have to play with it more.

Morning ARISSat-1 SSTV

I overslept this morning, and woke up a scant 10 minutes before this morning’s good pass of ARISSat-1 was to begin. Still, all I had to do was go out to my car, grab my Arrow, and my HP laptop, and my trusty VX-3R, and I should be able to make it. I started pulling on my shorts and shoes, and then remembered that my HP laptop had not been plugged in, and the amazing penchant for laptops to discharge when not fully shut down would mean that it was likely it’s battery was dead. No problem, think I. “I’ve still got my Macbook, and it was plugged in.”

I quickly fired up the Macbook and reacquainted myself with the pass. Yep, should start in about 4 minutes, peaking at 72 degrees or so. Nice! I grab my car keys and head outside to fetch a camp chair, my Arrow antenna and the radio.

But when I pop the back, I find that unlike what I expect, my VX-3R isn’t there. I can’t remember: did I bring it in to be recharged? Oh well, I have my VX-8GR which I use in my car as well, and that’s fully charged up. I quickly shift it over to 145.950, and attach it to the Arrow. Even though the antenna is aiming straight down I can still easily hear the voice from the beacon coming in. I scramble for a little patch cable so I can get it hooked to the laptop.

Then I remember: unlike the VX-3R, the VX-8GR has a combination speaker/microphone output, and the normal patch cable that I use with great success on the VX-3R doesn’t work on the VX-8GR. I need some crazy adapter, which I may or may not have. Sigh. On well. I shift Audacity over to record from the laptop microphone (meaning I’ll get road noise from passing cars, and wind noise) but that’s the only way that I will salvage the pass.

I got two SSTV images, as well as some nice recordings in French and Japanese. Sadly, but somewhat predictably, the best image was the standard logo, and the more interesting image was happening as the satellite was approaching the horizon. Still, best I’ve gotten in a while.

The horizontal bar in this one was caused by a gust of wind. Still, not bad.

Toward the end of this one, I was losing the signal pretty badly. I’ve used lots of noise reduction, which helped a tiny bit.

I’ll try to be better for tonight’s high pass.

Addendum: I found the little pigtail doohickey (a Yaesu CT-44, in case you need one) in an astoundingly short period of time. The way that ham radio equipment manufacturers pad their margins by requiring custom cabling (this little gadget costs around $15 from HRO) is shameless. Not only do I have to pay for it, but I have to remember to keep it in my equipment bag for the times I need it. Argh. Oh well, I’ll have it ready for tonight’s pass.

On ARISSat-1 SSTV images…

I’ve been trying to get out and record more ARISSAT-1 passes, in the hopes of getting some nice SSTV images. If you follow @brainwagon on twitter, you are likely to see some of the more mundane images that I’ve been getting thusfar. I keep hoping to snag some truly great ones, but thus far, the earth seems to be really good at evading the lens of ARISSAT-1 while it’s above my radio horizon. For instance, today I got these two pictures:

Not exactly exciting. There is an 82 degree pass later today, maybe I’ll luck out.

One thing that might not be obvious is that ARISSat-1 has four cameras. You can tell which camera is in use by looking at the color of the RS01S logo in the upper left of the SSTV image.

  • Red indicates the camera pointing along the -Y axis.
  • Green indicates the +Z camera. You can sometimes see the 2m antenna in this view (as you can in the green logo image above, poking in from screen right).
  • Blue is -Z pointing view, out the “bottom” of the satellite.
  • Magenta is the +Y pointing camera.

When I look at the ARISSat-1 SSTV gallery hosted by AMSAT, I see that most of the “good” pictures come from the blue and magenta cameras, but it seems clear that the orientation of the satellite drifts a bit, and there is no guarantee. I’ll just keep plugging away until I get something better.

ARISSat-1 and the ISS over California

I got a tweet from twisst, the ISS pass prediction robot yesterday indicating that I’d have a good pass around 8:25PM. While I am fighting off a cold, the weather was beautiful and nice, and so I ran some path predictions to see what the path looked like, and also checked on ARISSat-1’s path to see how it was doing. I hadn’t recorded ARISSat-1 since it’s first launch weeks ago, and hoped that in spite of it’s rapidly increasing battery problems, that it would still be in sunlight, and would therefore still have a strong signal. ARRISSat-1 would lead the ISS by about 23 minutes, rising around 8:02 or so, but since I have a tall horizon to the north where it would rise, I wouldn’t expect to pick up a good signal until it cleared the hills, about 8:06 or so.

It turned out to be a really good pass: I got three different SSTV images, and some really clear audio telemetry. The first SSTV image and the last were pretty marginal, but the middle one was really clear (sad, since it was the least interesting). When I first recorded ARISSat-1 shortly after launch, I had periodic fades which I hypothesized as tumbling of the satellite: those appear to be entirely gone. I’ll have to try again to see if I can get a better and more interesting SSTV image.

After ARISSAT-1 set, I waited until 8:25 to see if the ISS would come up. I tuned into 145.825 (the ISS packet radio frequency) and waited with my iPhone camera ready. By then, it was surprisingly dark, so my camera recorded mostly just blackness, but toward the end of the clip, you can see a faint dot in the recording (and very little else). Not too exciting, but I left the audio from the radio playing in the background, so you can hear the digital packet signals being echoed through the ISS. The ISS was predicted to peak at magnitude -3.1, which made it brighter than any star in the sky, and it was very easy to see.

Here’s the resulting video. WARNING, spoiler: I forgot to edit out the “secret word” in this recording. Blame it on the cold medicine I’m on.

I’ll probably try to record another pass soon. Stay tuned.

ARISSAT-1’s battery appears to be failing quicker than expected…

I didn’t get a chance to record any more ARISSAT-1 data this weekend, but I did catch up on some reading. Apparently, it’s batteries are giving out quicker than expected: the voltage is dropping low enough to cause a reset when the satellite goes into eclipse each orbit. If you were thinking of grabbing some telemetry/SSTV from the satellite, or even attempting some QSOS, perhaps sooner would be better than later.

You can read up on the Power System of the satellite here, which includes a link to this AMSAT Journal article which gave many details. Apparently the silver-zinc batteries which were used aboard the satellite (largely for safety, a dead short of these batteries does not cause a fire) have many features which were seemingly not that well understood. These batteries are typically used in a deep-discharge situation, and only recharged five times. Aboard ARISSAT-1, they are recharged in a shallower cycle, more times. There also seems to be some issues regarding temperature performance. I skimmed the article, but will reread it and rethink it some more soon.

AMSAT SSTV gallery

I haven’t had the chance to do any ARISSAT-1 SSTV lately, but I thought I’d snoop over to their gallery to have a peek. Some good pictures are being received, but it appears that some earlier pictures are simply being removed: two pictures that I submitted to them earlier are no longer available. Their comment:

We may not be able to display every image because of quality or duplication but it is important for you to submit them for engineering analysis purposes. The rest will be archived onto a subsidiary page.

There is no hint of where this subsidiary page can be found. Honestly, AMSAT: if you are going to act as a centralized repository for SSTV images, why not make all received images available? If they are of interest to the principals, they are probably of interest to everyone else too.

Still, surf over and have a peek. But if you find a picture you like, archive it on your local system.

Welcome to the AMSAT SSTV gallery.

Morning pass of ARISSAT-1

Success! I managed to record the pass of ARISSAT-1 from my front yard this morning.

I woke up around 7:00AM, and tried quickly to get ready. I pulled on some clothes, then I dug out my handy Arrow antenna (a hand held dual band Yagi antenna for 2m and 70cm) and my tiny Yaesu VX-3 that I had remembered to charge, a patch cable, my MacBook, and headed to the front yard. Yikes! The sprinklers were on. I turned them off, then dug a camping chair out of the back of my SUV so I had a dry place to sit. I also got a tripod with my little Kodak HD video recorder mounted on it, and aimed it roughly at the chair, thinking I’d shoot some video.

Here’s the prediction that my home grown library did for the pass:

RADIOSCAF-B will be visible from grid CM87ux starting in 00:13:35 at 14:28:04
  14:28:04  +0.1° 312.2° ?  49.1°N 144.6°W AOS 381.52
  14:29:00  +3.9° 313.7° ?  47.8°N 139.7°W     382.01
  14:30:00  +9.2° 316.1° ?  46.1°N 134.7°W     382.55
  14:31:00 +17.0° 320.3° ?  44.3°N 130.1°W     383.11
  14:32:00 +30.9° 330.2° ?  42.3°N 125.8°W     383.68
  14:33:00 +55.2°  10.5° ?  40.0°N 121.7°W     384.27
  14:33:14 +58.2°  32.9° ?  39.5°N 120.9°W MAX 384.41
  14:34:00 +43.6°  90.6° ?  37.7°N 118.0°W     384.86
  14:35:00 +23.4° 110.2° ?  35.2°N 114.5°W     385.46
  14:36:00 +13.0° 116.6° ?  32.6°N 111.2°W     386.07
  14:37:00  +6.5° 119.8° ?  29.9°N 108.2°W     386.67
  14:38:00  +1.9° 121.7° ?  27.2°N 105.3°W     387.27
  14:38:28  +0.1° 122.3° ?  25.9°N 104.0°W LOS 387.55

The satellite was supposed to start to the north, then pass to the east, reaching maximum altitude at about 14:33. I figured I wouldn’t be able to hear the satellite at all until it was above 20 degrees or so, maybe at 14:31UTC, because I have a rather high horizon to the north. But at 14:29 I tentatively turned on my radio, tuned to 145.950 and aimed it roughly north, and it was clear that there was some signal coming in. I started Audacity recording. After a minute or so, the signal was very strong, full quieting between deep fades that seemed to occur at around six second intervals.

Here’s the .mp3 file. It’s fine for listening to, and may (or may not) be adequate for SSTV decoding. If you really want to try SSTV, mail me a request and I’ll try to arrange a way to get you the 33M uncompressed audio file. I beeped out the “secret word” that appears in the recording, so as not to spoil it for others.

ARISSAT-1 Recording, Aug 5, 2011, 14:30UTC, 3.3M MP3 File

After I was done, I fired up MMSSTV on my windows box and did some SSTV decodes, here are the images as they appeared in the recording.

Not too bad. It’s pretty clear from the recording and from the pictures that the satellite is tumbling: periodic deep fades appear to happen about every six seconds or so. Still, the imagery is a pretty neat bonus. As the satellite’s spin slows, we should be able to easily get good SSTV imagery, even with equipment as primitive as mine.

According to the ARISSAT-1 website, the satellite was 20 seconds ahead of the ISS, and maybe a kilometer lower. It’s projected lifetime is short: maybe just sixty days, so don’t delay. Tune it in, collect your certificates, and have some fun.

Antenna? Who needs an antenna?

Drew, KO4MA, didn’t let a little thing like the missing antenna on ARISSAT-1 keep him down. He aimed his antennas at the satellite, and recorded the following:

What’s goin on here? Drew has a pretty good antenna setup, which includes an M2 CP42 for the uplink. That provides about 16.8db of gain. Since the ARISSAT-1 receiver was supposed to be reasonably sensitive to be workable with portable equipment, that gain is enough to put a reasonable signal into the transponder. I don’t think I am going to be working the bird with my setup, but i suspect that there are quite a few amateurs with similar setups that could still work ARISSAT-1 even with its lack of antenna.

Very cool.

Addendum: I was rereading my posts from yesterday, when the frustration of deploying ARISSAT-1 with a missing antenna was fresh in my mind. And I do frankly admit to a fair amount of frustration with AMSAT. But I was reading some even more negative traffic on the amsat-bb list, and that put it in a bit of perspective for me. ARISSAT-1 wasn’t a waste, nor is it useless, nor was it a bad thing for AMSAT to invest in. In terms of its primary, largely educational mission, I suspect it will be quite successful. Several times during the NASA briefing yesterday, they mentioned that this was the first of a series of educational birds to be launched from the ISS. These launch opportunities are incredibly valuable to the amateur community, and we should make sure that our frustration with problems doesn’t boil over into lashing out at our allies who are helping us achieve our goals in amateur radio and space.

ARISSAT-1 Update…

Okay folks, I’m sorry, I promised that I’d try to stay up late enough to record some of the first passes of ARISSAT-1, but physical need for sleep outpaced my natural enthusiasm and curiosity, and the first good pass found me sound asleep. Through some perverse quirk of fate, all the best passes of the ISS are occurring in the early morning hours. Running my own homebrew satellite prediction library, I find that my best opportunity for a pass where I am awake and the satellite is illuninated, and therefore in high power mode, will likely be tomorrow starting around 7:28AM PST. I’ll try to get myself all setup for that, and will hopefully have some audio and/or video tomorrow.

In the meantime, it has been heard.

VK2BRB recorded this YouTube video:

SW1OBT heard the voice beacon, and the start of the SSTV transmission:

ARISSAT-1 is off to a bumpy start…

First, the good news: ARISSAT-1 is floating free in space. I urge hams to listen for its 2m downlink on 145.950 to see if you can hear it. There is also a CW beacon on 145.919 and a special BPSK-1000 telemetry downlink on 145.920.

Now, the bad news. It appears that the UHF antenna was damaged or broken off at some time. The satellite was supposed to operate a 70cm->2m linear transponder, but without this antenna, it is unknown what the status of that capability will be (politely put, it’s almost certainly not going to work).

Okay, now the commentary:

It seemed rather obvious that the handling and deployment of the satellite was ill-conceived and poorly handled. You might imagine that some pre-EVA check of the satellite could have determined that the satellite was missing its antenna. You’d also imagine that the relative fragility of the solar cells (mentioned by one of the cosmonauts well into the EVA, after the satellite had been spun around and “contacted” all sorts of objects on the space shuttle) would have been part of a pre-mission briefing. Watching the video, it seemed that these cosmonauts were using all the care that a bunch of high school kids you hired to move your couch might have had. In the end, it appeared to me that they deployed the satellite simply because they couldn’t be bothered to stow it again as much as to achieve the goal of launching this amateur payload.

And lack of communication is one of the single most frustrating things I find about AMSAT. Surf on over to their website at and look for an update. It’s been two hours since deployment, and here is the only update in information that you can see:

Really? That’s all you have to say about the deployment? The culmination of four years of planning, building and testing, and it’s finally in space, and you can’t even file a report that contains any actual information?

I was curious about what the configuration of these antennas actually was. After finding a couple of broken links to the February 2010 design review, I found this page:

Design Review of ARISSAT-1

Lou McFadin, W5DID did a presentation on the antenna systems. It appears that the antennas were designed to be detachable and use a flange system similar to other antennas deployed on the ISS. There is a lot of detail missing from the presentation, but it seems to me that the obvious failure mode is simply forgetting to install the antennas rather than damage to them. The fact that the antenna situation was only detected once outside the ISS seemed very odd indeed. It should also be noted that one of the design goals was to be able to endure “rough handling”, which means that if the antenna were damaged, then one of its primary design goals was not adequately met.


Oh well. I’ll be listening for telemetry on its first good pass, which appears to be a 38 degree pass after 1:00AM this morning. I’ll let you know what I find out. I’m monitoring a bunch of blogs to see if anyone is picking up telemetry, expect updates as addendums to this post later in the day.

A nice Flickr set of images from the NASA feed of the deployment

Addendum: It lives! Masa, JN1GKZ reported on the ARISSat-1 website that he heard the FM, CW and BPSK signals on 2m during its pass over Tokyo. It can run in “high power” mode when illuminated, the late night passes I will see tonight will be in eclipse: we’ll see how low power mode works.

Students to photograph Discovery flyby at 100,000 feet | TG Daily

Interesting. A group of students are launching a high altitude balloon “some miles” from the launch site of the Shuttle Discovery at Cape Kennedy, and will be streaming the video of the event as recorded by a pair of Android phones on board. I suspect that any video so streamed will be less than stellar, but I like the basic idea. I’ll have to check back and see how they did.

Students to photograph Discovery flyby at 100,000 feet | TG Daily.

Bummer! No Wednesday deployment of ARISSat-1

The Southgate Amateur Radio News is reporting that ARRISSAT-1 will not be deployed during an EVA from the ISS this week as previously planned. It now appears that it will remain on board until July.

No Wednesday deployment of ARISSat-1 | Southgate Amateur Radio News.

3. AMSAT learned on Friday morning, 11 FEB 11 that the deployment of the ARISSat-1 satellite had been removed from the RSA EVA 28 timeline by RSC-Energia management. NASA was informed that the ARISSat-1 deployment would be deferred to a later RS EVA, due to changes in the tasks associated with the configuration of RS payloads to be performed during RS EVA 28.

Subsequently, RSC-Energia informed NASA that deployment of ARISSat-1 will be added to RSC EVA 29 currently scheduled for July 2011.