Bitfehlermessung mit DSP-Modems

Jürgen Hasch, DG1SCR@DB0GPP

1. Hintergrund

Bei einer digitalen Datenübertragung über einen Funkkanal treten, mit einer gewissen Wahrscheinlichkeit, Fehler in den Empfangsdaten auf. Grund dafür sind lineare und nichtlineare Signalverzerrungen durch die Signalaufbereitung in den Funkgeräten, additives Rauschen vom Funkkanal herrührend, sowie Störungen durch Mehrwegeausbreitung.

Durch die Messung (d.h. mitzählen) der aufgetretenen Übertragungsfehler bekommt man einen Hinweis auf die Qualität einer Übertragungsstrecke, bei Flexnet wird dies z.B. als sog. "Quality"-Meßwert prozentual angegeben.

2. Bitfehlermessung

Um Bitfehler während des Betriebs zu ermitteln, muß eine Redundanz geschaffen werden anhand derer man Übertragungsfehler erkennen kann, ein einfaches Beispiel dafür wäre das hinzufügen eines Paritätsbits.

Jedes AX25-Paket besitzt glücklicherweise eine CRC-Prüfsumme, somit lassen sich Bitfehler durch Vergleich der berechneten und der mitgesendeten Prüfsumme eines AX25-Pakets feststellen (sichtbar an der Anwort des Empfängers mit einem Reject-Paket).

Ist die Anzahl der Fehler so groß, daß nur wenige oder gar keine Pakete mehr korrekt empfangen werden können, oder möchte man eine Übertragungsstrecke austesten, kann eine Fehlerhäufigkeitsmessung mit einem Mustergenerator durchgeführt werden:

Der Mustergenerator speist den Modulator mit einer Pseudo-Zufallsfolge aus Binärdaten, die nach erfolgter Übertragung vom Demodulator in einen zweiten Mustergenerator gegeben werden.

Der Mustergenerators ist aus einem rückgekoppelten Schieberegister aufgebaut, ähnlich dem des Scramblers beim G3RUH-Modem. Seine Aufgabe ist es, einen möglichst zufällig verteilten, aber nachvollziehbaren, Datenstrom zu liefern.


Abbildung 1: Mustergenerator mit rückgekoppeltem Schieberegister


Abbildung 2: Mustergenerator mit Äquivalenzvergleich

Der Mustergenerator nach dem Demodulator ist identisch zum Sendegenerator aufgebaut, allerdings wird das Schieberegister aus den Empfangsdaten geladen statt über die Rückkopplung. Über ein Äquivalenzgatter wird dann verglichen, ob die Empfangsdaten mit dem Ergebnis der Rückkopplung übereinstimmen, das Bit also richtig empfangen wurde.

3. Bitfehlerwahrscheinlichkeit

In der Literatur wird üblicherweise die sog. Bitfehlerwahrscheinlichkeit angegeben und z.B. in Abhängigkeit von Eb/N0 angegeben. Aus der gemessenen Anzahl der Bitfehler läßt sich allerdings die Bitfehlerwahrscheinlichkeit nicht direkt ermitteln, sondern nur über die sog. Fehlerhäufgkeit abschätzen.

Die Fehlerhäufigkeit entspricht dem Verhältnis zwischen der Anzahl der gemessenen Fehler und der Anzahl der im Meßintervall übertragenen Bits:

Die Bitfehlerwahrscheinlichkeit läßt sich dann mit

angeben, wobei gilt. Diese Konstante hängt von der Anzahl der gemessenen Fehler und der gewünschten Aussagesicherheit ab. Je mehr Fehler gemessen wurden, desto näher bei 1 kann k gewählt werden.

4. Augendiagramm

Eine über die reine Zählung der aufgetretenen Bitfehler hinaus gehende Analyse eines Datensignals ist die Betrachtung des Augendiagramms. Damit läßt sich eine optische Einschätzung des Taktjitters und der Amplitudenverhältnisse im Basisband erreichen.

Dazu wird Ausschnitt des Datensignals mehrfach so übereinandergelegt, daß die Abtastzeitpunkte auseinanderfallen.

Das Resultat ist ein (mit viel Phantasie) augenähnliches Muster, hier dargestellt für ein 2-PAM-Signal:

Abbildung 3: 2-PAM-Signal (G3RUH)

Als Abtastrate des A/D-Wandlers wurden 38400Hz verwendet (also 4 Abtastwerte pro Bit), für das Sendefilter wurde mit ein roll-off-Faktor von 0,35 eingesetzt [4].

Das Auge ist in vertikaler Richtung ganz geöffnet (Amplitude 1), in horizontaler Richtung ist das Auge durch das bandbegrenzende Sendefilter etwas verschmälert.

Abbildung 4: G3RUH-Signal mit Jitter

Abbildung 4 zeigt ebenfalls ein 2-PAM-Signal, diesmal mit einem Takt-Jitter, der die Augenöffnung in horizontaler Richtung etwas verkleinert.

