Post

Recevoir un satellite mort depuis 50 ans, c'est possible ?

Recevoir un satellite mort depuis 50 ans, c'est possible ?

Introduction

Le satellite NOAA-2 aussi connu sous le nom de ITOS-D est un satellite météorologique lancé le 15 octobre 1972 pour rejoindre NOAA-1 dans sa mission : l’imagerie des nuages.

Image lancement NOAA-2

Contrairement à NOAA-1 qui est équipé de caméras, NOAA-2 utilise des radiomètres, notemment :

  • VHRR (Very High Resolution Radiometer), précurseur du AVHRR (version 3 techniquement) qu’on retrouve à bord de NOAA-15, 18 et 19, les derniers satellites NOAA en VHF et UHF avant leurs décommisions en Aout 2025.
  • VTPR (Vertical Temperature Profile Radiometer), précurseur du HIRS qu’on retrouve sur les mêmes satellites cités au-dessus.

Le satellite utilise deux émetteurs pour transmettre ses mesures :

  • Sur 137.5MHz en APT, comme NOAA-15, 18 et 19.
  • Sur 1697.5MHz en HRPT, qui est très different du protocole HRPT “actuel” présent sur ces mêmes satellites.

Deux ans plus tard, le 18 mars 1974, le capteur VTPR a connu une panne, entrainant son décommissionnement le 30 janvier 1975.

Image composite fournie par la NOAA. Image composite NOAA

Aujourd’hui

Nous sommes en 50 après NOAA-2. Tout le satellite est éteint … Tout ? NON ! Un circuit peuplé d’irréductibles composants résiste encore et toujours au décommissionnement. Et la vie n’est pas facile pour les rangées de panneaux solaires du satellite, abandonné par ses batteries depuis fort longtemps.

Bien que le satellite soit décommissionné, en mars 2021, 46 ans après, Scott Tilley a découvert que le satellite émettait un signal sur sa fréquence HRPT, et même plus, un signal modulé. Ce qui signifie qu’en plus de l’émetteur, son circuit de gestion/modulation fonctionne aussi.

Nous voici en septembre 2025, 50 ans après, à tenter de le recevoir !

Matériel utilisé

Dans un cas général :

  • SDR: Un SDR qui peut recevoir à 1700MHz.
  • LNA: Je recommande le SAWbird GOES, qui permet aussi de filtrer les signaux indésirables qui risquent de faire saturer le SDR
  • Antenne: Une parabole de 80cm (60cm suffit peut-être) avec en feed une antenne avec une polarisation circulaire gauche.
  • Logiciel: N’importe quel logiciel pouvant enregistrer la baseband.
  • Tracking: Un tracking à la main suffit largement, à la portée du plus grand nombre avec un peu de pratique. Pour ceux qui ont l’habitude, comme moi, de suivre le satellite simplement en regardant le spectre, comme le satellite n’émet que par intermittence, je recommande fortement de se baser sur un logiciel de tracking.

Pour cette réception, j’ai utilisé un RTL-SDR v4 comme SDR, couplé à un LNA Nooelec SAWbird+ GOES au plus proche d’une Helix 1700MHz LHCP de dereksgc en feed d’une parabole offset de 80cm, pour le tracking j’utilise Look4Sat sur Android, pour le logiciel de réception, j’ai choisi SDR++.

Analyse

Vous pouvez passer toute l’analyse compliquée en allant directement ici

Voici le spectre du signal enregistré. Spectre SatDump

Scott Tilley indique dans son tweet une période de fonctionnement de 88.6s, selon mon observation, la période est d’environ 270s au 27 septembre 2025: 105s d’émission suivit par 160s de silence radio.

Caractéristiques du signal HRPT selon la documentation officielle Table 11 :

  • Fréquence: 1697.5MHz +-0.005%
  • Puissance: 5W minimum
  • Polarisation: Circulaire droite
  • Bande passante: 0.9MHz ou 1MHz
  • Modulation: FM
  • Sous-modulation: FM dans une sous porteuse à 99kHz
  • Durée d’une frame: 150ms, soit 400 lignes par minute (on y reviendra plus tard)

J’ai utilisé GNURadio pour démoduler le signal selon la documentation et enregistrer le signal dans itos.u8. Flowchart démodulation

En analysant rapidement le fichier avec Hobbits (qui n’est pas vraiment adapté, puisqu’on traite des octets plutôt que des bits) on peut trouver la largeur d’une ligne. En mettant cette valeur à 104856 bits (13107 octets), on obtient ce motif.

Hobbits

Ce qui nous donne une frame de 218ms soit ~275 lignes par minute.

On peut ensuite faire un script python pour produire une image, ou directement le faire dans GNURadio.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import numpy as np
from PIL import Image

filename = 'itos.f32'
out_png = 'itos.png'
width = 13107

with open(filename, 'rb') as f:
    raw = f.read()
samples = np.frombuffer(raw, dtype=np.float32)

height = samples.size // width
needed = height * width
samples = samples[:needed]

img = samples.reshape((height, width))

vmin = np.min(img)
vmax = np.max(img)

norm = (img - vmin) / (vmax - vmin)
norm = np.clip(norm, 0.0, 1.0)
arr8 = (norm * 255.0).astype(np.uint8)

im = Image.fromarray(arr8, mode='L')
im.save(out_png)

Solution GNURadio

Résultats

En utilisant ce fichier GNURadio j’ai pu obtenir ces 2 images.

Les images sont downscale 10x pour réduire leur taille.

Image 1 Image 2

Il n’y a (évidement) aucune image puisque que le VHRR ne marche pas, mais le satellite transmet quand même certaines bandes de calibration (Page 32 de la documentation officielle)

This post is licensed under CC BY 4.0 by the author.