Die Satellitenempfangsanlage
Verfasst: 15.11.2016, 20:08
Heute geht es um die Satellitenempfangsanlage. Von der Antenne, bei welcher die Stellitensignale ankommen, bis hin zum fertigen Satellitenbild.
Fangen wir bei der Antenne an:
Es handelt sich hier um eine selbstgebaute Quadrifilar Helix (kurz QFH) Antenne, abgestimmt auf 137MHz. Diese ist rechtsdrehend zirkularisiert und weist vom Empfangsdiagramm her nahezu Kugelcharakteristik auf. Das heiß, sie empfängt nach alle Richtungen (Oben, unten, rechts, links, vorne, hinten) annähernd gleich gut. Dies ist auch wichtig, da die Satelliten abgesehen von unten, auch von überall zu empfangen sind.
Weiter geht es über die Antennenleitung. Hier ist an der Antenne zunächst RG58 Antennenkabel mit 50 Ohm Impedanz verbaut. Da aber das normale Satkabel aus dem Baumarkt die geringste Signaldämpfung aufweist und die Fehlanpassung 50 Ohm auf 75 Ohm nur einen sehr geringen Signalverlust darstellt, geht schon auf dem Dach über einen F-Stecker-Verbinder das RG58 auf ein KOX 720 Satkabel über.
Als nächstes folgt der SDR-Stick:
Wie das Bild zeigt, habe ich diesen recht elegant in einen Kabelkanal eingebaut. Oben steckt der dicke Koaxialstecker in der Buchse des SDR-Sticks (welcher mit einem RTL2832u AD-Wandler sowie einem R820T Tunerchip bestückt ist), unten steckt der USB-Stecker dran. Dieser Stick ist bislang der empfindlichste den ich bisher hatte und zaubert die auf dieser Homepage auffindbaren Satellitenbilder ganz ohne Vorverstärker. Die Aufschrift "Defekt" hatte ich einst drauf geschrieben, da bei dem Versuch das Antennenkabel direkt auf den Stick zu löten, ein SMD-Bauteil verrutscht war und der Stick zwar weiterhin funktionierte, aber recht taub geworden war. Glücklicher Weise befand sich das Bauteil noch auf der Platine, so dass ich es wieder korrekt festlöten konnte. Danach war der Stick wieder gewohnt empfindlich.
Es folgt, der Banana-Pi:
An diesem hängt der SDR-Stick über eine 3m USB-Leitung. Ebenfalls am Banana ist ein kleiner weisser Stecker am Klinkenanschluss zu sehen. Über diesen werden die Audiosignale der NOAA-Satelliten zur Kontrolle auf einen Ohrhöhrer ausgegeben. Vorrangig werden sie natürlich als WAVE-Datei aufgezeichnet. Dazu aber gleich mehr.
Zur Aufzeichnung der Satellitensignale habe ich mir 3 Programme unter GNURadio geschrieben:
Das Programm ist dabei jedes mal das Gleiche, nur dass es eine andere Empfangsfrequenz hat. Eben für NOAA15, 18 und 19 jeweils ein Empfangsprogramm. Wie im Flowchart zu sehen ist, kommt ein 960kHz breites Spektrum vom RTL-SDR-Stick. Von diesem Spektrum werden insgesamt 100kHz vom LowPass Filter durchgelassen, wobei nur 60kHz mit voller Signalstärke durchgelassen werden. Das Signal am Rand des durchgelassenen Spektrums wird zum Rand hin immer schwächer. Diese verbliebenen 100kHz Bandbreite gehen dann durch einen Breitband-FM-Demodulator, welcher die nicht hörbaren Hochfrequenzsignale in hörbare Niederfrequenzsignale umwandelt. Da der Demodulator noch mit 96kHz arbeitet, die WAVE-Dateien aber mit 11,025kHz und der Audioausgang des Banana-Pi mit 44,1kHz arbeiten, müssen die 96kHz noch entsprechend herunter gerechnet werden, was der "Rational Resampler" erledigt. Nun ist das Pfiepen der NOAA-Satelliten am Audio-Ausgang des Banana-Pi zu hören und wird zeitgleich als WAVE-Datei aufgezeichnet.
Auf diesem Screenshot ist nun das Steuerprogramm (unter Lazarus programmiert) zu sehen:
Dieses hat die Zeiten und andere Daten der Satellitenüberflüge gespeichert und schaut im Sekundentakt, ob die Zeit für die Aufnahme eines Satelliten erreicht wurde. Kommt ein Satellit, so wird über einen Shellbefehl das Phytonscript welches GNURadio generiert hat, gestartet:
Das Steuerprogramm hat kurz vor dem Start des GNURadio-Scripts noch eben die Endzeit in eine Textdatei geschrieben, welche sich ein anderes Lazarus-Programm schnappt und bei Erreichen dieser Zeit, dass GNURadio-Phytonscript per "killall" Konsolenbefehl beendet. Da sich das Steuerprogramm während des Satellitenüberflugs in einer Warteschleife befindet (es hängt sich also quasi auf und bleibt stehen) kann es nach dem starten des GNURadio-Scripts auch gleich mit der Dekodierung des Satellitenbildes los legen. Dies geschieht per Konsolenbefehle, welche WxToImg bereit stellt. Als erstes erstellt WxToImg per Konsolenbefehl die passende MAP zum Satellitenbild. Danach wird das Bild selbst dekodiert und als letztes die Map darüber gelegt. Das Steuerprogramm generiert die HTML-Seite für die Homepage und lädt die HTML-Seite wie auch die Satbilder auf die Homepage.
Woher weiss nun das Steuerprogramm wann ein Satellit kommt?
Hier bediene ich mich einfach bei WxToImg. Als erstes werden die Keplerdaten aktualisiert. Danach lasse ich mir die kommenden Satllitenüberflüge anzeigen und übertrage sie in ein weiteres selbst geschriebenes Lazarusprogramm. Dieses dekodiert die Satellitenzeiten und speichert sie in einem vom Steuerprogramm lesbaren Format. Alle paar Wochen muss ich diese Daten aktualisieren um die Satellitendaten auf dem Laufendem zu halten.
Aber ich empfange ja nicht nur die NOAA-Satelliten, sondern auch die Meteor Satelliten:
Hier sieht der Flowgraph unter GNURadio ein wenig anders aus. Denn hier wird nur das 1,04MHz breite Spektrum auf 130kHz herunter gerechnet und von einem "Complex to Float" Wandler in ein Stereo-Audio-Stream gewandelt, welcher in einer WAVE-Datei aufgezeichnet wird. Diese meist um die 360MB großen Dateien ziehe ich mir am Nachmittag, nach Feierabend auf meinen Windows-Rechner und dekodiere diese dort. Hierzu findet das Programm LRPT.exe Verwendung, welches die WAVE-Datei in eine RAW Datei wandelt. Diese RAW-Datei wid dann vom "LRPTofflinedecoder" in 3 Bilder gewandelt. Meist sind dies die Bildkanäle Rot, grün und Infrarot. Rot und grün können zu einem Farbbild zusammengerechnet werden. Da die originalen Meteor-Bilder noch einen sehr deutlichen "FischAugen-Effekt" aufweisen, werden sie noch mittels smoothmet.exe entzerrt. Unter Photoscape schärfe ich die Bilder dann noch etwas, trage das neue Bild in die HTML-Datei für die Homepage ein und dann geht das alles auf die Homepage.
In diesem Forum wird das Thema "Meteor Satellitenbilder dekodieren" sehr ausgiebig behandelt. Auch sind hier Downloadlinks für die zum dekodieren nötigen Programme zu finden.
Die Aufnahme der Meteorsatelliten wird ebenfalls vom Steuerprogramm für die NOAA-Satelliten gesteuert. Die Überflugszeiten hole ich mir hier von Orbitron und trage diese Zeiten von Hand in den Sateliitenüberflugszeit-Dekoder ein. Die Aufnahme der Meteor-Satelliten ist also im Gegensatz zu den NOAA-Satelliten nur sehr wenig automatisiert.
So, dass mal zu meiner Satellitenempfangsausstattung.
Update:
Inzwischen habe ich ein Raspberry-Pi Image erstellt, mit welchem der Empfang der NOAA und Meteor-Satelliten möglich ist. Das Image kann hier heruntergeladen werden.
Fangen wir bei der Antenne an:
Es handelt sich hier um eine selbstgebaute Quadrifilar Helix (kurz QFH) Antenne, abgestimmt auf 137MHz. Diese ist rechtsdrehend zirkularisiert und weist vom Empfangsdiagramm her nahezu Kugelcharakteristik auf. Das heiß, sie empfängt nach alle Richtungen (Oben, unten, rechts, links, vorne, hinten) annähernd gleich gut. Dies ist auch wichtig, da die Satelliten abgesehen von unten, auch von überall zu empfangen sind.
Weiter geht es über die Antennenleitung. Hier ist an der Antenne zunächst RG58 Antennenkabel mit 50 Ohm Impedanz verbaut. Da aber das normale Satkabel aus dem Baumarkt die geringste Signaldämpfung aufweist und die Fehlanpassung 50 Ohm auf 75 Ohm nur einen sehr geringen Signalverlust darstellt, geht schon auf dem Dach über einen F-Stecker-Verbinder das RG58 auf ein KOX 720 Satkabel über.
Als nächstes folgt der SDR-Stick:
Wie das Bild zeigt, habe ich diesen recht elegant in einen Kabelkanal eingebaut. Oben steckt der dicke Koaxialstecker in der Buchse des SDR-Sticks (welcher mit einem RTL2832u AD-Wandler sowie einem R820T Tunerchip bestückt ist), unten steckt der USB-Stecker dran. Dieser Stick ist bislang der empfindlichste den ich bisher hatte und zaubert die auf dieser Homepage auffindbaren Satellitenbilder ganz ohne Vorverstärker. Die Aufschrift "Defekt" hatte ich einst drauf geschrieben, da bei dem Versuch das Antennenkabel direkt auf den Stick zu löten, ein SMD-Bauteil verrutscht war und der Stick zwar weiterhin funktionierte, aber recht taub geworden war. Glücklicher Weise befand sich das Bauteil noch auf der Platine, so dass ich es wieder korrekt festlöten konnte. Danach war der Stick wieder gewohnt empfindlich.
Es folgt, der Banana-Pi:
An diesem hängt der SDR-Stick über eine 3m USB-Leitung. Ebenfalls am Banana ist ein kleiner weisser Stecker am Klinkenanschluss zu sehen. Über diesen werden die Audiosignale der NOAA-Satelliten zur Kontrolle auf einen Ohrhöhrer ausgegeben. Vorrangig werden sie natürlich als WAVE-Datei aufgezeichnet. Dazu aber gleich mehr.
Zur Aufzeichnung der Satellitensignale habe ich mir 3 Programme unter GNURadio geschrieben:
Das Programm ist dabei jedes mal das Gleiche, nur dass es eine andere Empfangsfrequenz hat. Eben für NOAA15, 18 und 19 jeweils ein Empfangsprogramm. Wie im Flowchart zu sehen ist, kommt ein 960kHz breites Spektrum vom RTL-SDR-Stick. Von diesem Spektrum werden insgesamt 100kHz vom LowPass Filter durchgelassen, wobei nur 60kHz mit voller Signalstärke durchgelassen werden. Das Signal am Rand des durchgelassenen Spektrums wird zum Rand hin immer schwächer. Diese verbliebenen 100kHz Bandbreite gehen dann durch einen Breitband-FM-Demodulator, welcher die nicht hörbaren Hochfrequenzsignale in hörbare Niederfrequenzsignale umwandelt. Da der Demodulator noch mit 96kHz arbeitet, die WAVE-Dateien aber mit 11,025kHz und der Audioausgang des Banana-Pi mit 44,1kHz arbeiten, müssen die 96kHz noch entsprechend herunter gerechnet werden, was der "Rational Resampler" erledigt. Nun ist das Pfiepen der NOAA-Satelliten am Audio-Ausgang des Banana-Pi zu hören und wird zeitgleich als WAVE-Datei aufgezeichnet.
Auf diesem Screenshot ist nun das Steuerprogramm (unter Lazarus programmiert) zu sehen:
Dieses hat die Zeiten und andere Daten der Satellitenüberflüge gespeichert und schaut im Sekundentakt, ob die Zeit für die Aufnahme eines Satelliten erreicht wurde. Kommt ein Satellit, so wird über einen Shellbefehl das Phytonscript welches GNURadio generiert hat, gestartet:
Das Steuerprogramm hat kurz vor dem Start des GNURadio-Scripts noch eben die Endzeit in eine Textdatei geschrieben, welche sich ein anderes Lazarus-Programm schnappt und bei Erreichen dieser Zeit, dass GNURadio-Phytonscript per "killall" Konsolenbefehl beendet. Da sich das Steuerprogramm während des Satellitenüberflugs in einer Warteschleife befindet (es hängt sich also quasi auf und bleibt stehen) kann es nach dem starten des GNURadio-Scripts auch gleich mit der Dekodierung des Satellitenbildes los legen. Dies geschieht per Konsolenbefehle, welche WxToImg bereit stellt. Als erstes erstellt WxToImg per Konsolenbefehl die passende MAP zum Satellitenbild. Danach wird das Bild selbst dekodiert und als letztes die Map darüber gelegt. Das Steuerprogramm generiert die HTML-Seite für die Homepage und lädt die HTML-Seite wie auch die Satbilder auf die Homepage.
Woher weiss nun das Steuerprogramm wann ein Satellit kommt?
Hier bediene ich mich einfach bei WxToImg. Als erstes werden die Keplerdaten aktualisiert. Danach lasse ich mir die kommenden Satllitenüberflüge anzeigen und übertrage sie in ein weiteres selbst geschriebenes Lazarusprogramm. Dieses dekodiert die Satellitenzeiten und speichert sie in einem vom Steuerprogramm lesbaren Format. Alle paar Wochen muss ich diese Daten aktualisieren um die Satellitendaten auf dem Laufendem zu halten.
Aber ich empfange ja nicht nur die NOAA-Satelliten, sondern auch die Meteor Satelliten:
Hier sieht der Flowgraph unter GNURadio ein wenig anders aus. Denn hier wird nur das 1,04MHz breite Spektrum auf 130kHz herunter gerechnet und von einem "Complex to Float" Wandler in ein Stereo-Audio-Stream gewandelt, welcher in einer WAVE-Datei aufgezeichnet wird. Diese meist um die 360MB großen Dateien ziehe ich mir am Nachmittag, nach Feierabend auf meinen Windows-Rechner und dekodiere diese dort. Hierzu findet das Programm LRPT.exe Verwendung, welches die WAVE-Datei in eine RAW Datei wandelt. Diese RAW-Datei wid dann vom "LRPTofflinedecoder" in 3 Bilder gewandelt. Meist sind dies die Bildkanäle Rot, grün und Infrarot. Rot und grün können zu einem Farbbild zusammengerechnet werden. Da die originalen Meteor-Bilder noch einen sehr deutlichen "FischAugen-Effekt" aufweisen, werden sie noch mittels smoothmet.exe entzerrt. Unter Photoscape schärfe ich die Bilder dann noch etwas, trage das neue Bild in die HTML-Datei für die Homepage ein und dann geht das alles auf die Homepage.
In diesem Forum wird das Thema "Meteor Satellitenbilder dekodieren" sehr ausgiebig behandelt. Auch sind hier Downloadlinks für die zum dekodieren nötigen Programme zu finden.
Die Aufnahme der Meteorsatelliten wird ebenfalls vom Steuerprogramm für die NOAA-Satelliten gesteuert. Die Überflugszeiten hole ich mir hier von Orbitron und trage diese Zeiten von Hand in den Sateliitenüberflugszeit-Dekoder ein. Die Aufnahme der Meteor-Satelliten ist also im Gegensatz zu den NOAA-Satelliten nur sehr wenig automatisiert.
So, dass mal zu meiner Satellitenempfangsausstattung.
Update:
Inzwischen habe ich ein Raspberry-Pi Image erstellt, mit welchem der Empfang der NOAA und Meteor-Satelliten möglich ist. Das Image kann hier heruntergeladen werden.