NOAA-2 satellite reception and decoding
Many thanks to Ryzerth (ON5RYZ/KE8SUI), author of SDR++, for his invaluable help in making me understand how to decode the signal :)
The NOAA-2 satellite, also known as ITOS-D, is an old ITOS (Improved TIROS Observation Satellite) series satellite launched October 10th, 1972 and decommissioned in January of 1975.
These instruments were flown on the satellite:
- VHRR (Very High Resolution Radiometer), a precursor of AVHRR used on POES and MetOp;
- VTPR (Vertical Temperature Profile Radiometer), for atmospheric temperature measurement, precursor of HIRS used on POES and MetOp B;
- SR (Scanning Radiometer), a backup to the VHRR flown on the same satellite;
- SPM (Solar Proton Monitor), a proton detector for solar wind monitoring.
All this is surely very interesting, but what use is to us a satellite launched 50 years ago and decommissioned over 45 years ago?
In March of 2021, Scott Tilley discovered that the satellite not only broadcast a radio signal, but the signal was also modulated. This not only means the transmitter is still operating (which is important enough in itself) but also that the modulator and associated hardware is still working over 50 years after the launch!
You heard that right: a 50 years old satellite is not only trasmitting a radio signal, but it's also modulating it with data!
The ITOS satellite dissaminated the information in two ways, with APT like the current POES satellites, and with HRPT. However, this HRPT is very different from the current HRPT from POES or Meteor: the former is analogue, while the latter is digital.
The signal characteristics are:
- Frequency 1697.5 MHz
- Right hand circular polarisation
- 1 MHz bandiwdth
- 5 watt transmit power
- Frequency modulation
- FM modulated subcarrier carrying a video signal, deviation of 29 kHz, offset of 99 kHz and 300 kHz bandwidth
- 360 lines per minute
After 50 years of venerable service it is very obvious that the batteries are long dead, therefore the satellite only transmits a signal when it is not eclipsed.
Furthermore, the signal is not continuous: it is transmitted for about 30 seconds, followed by 1 minute of silence; this is probably due to the fact that the solar panels can't supply enough power to run the transmitter continuously (either due to bad attitude/tumbling of the satellite, or to the panels simply being worn out after 50 years in space).
You will need a SDR that can receive 1700 MHz without locking up. For example, you can use a good quality RTL-SDR such as RTL-SDR v3, Nooelec NESDR; also Airspy R2, SDRPlay RSP1A and Analog Devices PlutoSDR can work.
The signal is fairly strong but a good LNA like the Nooelec SAWBIRD GOES is still needed.
I'm using a 100cm offset dish, but a regular 80cm Ku band dish will work as well. Naturally no obstacles should be present between the dish and the satellite, small trees with few leaves are okay, but anything that casts a substantial shadow will also block the satellite signal.
No 1.7 GHz feed is being manufactured (at reasonable prices) so you'll need to make your own. These are the measurements:
- Wavelength: 17.63 cm
- Side of reflector: 15 cm
- Helix diameter: 5.6 cm
- Spacing between turns: 3,53 cm
- Number of turns: 5
Any SDR software that can save a WAV baseband will work, such as SDR++, SDR# or Gqrx.
You can predict the satellite pass using Orbitron on Windows or Linux (Wine), Gpredict on Linux, or Look4Sat on Android.
If you don't have a rotator you'll need to point the dish by hand. It is not as hard as it seems, but it requires a bit of practice and you need to be focused (no distractions). There is not a whole lot to explain here, just glance at Look4sat and try to determine more or less where the satellite is, then adjust the position of the dish trying to get the best signal strength.
Beware that you also need to track while the satellite is not transmitting, this will be hard. However thankfully the signal is quite strong so it is easy to adjust your aim once the satellite starts transmitting again.
This is the waterfall showing the satellite signal:
Together with Ryzerth (which I thank again) I've prepared a flowchart for GNU Radio that takes a WAV baseband and gives back a raster with the decoded image.
After installing GNU Radio, download the file
ITOS_Decoder.grc from the GitHub repository or from here e and open it with the GNU Radio Companion.
Edit the file path in the
Wav File Sync block so it points to the WAV file (for testing purposes you can download a baseband from here).
wav_samp_rate_mhz variable so it is identical to the sample rate of your baseband in MHz (in my case 4 MHz = variable set to 4).
Start GNU Radio, it should produce a calibration ramp.
Good luck with NOAA-2!