Decoding NOAA Satellite Images In Python

You’d be forgiven for thinking that receiving data transmissions from orbiting satellites requires a complex array of hardware and software, because for a long time it did. These days we have the benefit of cheap software defined radios (SDRs) that let our computers easily tune into arbitrary frequencies. But what about the software side of things? As [Dmitrii Eliuseev] shows, decoding the data satellites are beaming down to Earth is probably a lot easier than you might think.

Well, at least in this case. The data [Dmitrii] is after happens to be broadcast from a relatively old fleet of satellites operated by the National Oceanic and Atmospheric Administration (NOAA). These birds (NOAA-15, NOAA-18 and NOAA-19) are somewhat unique in that they fly fairly low and utilize a simple analog signal transmitted at 137 MHz. This makes them especially good targets for hobbyists who are just dipping their toes into the world of satellite reception.

[Dmitrii] doesn’t spend a lot of time talking about the hardware in this post, only to say that he’s using a SDRPlay with what he describes as a poor antenna. He provides a link for information on building a more suitable antenna, but the signal is strong enough that an old set of “Rabbit Ears” will do in a pinch. From there he goes over how you can predict when one of the NOAA birds will be passing overhead, and explains how to configure your SDR software to capture the resulting signal. From there, it’s a step-by-step guide on how to make sense of the recorded WAV file.

With the help of the scipy library, it’s surprisingly easy to load the WAV file and generate some visualizations of the signal within. Since it’s analog, it only takes a bit more work with the Python Imaging Library (PIL) to convert that into a 2D image. [Dmitrii] notes that using the putpixel function isn’t the most efficient way to do this, and gives some tips on how you could speed up the process greatly, but for the purposes of the demonstration it makes for more easily understood code.

Of course, there are already mature software packages that will decode this data for you. But there’s something to be said for doing it yourself, especially since these NOAA satellites won’t be around forever. The new satellites that replace them will certainly be using a more complex protocol, so the clock is ticking if you want to try your hand at this unique programming exercise.

10 thoughts on “Decoding NOAA Satellite Images In Python

  1. Hearing NOAA satellites was always fun. I even build a special receiver kit and used 2 hb9vc for the circular polarized signal.
    The signal is really easy to recognize. AM modulation of a FM sent tone. Simple but effective. I think they also send a high resolution image in the GHz spektrum, but that needs mir complex hardware and antenna. Nice Projekte *heading of searching for the old receiver* ;-)

  2. “You’d be forgiven for thinking that receiving data transmissions from orbiting satellites requires a complex array of hardware and software, because for a long time it did. ”


    Well I’d have to dig into my old magazine collection to verify this. It isn’t conveniently indexed like the modern internet so probably not going to happen. But I thought people were already doing this at home something like 30 years ago using police scanners, the home computers of the day, shareware and a bit of circuitry since those computers didn’t have modern soundcards.

    Am I remembering wrong?

    Are satellite signals so much harder to receive than the old shortwave faxes?

    1. You are absolutely correct – But what you say is also true for 99.99999% of everything else posted on this blog. There is little creativity left in the world. Instead, we have a bunch of mimics, who do something that has been done a million times before, and then declare themselves “hackers” when they are able to follow the given instructions to accomplish a known outcome.
      It’s really quite bizarre, and IMO is the sign of a society in serious decline.
      FYI, you don’t have to go back to your old magazines. You will find it all on the internet, posted thousands to millions of times in the past 3 decades. You just have to know where to look and eliminate more recent (i.e. garbage) results.

      1. That’s a rather nihilistic viewpoint to have. I think doing things others have already done is a great way to learn. A lot of great classical music composers learned by literally copying sheet music in a time when printing was unavailable or extremely expensive. Some learned enough that they went on to write music that ranks among the greatest of all time. Seeing how someone else solved the problem is a speed run to the state of the art. The more people we get to that point the more likely we are to see creative and clever new things.

        I think you get numbed by the internet. In the past you wouldn’t have had the opportunity to see what so many people are doing. It was always there. And to be certain, there is still plenty of creativity out there too. Maybe you could say there’s a signal/noise problem but I’d say we get to see more of the creative stuff that was missed in the passed.

        1. There is state of the art, and then there are clever new things. What NATO seems to be complaining about is: Hackaday has too much of the former, and not enough of the latter.

          Both have their merits, and the balance of new with old is tricky.

    2. Someone in England did it in the mid-sixties, he impressed someone (NASA, or maybe a corporation) that they paid for a trip for him to the US.

      The satellites were around 108MHz, which took some work, but nothing like microwave. Some people were building police band monitors, so 108MHz wasn’t extraordinary. Popular Electronics had a converter about 1964 , some were eager for the challenge of receiving satellites.

      Actually receiving pictures wasn’t common then, but into the seventies it became viable. It wasn’t just scanners, there was all that surplus FM 2way equipment.

      Surpls fax machines became a thing about 1972, some of those were used for satellite photos. Others built or modified slow scan monitors.

      Ralph Taggart was big in SSTV, and then wrote a lot about satellite reception, even writing a book.

      It required work, but it wasn’t esoteric back then.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.