Blr9600

In meinem letzten Blog Beitrag habe ich ein Script gepostet mit dessen Hilfe 9600Bd FSK Signale über FM Modulation dekodiert werden können. Mit vielen gängigen Funkgeräten ist das aber gar nicht so leicht. Deshalb habe ich mir überlegt wie man es besser machen könnte. Nach einer Diskussion mit Chris, OE5DXL habe ich eine Methode ersonnen die ich Baseline Restoration (BLR) nenne.

Das letzte Mal habe ich bereits eines der größten Probleme für die Übertragung von FSK Signalen genannt: Die untere Grenzfrequenz der Übertragungsstrecke. Die ursprüngliche Definition eines Modems für die Übertragung über NBFM (Narrow Band Frequency Modulation) Funkgeräte stammt von James Miller, G3RUH. In diesem Dokument steht zu lesen: “Systemantwort bis zu DC (praktisch unverzichtbar)”.

Daran hat sich natürlich nichts geändert, da die Physik die Gleiche geblieben ist wie sie schon 1988 gewesen ist. Was sich geändert hat sind die Möglichkeiten die wir heute haben.

Sehen wir uns dazu an, wie das Signal aussieht wenn es aus dem Demodulator unseres Funkgerätes kommt. Die obere Hälfte des vorstehenden Bildes zeigt ein Beispiel. Längere “Eins” Sequenzen bleiben keine horizontale Linie sondern näheren sich der Nulllinie von oben herab. Für die “Nullen” gilt das genauso, nur dass die Linie eben nun von unten her ansteigt. Einzig wenn die Wechsel zwischen “Eins” und “Null” häufig genug sind pendelt das Signal zwischen gleichbleibenden Maxima und Minima, so wie wir es haben wollen.

Die Entscheidungsschwelle ob es sich um ein “Eins” oder um ein “Null” Bit handelt ist die Nulllinie. Es ist nun leicht einzusehen, dass die Wahrscheinlichkeit für eine Fehlentscheidung ansteigen wird je mehr wir uns durch einen langen Eins- oder Null-Lauf der Nulllinie angenähert haben. Wenn wir nun bedenken, dass bereits ein einziger Fehler dazu führt, dass das ganze Datenpaket verworfen wird, weil ja dann die Prüfsumme nicht mehr stimmt, so können wir verstehen, warum die untere Frequenzgrenze so wichtig für uns ist. Je höher diese Grenze ist umso schneller nähert sich nämlich unser Signal der Basislinie an.

Auf eine gute und einfache Lösung des Problems habe ich bereits im letzten Beitrag Graprs hingewiesen. John Langer, WB2OSZ beschreibt diese Methode in einem ausführlichen Dokument.

Nach einer Diskussion mit Chris, OE5DXL bin ich auf eine weitere einfache Lösung gestossen: Wenn es gelingt die obere und untere Hüllkurve des verzerrten Signals zu bestimmen, so sollte es möglich sein auf die verzerrte Basislinie rückzuschließen. Wenn man die “verbogene” Basis kennt, so sollte man sie vom ursprünglichen Signal abziehen können. Das Ergebnis ist in der unteren Bildhälfte zu sehen.

Soweit die Theorie. Die Praxis könnt ihr mit diesem Script, das eine weiter entwickelte Version des letzten Scripts ist ausprobieren. Ob sich das Verfahren auch in der Praxis bewährt muss sich jetzt noch erweisen. Mein nächster Schritt ist deshalb die Baseline Restoration in das soundmodem von Thomas Sailer einzubauen und sie damit zu testen. Erste Versuche habe ich bereits in einem fork des soundmodem im branch OE1RSA erfolgreich durchgeführt. An dieser Stelle ist noch eine Anmerkung zu machen: Die Grafik ist bereits mit dem soundmodem Code erzeugt.