Title:

Lineare Binärcodes.

Home
deutsch
  
ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012 
 
|<< First     < Previous     Index     Next >     Last >>|
  Wir empfehlen:       
 
 

Fehlererkennung und Fehlerkorrektur

Ist der Kanal, über den die Nachricht gesendet wird, durch äußere Einflüsse gestört, so wird eventuell ein Wort y empfangen, das sich von dem ursprünglich gesendeten Codewort x unterscheidet. Hierbei definieren wir die Differenz zwischen gesendetem Codewort x und empfangenem Wort y als den Fehlervektor e, also e= y-x = e1...en Es gibt nun zwei grundlegende Verfahrensmöglichkeiten in der Fehlertheorie:
  1. Die Fehlererkennung prüft lediglich, ob ein Übertragungsfehler aufgetreten ist. Ist dies der Fall, so wird eine Fehlermeldung ausgegeben.
  2. Die Fehlerkorrektur geht noch einen Schritt weiter. Sie versucht, nachdem ein Fehler festgestellt worden ist, diesen zu beheben.
Wir werden uns im Folgenden hauptsächlich für 2) interessieren, da wir damit 1) implizit auch betrachtet haben. Die Aufgabe des Dekoders besteht nun darin, aus dem empfangenen Wort y das gesendete Codewort x zu ermitteln, d.h. y um den Fehlervektor zu bereinigen. Es ist jedoch nie sicher, welcher Fehlervektor denn nun tatsächlich aufgetreten ist. Eine Möglichkeit, mit dieser Tatsache umzugehen, besteht darin, den wahrscheinlichsten Fehlervektor zugrundezulegen. Diese Art der Dekodierung nennt man Maximum-Likelihood-Dekodierung.


Das gesamte Kommunikationssystem

Nun schauen wir uns an, welcher Fehlervektor denn nun tatsächlich der wahrscheinlichste ist:

Sei p die Wahrscheinlichkeit, dass ein Bit falsch übertragen wird. Man kann im allgemeinen annehmen, dass gilt: 0 <= p < 0,5. Die Wahrscheinlichkeit, dass bei der Übertragung eines Wortes der Länge 5 kein Fehler vorkommt, ist Prob{e=00000}=(1-p)5. Wird das zweite Bit falsch übertragen, so gilt Prob{e=01000}=p*(1-p)4. Werden das erste und vierte Bit falsch übertragen, so gilt Prob{e=10010}=p2*(1-p)3. Im Allgemeinen also bei einem Fehlervektor v des Gewichts a: Prob{e=v}=pa*(1-p)n-a. Unter der realistischen Annahme p < 0,5 gelangt man zu der Beziehung

(1-p)5 > p*(1-p)4 > p2*(1-p)3 > ... > p5.

Aus diesen Ungleichungen kann man folgern, dass ein bestimmter Fehlervektor vom Gewicht 1 wahrscheinlicher ist als ein bestimmter Fehlervektor vom Gewicht 2 und so weiter. Das bedeutet speziell für den Dekoder, dass er sich das Codewort heraussucht, welches möglichst nahe zu dem fehlerhaften empfangenen Wort bezüglich des Hamming-Abstandes ist, oder anders ausgedrückt, er sucht sich jenen Fehlervektor mit minimalem Gewicht.

Die Frage ist nun, wieviele Fehler der Dekoder korrigieren kann. Diese Anzahl ist abhängig von der minimalen Distanz der Codewörter eines Codes: Ein Code mit dem Minimalabstand d kann maximal immer [(d-1)/2] Fehler simultan korrigieren. Ist d gerade, so kann er maximal immer d/2 Fehler erkennen. Dies kann man sich durch folgendes Modell gut veranschaulichen.


Code mit Mimimalabstand 3


Code mit Minimalabstand 4

Jedes Codewort hat dabei ein gewisses Umfeld (hier als Kreis veranschaulicht), in dem sich die Wörter befinden, die nach der Fehlerbereinigung zu demjenigen Codewort dekodiert werden, welches im Mittelpunkt des Kreises steht. Bei einem perfekten Code ist diese Zuordnung sogar eindeutig, d.h. die Gebiete der einzelnen Codewörter überlappen sich nicht. Wir gehen im Folgenden immer von perfekten Codes aus. Jedes Wort, welches höchstens [(d-1)/2] Fehler aufweist, kann somit eindeutig immer zu einem Codewort dekodiert werden. Hat es d/2 Fehler (d gerade), so liegt es genau in der Mitte zwischen zwei Codewörtern, was bei der Dekodierung Schwierigkeiten macht. Es können jedoch sehr wohl d/2 Fehler erkannt werden. Hat es mehr als [(d-1)/2] Fehler, so gerät es schon in das Umfeld eines anderen Codewortes, und der Dekoder gibt eben dieses fälschlicherweise aus. Es tritt ein Dekodierungsfehler auf.

Die ganze Zeit haben wir angenommen, dass der Dekoder immer versucht, zu einem empfangenen Wort das am nächsten gelegene Codewort zu finden. Diese Dekodierungsart ist sinnvoll bei Nachrichten, die einmalig empfangen werden, wie z.B. Aufzeichnungen vom Mars etc. Man möchte eben so viel wie möglich aus einer empfangenen Nachricht herausholen. In vielen Fällen ist es jedoch sinnvoll, sich auf eine gewisse Anzahl c an Fehlern zu beschränken, welche auch korrigiert werden, und bei allen Fehler, deren Gewicht >c ist, die Nachricht abzuweisen bzw. um erneutes Übertragen zu bitten. Diese Dekodierungsart nennt man unvollständiges Dekodieren. Eine extreme Form hiervon ist die Fehlererkennung, welche gar keine Fehler korrigiert sondern nur erkennt, d.h. c=0.

 

  
Bürgerliches Gesetzbuch BGB
von Helmut Köhler
Siehe auch:
Handelsgesetzbuch HGB: ohne Seehandelsrech...
Arbeitsgesetze
Grundgesetz GG: Menschenrechtskonvention, Europäischer Gerichtsh...
Strafgesetzbuch StGB
Aktiengesetz · GmbH-Gesetz: mit Umwandlungsgesetz, Wertpapiererw...
Zivilprozeßordnung. ZPO
 
   
 
     
|<< First     < Previous     Index     Next >     Last >>| 

Back to the topic site:
StudyPaper.com/Startseite/Computer/Informatik

External Links to this site are permitted without prior consent.
   
  Home  |  deutsch  |  Set bookmark  |  Send a friend a link  |  Copyright ©  |  Impressum