BCH-Code
aus Wikipedia, der freien Enzyklopädie
BCH-Codes (Bose-Chaudhuri-Hocquenghem-Codes) sind zyklische fehlerkorrigierende Codes, welche in der digitalen Signalverarbeitung und Datenspeicherung eingesetzt werden. Der Name BCH ergibt sich aus den Anfangsbuchstaben der drei Wissenschaftler, die diesen Code entwickelt haben: R.C. Bose, D. K. Ray-Chaudhuri und A. Hocquenghem. BCH-Codes korrigieren mehrere 1-Bit Fehler in einem längeren Nutzer-Datenwort.
Inhaltsverzeichnis |
[Bearbeiten] Definition
Dieser Artikel oder Abschnitt weist folgende Lücken auf:
Definition, allgemeine Encodierung und Decodierung |
[Bearbeiten] Einsatzbereiche
- Die sogenannten Reed-Solomon-Codes sind spezielle BCH-Codes und werden z.B. zur Fehlerkorrektur auf Audio-CDs eingesetzt.
- Der BCH-Code wird auch bei der Sicherung der TPS-Daten im DVB-T Standard genutzt.
[Bearbeiten] Beispiel BCH(15,7)
Mit Hilfe dieser BCH-Codierung können Daten codiert und beim Decodieren maximal 2 beim Übertragen entstandene Fehler korrigieren werden. Die codierte Nachricht besteht aus 15 Bits, 7 Nachrichtenbits und 8 Prüfbits. Deshalb auch die Bezeichnung BCH(15,7).
[Bearbeiten] Codieren
Das Codierverfahren benötigt die Matrix H. Diese ist zusammengesetzt aus den Matrizen T und S (falsch! Normalerweise Darstellung als Polynom und nicht als Blockcode):
H = [ T | S ]
T = und S =
Die codierte Nachricht t besteht aus dem Vektor r, der die 8 Prüfbits enthält sowie dem Nachrichtenvektor, der die 7 Nachrichtenbits enthält:
t = [r | s ]
Für r gilt: r: = T − 1 * S * s
[Bearbeiten] Decodieren
Falls gilt wurde die codierte Nachricht fehlerfrei übertragen. Die Bits 9 bis 15 enthalten die eigentliche Nachricht. Falls
- j-te Spalte von H, 1 Fehler, Bit an Position j wurde falsch übertragen
- j-te + k-te Spalte von H, 2 Fehler, Bits an Position j und k wurden falsch übertragen