5.2.3 Bitfehlerrate

Bei der Speicherung oder Übertragung auftretende Fehler haben physikalische Ursachen. Sie greifen in der untersten Ebene der Hierarchie der Repräsentation ein, also dort, wo die digitalisierte Information durch kontinuierliche physikalische Werte repräsentiert werden. Die Fehler selbst sind häufig additive Zufallsgrößen. Es gibt zur Decodierung eines möglicherweise fehlerhaften Codeworts zwei Wege:

(a) Die Bits des Codewortes werden individuell interpretiert. Darauf erfolgt die digitale Decodierung mit möglicher Korrektur.

(b) Das gesamte Codewort wird analog empfangen, also n physikalische Werte gemessen anstelle der Interpretation als Bits. Die Entscheidung für ein Codewort fällt aufgrund des kleinsten euklidischen Abstands zwischen dem empfangenen Wort und dem Codewort.

Wir beschränken uns hier auf die Bitfehlerwahrscheinlichkeit der Decodierung für den Fall (a) bei Blockcodes. Der Fall (b) ist aber generell besser. Er wurde schon im vorigen Abschnitt bei der Diskussion der Random-Blockcodes mit der Funktion demosoftdecode erläutert.

Kann der (n,k)-Code r Bits korrigieren, so ist die Wortfehlerwahrscheinlichkeit gegeben durch die Summe der Wahrscheinlichkeiten, r+1, r+2, ... n Bitfehler unter den empfangenen n Bits vorzufinden. Wir berechnen diese Binomialverteilung direkt durch die Summe der Terme nach der Newton'schen Formel

          n                                                             
     pw = Σ  n!/(m!*(n-m)!) * pm * (1-p)n-m   
         m=r+1                                                          

Häufig dominiert der Term mit m = r + 1 alle anderen. Das folgende Bild zeigt die Binomialverteilung für n = 7 bei verschiedenen Werten für die Bitfehlerwahrscheinlichkeit p . Der (7,4)-Hamming-code kann maximal eines von 7 Codewortbits korrigieren, d.h. r = 1 .

fehl_vert(7,[0.1,0.01; 0.001,0.0001],1);

Das entsprechende Diagramm für den Dreibitfehlerkorrigierenden (23,12)-Golay-code ist :

fehl_vert(23,[0.1,0.01; 0.001,0.0001],1);

Die Wortfehlerwahrscheinlichkeit ergibt sich aus den Diagrammen durch Summation aller Werte für m = r+1,...,n . Um nach der Korrektur verbleibende Bitfehlerwahrscheinlichkeiten vergleichen zu können, muss die Wortfehlerwahrscheinlichkeit in die Bitfehlerwahrscheinlichkeit gewandelt werden. Das ist allgemein nur approximativ möglich. Wir nehmen den durchaus häufigen schlimmsten Fall an, dass ein falsch decodiertes Empfangswort keine Ähnlichkeit mit dem korrekten aufweist. Von den decodierten k Informationsbits sind daher im Mittel k/2 falsch oder positiv ausgedrückt: selbst im Fall eines Decodierfehlers werden noch k/2 Bits zufällig richtig sein. Deshalb ist die Bitfehlerwahrscheinlichkeit für decodierte Bits

 Pb = pw/2   

Die Funktion harddecodeber(n,d) zeichnet die Wort- und Bitfehlerwahrscheinlichkeit über der Bitfehlerrate des Kanals für einen Code der Länge n und des Minimalabstands d .

Wir sehen uns drei Fälle an: (1) (7,4)- Hamming-Code mit d = 3 :

harddecodeber(7,3)

(2) (23,12)- Golay-Code mit d = 7 :

harddecodeber(23,7)

(3) (2048,8)- Randomcode mit d = 1005 :

harddecodeber(2048,1005)

Wesentlich ist bei allen Codes, dass die resultierende Bitfehlerrate bei kleinen Kanalfehlerraten sehr viel kleiner als die Kanalfehlerrate ist.