In Abbildung 5 ist schließlich ein verrauschtes Signal mit einem Signal-Rauschabstand von 15dB (bei 24kHz Bandbreite) gezeigt:

Abbildung 5: Additives weißes Rauschen, 15dB Signal/Rauschabstand

4. Messungen mit DSP-Modems

Die vorgestellten Möglichkeiten zur Bitfehlermessung und Darstellung des Augendiagrammes wurden im Flexnet-Treiber für das DSP56002EVM implementiert (siehe Anhang A). Mit Hilfe eines kleinen Zusatzprogrammes erhält man die auf den nächsten Seiten gezeigten Abbildungen. Der im Treiber eingebaute Mustergenerator sendet dabei eine Pseudo-Zufallsfolge aus, um eine kontinuierliche Messung zu erreichen.

Die grundlegende Funktionsweise der hier verwendeten Modems wurde in [5] schon einmal vorgestellt, deshalb soll an dieser Stelle nicht näher darauf eingegangen werden.

In Abbildung 6 ist das Augendiagramm des G3RUH-Modems gezeigt, die Abtastrate des A/D-Wandlers beträgt 48kHz. Man erkennt sehr schön die weit geöffneten Augen. In der unteren Bildhälfte sind zusätzlich die Signalamplituden am Entscheider zu den jeweiligen Entscheidungszeitpunkten dargestellt.

Am oberen Bildrand ist außerdem die Anzahl der empfangenen Bits, die Anzahl der fehlerhaft empfangenen Bits und die daraus erechnete Fehlerhäufigkeit zu sehen.


Abbildung 6: 2-PAM-Modem (G3RUH)




Abbildung 7: 1200bps BPSK-Modem

In Abbildung 7 ist die Bildschirmdarstellung für ein 1200bps BPSK (binary phase shift keying)-Modem gezeigt. Links oben ist das Empfangssignal eingeblendet, rechts daneben der I- und Q-Signalpfad des Demodulators nach der Mischung ins Basisband. Zusätzlich ist noch das Konstellations-Diagramm eingeblendet, dabei ist auf die X-Achse der I-Arm und auf die Y-Achse der Q Arm abgebildet.

Der Empfangsoszillator für ist über eine PLL phasenstarr mit dem Empfangssignal gekoppelt, so daß zu den Abtastzeitpunkte der Q-Signalpfad am Demodulator den gesamten Informationsgehalt beinhaltet.



Abbildung 8: 1200bps FSK-Modem

Abbildung 8 zeigt schließlich die Bildschirmdarstellung für ein 1200Baud FSK-Signal. In der oberen Hälfte ist das Eingangssignal bei einer Abtastfrequenz von 9600Hz zu sehen, darunter das Augendiagramm am Demodulatorausgang, direkt vor dem Entscheider.

Anhang A: Flexnet-Treiber

Der PC/Flexnet-Treiber für das DSP56002EVM besteht aus zwei Teilen, einem PC-Teil und einem DSP-Teil.

Der PC-Teil ist lediglich für die Übertragung der L1-Pakete zwischen Flexnet-Kern und DSP-Teil des Treibers über die serielle Schnittstelle zuständig.


Abbildung 9: Blockdiagramm Flexnet-Treiber

Der DSP-Teil übernimmt die komplette HDLC-Verarbeitung (Bitstuffing, CRC-Berechnung), sowie Modulation und Demodulation, inklusive DCD-Erkennung und PTT-Tastung.

Über die RS232 Schnittstelle werden wie schon angesprochen jeweils komplette L1-Pakete übertragen. Um einen direkten Zugriff auf DCD oder PTT-Signale zu erreichen werden die L1-Nutzdaten, entsprechend dem 6Pack-Protokoll, nur mit jeweils 5 Nutzbits über die serielle Schnittstelle übertragen. Die restlichen Codierungsmöglichkeiten sind zur Steuerung und Rückmeldung, auch während der Übertragung eines L1-Paketes, vorgesehen.

In Anhang C ist Schaltungsvorschlag für den Anschluß der DCD-, PTT-, CON- und STA- LEDs abgedruckt.

Anhang B: Literatur

  1. Wolf-Henning Rech, DF9IC: Augen-Diagnostik
    Adacom-Magazin 4 (1992)
  2. Mäusel/Schlagheck: Meßverfahren in der Nachrichtenübertragungstechnik
    Hüthig-Verlag
  3. Matthias Welwarsky, DG2FEF: 6PACK - ein "Echtzeit"-PC-TNC Protokoll
    Skriptum zum 11. Internationalen PR-Treff in Darmstadt, 1995
  4. Wolf-Henning Rech, DF9IC: Iterierte duale Filterung - ein Verfahren zur Synthese von Datensignalen
    Adacom-Magazin 6 (1993) und 7 (1994)
  5. Jürgen Hasch, DG1SCR: DSP-Modems für das DSP56002EVM
    Skriptum zum 12. Internationalen PR-Treff in Darmstadt, 1996


Anhang C: Interface-Schaltung