Fehlerschutz
In jedem realen System treten Störungen auf, die unter
Umständen so groß sind, daß eine Rekonstruktion des ursprünglichen Signals
g(t) nicht
mehr möglich ist. Zwei Arten von Störungen sind vor allem zu beachten:
Verzerrungen, die aufgrund der physikalischen und mathematischen Gesetze auftreten,
(Bandbreitenbegrenzung, Dämpfung)
Verzerrungen durch die immer vorhandenen Störungen (Störsignale) und die
Überlagerung von Rauschen (thermisches und künstliches).
Es müssen daher Vorkehrungen getroffen werden, um beim Auftreten von Fehlern die
Verfälschung des Signals möglichst unwahrscheinlich zu machen und um Fehler, die
aufgetreten sind, mit möglichst hoher Wahrscheinlichkeit zu entdecken und gegebenenfalls
auch Korrekturmaßnahmen einleiten zu können. Dies kann jedoch nur durch die Einbeziehung
von Sender und Empfänger geschehen und erfordert entsprechende Schutzmaßnahmen.
Für jedes Fehlerschutzverfahren ist wichtig, wie die tatsächliche Verteilung von
Übertragungsfehlern aussieht, d.h. nicht nur die absolute Häufigkeit des Auftretens von
Fehlern, die üblicherweise durch die Bitfehlerrate (BER = bit error
probability)
angegeben wird, sondern auch die statistische Verteilung, d.h. das Auftreten in Gruppen
oder einzeln, sind wichtig. Solche Daten sind aber nur durch umfangreiche Messungen zu
gewinnen, und häufig werden solche Daten nicht veröffentlicht - aus verschiedenen
Gründen. Dies galt in der Vergangenheit für Telefonleitungen und gilt heute für ISDN
Leitungen und andere. Relativ viel Material ist über den mobilen Funkkanal und auch über
die Kanäle von Nachrichtensatelliten verfügbar. Das Umfeld in dem die
Fehlerschutzverfahren arbeiten müssen wird durch Rauschen und Dämpfung des Signals
festgelegt.
Fehlererkennung
Das erste und wichtigste Problem ist das der zuverlässigen Erkennung von Fehlern. Nur
wenn Fehler mit hoher Wahrscheinlichkeit erkannt werden, können auch geeignete Maßnahmen
zur Korrektur des bereits aufgetretenen Fehlers vorgenommen werden. Eine Erkennung von
Übertragungsfehlern ist nur dann möglich, wenn diese Nachricht redundant ist, d.h. wenn
"überflüssige" Information mitgesendet wurde, die darüber Auskunft gibt, ob
eine Verfälschung der Nachricht vorliegt. Ein weit bekanntes Verfahren ist das sog.
Paritätsbit, das zur Sicherung von ASCII oder EBCDIC Zeichen verwendet wird. Ohne
Redundanz ist eine Erkennung von Fehlern prinzipiell nicht möglich!
Verschiedene Verfahren für die Erkennung von Fehlern existieren; sie unterscheiden
sich im wesentlichen nur in der Anzahl der hinzukommenden "Schutzbits" und der
Sicherheit, mit der einfache und komplexe Störungen der ursprünglichen Nachricht und der
Schutzbits erkannt werden. Eine 100-prozentige Garantie für das Erkennen kann jedoch nie
gegeben werden! Sicherheit ist immer relativ: mit Sicherheit kann immer nur das Vorliegen
eines Fehlers angegeben werden - andernfalls kann nur mit einer gewissen, durch das
Verfahren bestimmten Wahrscheinlichkeit behauptet werden, daß kein Fehler vorliegt.
Zu den einfachsten Verfahren zählt die Einführung von Paritätsbits; hierbei wird
jedes zu übertragende Zeichen mit einem Prüfbit versehen, das die Parität, d.h. die
Anzahl der 0- bzw. 1-Bits angibt. Bei blockweiser Übertragung kann neben der Quer auch
eine sog. Längsparität geprüft werden.

Für jeweils m Nutzbits werden dabei k Schutzbits übertragen,
so daß insgesamt n = m +
k Bits über die Leitung gehen. Es lässt sich mathematisch zeigen, daß die Paritätsbits
keinen hohen Schutz bieten, d.h. daß die Sicherheit, mit der aufgetretene Fehler auch
erkannt werden, relativ gering ist im Vergleich zu anderen Verfahren. Hier sind vor allem
die sog. zyklischen Redundanzcodes zu erwähnen, die im wesentlichen einer Division durch
ein Polynom mit Restwertbildung entsprechen. (cyclical redundancy check =
CRC).

