Automatisiertes Empfangen und verarbeiten von Satelliten Daten

2016/10/10

Um unseren Planeten herum fliegen jede menge Satelliten. Viele von denen kann man Empfangen und frei decodieren. Die Daten dienen quasi der Allgemeinheit. Seit langen möchte ich die NOAA Wettersatelliten Empfangen und dessen Daten verarbeiten. Dabei ergaben sich mir folgende Herausforderungen:

  1. Antennennachführung
  2. Der Empfänger
  3. Die Datenverarbeitung

1) Die Antennennachführung

Um eine Nutzbare Antenne für den Satelliten zu finden, muss zunächst geschaut werden um welche Art es sich handelt. Satelliten teilen sich dabei in Low-Orbital-Sat. (LOS), High-Orbital-Sat. (HOS), Geo-Orbital-Sat. (GOS) stationiert auf. LOS und GOS Satelliten wandern über den Horizont. Unser Wettersatellit gehört dazu! GOS Satelliten bleiben an einer Stelle. Dies kennen wir von den Astrasatelliten um Fernsehen zu empfangen. Da sich LOS und HOS Satelliten bewegen, wird es doch relativ kompliziert! Als nächstes muss geschaut werden auf welcher Frequenz der Satellit sendet. Ist dies im GHz Bereich, kommen wir an einer Satelliten Schüssel nicht drum herum. Die Wellen sind zu klein und die Energie zu gering, weswegen wir eine Größere Fläche als Antenne benötigen um die Wellen entsprechend zu bündeln. Eine Nachführbare Satellitenschüssel für X und Y (Vertikale und Horizontale Bewegung) ist leider doch relativ teuer. Die Wettersatelliten senden zum Glück nicht im GHz sondern um MHz Bereich. Genauer gesagt im 2M Band! Diese Wellen sind relativ Groß, weswegen eine Normale 2M Band Antenne völlig ausreicht. Nun haben wir aber nach wie vor das Problem der Nachführung. Die Kosten einer Antennennachführung ist mit der einer Sat-Schüssel vergleichbar! . Bei der Antenne habe ich mich für eine “Quadrifilar Helix” (QHA) entschieden. Aufgrund des Aufbaues, kann die Bewegung des Satelliten und damit die veränderung der Welle ausgeglichen werden. Darüber hinaus, lässt sie sich auch relativ einfach nachbauen. Wir haben also weder das Problem der Nachführung noch der Kosten.

2) Der Empfänger

Wir haben nun also eine Antenne die kostengünstig ist (man kann diese sogar relativ einfach nachbauen) und keine Nachführung bedarf. Dadurch spart es und nicht nur Geld, sondern auch viel Arbeit (keine Verlegung von Steuerkabel für die Nachführung). Nun kommt der Empfänger dran! Heutzutage ist dies wirklich sehr einfach. Wir kaufen uns ein besonderen DVB-T Stick (mit dem Chipsatz RTL8139), und wenn man das ganze Autark betreiben möchte, auch einen Raspberry Pi. Beim DVB-T Stick ist darauf zu achten, dass dieser einen externen Antennen Eingang hat. Nun ist das aber so, dass der Satellit sich nach wie vor bewegt. Und wie bei einer Feuerwehr die mit Sirene an einem Vorbei fährt, ändert sich auch die Frequenz des Satelliten der an einem vorbei fliegt. Man nennt dies Doppler Effekt! Um dem auszugleichen, benötigen wir also etwas um die Frequenz der Satelliten Position anzupassen.

3) Die Datenverarbeitung

Viele Satelliten senden Ihre Daten zwar dauerhaft, da sie selber aber nicht dauerhaft zu sehen sind (wieder das Problem mit der Bewegung der Satelliten), müssen wir also wissen wann ein Satellit sichtbar ist, um uns dann an den Computer zu setzen und die entsprechenden Daten zu empfangen. Ich weiß nicht… Klingt irgendwie nicht so toll… Daher habe ich mir überlegt das ganze zu Automatisieren. :-)

Was verwende ich dazu (alles Linux):

  • Predict 1 von KD2BD, in einer für die Automatisierung benötigten Modifikation von mir
  • RTL SDR als Empfänger Software
  • Doppler für die Frequenznachführung
  • SOX zur Umwandlung der Daten von RTL SDR in eine WAV Audio Dateichrop
  • wxtoimg für die Umwandlung der Datensignale aus der WAV Datei in ein Bild. :-)

Predict habe ich dahingehend geändert, dass es beim Aufgang (AOS) eines Satelliten ein externes Script startet und bei Untergang (LOS) dieses wieder beendet. Somit ist es mir möglich, voll automatisch den Empfang und die Verarbeitung zu starten. Das Script welches gestartet wird sieht wie folgt aus:

rtl_fm -f 137.500M -s 48000 -g 44 -p 52 -F 9 -A fast -E DC |
doppler track -s 1024000 -i i16 --tlefile noaa.txt --tlename 'NOAA 15 [B]' --location lat=53.75628,lon=9.71241,alt=20 --frequency 137500000 --offset 5000 |
sox -t raw -r 48000 -es -b16 -c1 -V1 - test.wav

Im Detail! rtl_fm horcht auf 137.500MHz und piped die Emfangenen Daten an doppler! Dies wiederum ließt Keppler Daten aus der noaa.txt ein und passt die Frequenz für den “NOAA 15 [B]” Satelliten an. Die Position lat=53.75628 und lon=9.71241 ist dabei der Standtort des Empfängers. Den Ausgang von Doppler, pipe ich nach Sox! Sox verwende ich um RAW Audiodaten nach WAV zu konvertieren.

Quellen: