Blog Einen SSTV Dekodierer entwickeln
Post
Cancel

Einen SSTV Dekodierer entwickeln

Am heutigen Tag (4. Mai, auch als Star Wars Tag bekannt) wurde an der Klubstation jede Menge SSTV gemacht. Natürlich mit Star Wars Bildern. Im Zuge dessen kam der Wunsch auf, auch mal selber einen SSTV Dekodierer zu bauen.

Nach einer kurzen Suche stießen wir auf das Dayton Paper, welches eine Dokumentation für die SSTV Modi gibt.

Nachdem wir herausgefunden hatten, wie die Modi aufgebaut sind, ging es daran einen Dekodierer zu bauen. Da SSTV eine Frequenzmodulation ist, war die erste Idee, einfach die Samples in eine Fouriertransformation zu werfen. In dem Fall muss man aber zwischen Frequenzauflösung und zeitlicher Auflösung wählen. Für SSTV ist dieser Ansatz denkbar schlecht geeignet, da für die notwendige Frequenzauflösung ca. 80ms Audio benötigt werden. Das ist etwa eine Scanline und dafür sorgen, dass statt einer einzigen Frequenz wir nur das Gesamtspektrum der Scanline erhalten.

Die Lösung für das Problem ist das Analytische Signal. Dabei handelt es sich um ein komplexes Signal bestehend aus I und Q Anteil. Dieses hat den Vorteil, dass die Ableitung des Signals die momentane Frequenz ist. Genau was für einen SSTV Dekodierer benötigt wird.

Das Analytische Signal kann mittels der Fouriertransformation folgendermaßen berechnet werden:

\[f(z) = \mathcal{F}^{-1}(2 \sigma(\mathcal{F}(f(t))))\]

Es gibt auch eine Alternative, die ohne die Fouriertransformation auskommt. Aber in dem Fall brauch man ein nicht kausales Filter.

Bei der Berechnung ist es wichtig, dass die einzelnen Segmente sich überlappen. Ansonsten gibt es an den Stoßstellen einen Phasensprung. Das Ergebnis kann einfach abgeleitet werden und muss danach aber noch mit einem Tiefpass gefiltert werden.

Der Digitale VIS Code am Anfang des Signals kann einfach dekodiert werden, indem man die Samples zählt. Das analoge Bildsignal ist schwieriger. Der Einfachheit halber, wurde der Dekodierer für Martin 2 gebaut. In dem Modus werden die Rot-, Grün- und Blaukomponenten des Bildes nacheinander gesendet.

Der Dekodierer dafür ist sehr einfach. Er misst einfach die Zeit zwischen zwei Synchronisationsimpulsen und teilt die durch drei. Dadurch es sehr einfach die drei Komponenten zu trennen. Theoretisch gibt es zwischen den Komponenten einen Impuls, der die trennt. Der hat jedoch die gleiche Frequenz, die auch ein schwarzen Signal hat. Damit ist der Impuls leider nicht brauchbar. Die Folge davon ist, dass am linken und rechten Rand in unserem Dekodierer ein schwarzer Streifen ist.

SSTV Bild mit Synchronisationsfehler bei den Farbträgern Ein früher Dekodierungsversuch mit einem Fehler in der Farberkennung.

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