Verschiedene solche Polynome wurden entwickelt und eingesetzt; vor allem die von CCITT
festgelegten sog. CCITT Polynome spielen eine wichtige Rolle. Obwohl diese Verfahren sehr
kompliziert aussehen, d.h eine aufwendige Divisionsoperation von langen Bitketten
erfordern, lassen sie sich mit relativ einfachen Mitteln (Schieberegister) in Hardware
realisieren. Ein durch ein solches Verfahren geschützter Rahmen zeigt den folgenden
Aufbau
Fehlerkorrektur
Bei der Korrektur kann prinzipiell zwischen zwei Methoden unterschieden werden:
Vorwärts Fehlerkorrektur (FEC), bei der der Empfänger das ursprünglich vom
Sender gesendete Signal rekonstruiert,
Anforderung auf Wiederholung der Übertragung
(ARQ = automatic repeat request).
Für die zuverlässige Datenübertragung reicht es nicht aus, daß Übertragungsfehler
festgestellt werden können; man muß sie auch korrigieren können. Für die
Fehlerkorrektur sind grundsätzlich zwei verschiedene Methoden bekannt, die
Vorwärtsfehlerkorrektur, sowie die aktive und die passive Wiederholung des gesendeten
Datenblocks. Die Vorwärtskorrektur hat den Vorteil, daß sie auch auf Simplexkanälen
vorgenommen werden kann und daß eine zeitaufwendige Wiederholung vermieden wird. Dafür
hat sie den Nachteil, daß immer mit hoher Redundanz gesendet werden muß und nicht nur im
Fehlerfall eine Wiederholung stattfindet.
Nimmt man eine feste Rahmenlänge von beispielsweise m Bits an, so kann man die
möglichen Bitmuster als Worte bzw. Vektoren in einem Coderaum verstehen. Das folgende
Bild zeigt einen Coderaum mit 4 solchen Vektoren. Tritt bei der Übertragung jetzt ein
Fehler auf, so wird statt des gesendeten Codewortes ein anderes, ebenfalls gültiges
Codewort empfangen, d. h. es ist ein Fehler aufgetreten.

Werden aber k Schutzbits hinzugefügt, so ergibt sich ein größerer Coderaum, bei dem
nicht alle Vektoren auch gültigen Codeworten entsprechen. Wird bei der Übertragung jetzt
ein gültiges Codewort auf ein falsches abgebildet, so kann der Empfänger eindeutig einen
Fehler feststellen.

Wird noch mehr Redundanz eingeführt indem noch mehr Schutzbits mitgeführt werden und
dadurch zwischen den einzelnen Codeworten mehrere Schutzworte im Coderaum angeordnet
werden, so kann ein geschickter Empfänger unter Umständen eine Korrektur vornehmen.
Selbstverständlich kann auch eine solche Korrektur eines Fehlers nur auf statistischen
Annahmen beruhen, d. h. es besteht durchaus die Möglichkeit, daß die Korrektur zu einem
nicht erkannten Fehler führt. Das Prinzip wird im folgenden Bild angedeutet.

Ein Maß für die Robustheit des Verfahrens stellt die sogenannte "Haming
Distanz" dar; bildlich ist dies durch die Anzahl der zwischen den Codeworten
liegenden Schutzworte zu sehen. Wie gezeigt, kann auch ein fehlerkorrigierendes
Schutzverfahren immer noch zu fehlerhaftem Empfang von Daten Anlass geben. Das
Grundproblem aller Schutz- und Sicherungsverfahren ist eben, daß mit absoluter Sicherheit
nur Fehler erkannt werden können. Alle anderen Aussagen sind nur mehr oder weniger
zuverlässig, je nachdem wie wahrscheinlich das Auftreten von unerkannten Fehlern ist! Aus
diesem Grund müssen auch in Rechnernetzen die Protokolle auf den höheren Ebenen weitere
Sicherungsmaßnahmen durchführen, z.B. in Form von sogenannten Software
Checksums.
Die Vorwärtsfehlerkorrektur ist für die Datenübertragung in terrestrischen
Rechnernetzen derzeit von untergeordneter Bedeutung. Sie wird hingegen häufig in den
Zentralspeichern von Computersystemen angewendet, sowie bei Übertragung auf Kanälen mit
sehr langer Verzögerung (Nachrichtensatelliten) oder mit sehr schlechter Qualität
(mobiler Funkkanal), oder auf Kanälen ohne Rückkanal wie sie in der Raumfahrt bei
Raumsonden auftreten. Bei den sog. SECDED (single error correction, double error
detection). Verfahren, die häufig in Speichersystemen verwendet werden, müssen für 64
Datenbits zusätzlich 8 Redundanzbits (Paritätsbits) vorgesehen werden. Durch eine
geeignete Verteilung der Paritätsbits über den zu schützenden Codeblock (inklusive der
Schutzbits!) kann sogar eine Korrektur gewisser Fehler vorgenommen werden. Dazu wird, wie
auch bei den einfacheren Fehlererkennungsverfahren die Prüfsumme bestimmt. Ist dieser
Wert nicht gleich Null, so ist ein Fehler aufgetreten. Der berechnete Wert, das sog.
Syndrom, kann dann direkt zur Lokalisierung des fehlerhaften Bits herangezogen werden.
Allerdings ist bei all diesen Verfahren zu beachten, daß alle Korrekturen, mit Ausnahme
der Aussage "es ist mit Sicherheit ein Fehler aufgetreten" alle nur mit einer
gewissen Wahrscheinlichkeit getroffen werden können. |