v l o kanalkdierung 1 - tu-dresden.de · v l o kanalkdierung 3 1957 erste diskussionen üb er he...
TRANSCRIPT
LV Kanalkodierung 1
Inhaltsverzei hnis
0 Vorbemerkungen 1
1 Einführung 9
1.1 Allgemeines zur Kanalkodierung . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 SHANNON's hes Kanalkodierungstheorem . . . . . . . . . . . . . . . . . . 12
1.3 S hranken für Kodeparameter . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Dekodierungsprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Dekodierungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 REED-MULLER-Kodes (RM-Kodes) 18
2.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Allgemeine Bes hreibung von RM-Kodes . . . . . . . . . . . . . . . . . . . 19
2.3 Erzeugung von RM-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Dekodierung von RM-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Dekodierungsergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 BCH-Kodes 28
3.1 Ausgewählte algebrais he Grundlagen . . . . . . . . . . . . . . . . . . . . . 28
3.1.1 Eigens haften eines Modularpolynoms . . . . . . . . . . . . . . . . 28
3.1.2 Erweiterungskörper und Minimalpolynome . . . . . . . . . . . . . . 29
3.2 Primitive BCH-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Ni htprimitive BCH-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Kodierung und Fehlererkennung . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Verkürzte und erweiterte BCH-Kodes . . . . . . . . . . . . . . . . . . . . . 40
3.6 Anwendung von BCH-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 REED-SOLOMON-Kodes (RS-Kodes) 42
4.1 Kurze Bes hreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Kodierung (zyklis her Kodes) . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Auswahl von Kodierungs- und Übertragungsverfahren 49
6 Fehlerkorrekturverfahren für zyklis he Kodes 56
6.1 Fehlerkorrektur mit BCH-Kodes . . . . . . . . . . . . . . . . . . . . . . . . 56
6.2 Fehlerkorrektur mit RS-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.3 Auslös hungskorrektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
LV Kanalkodierung 2
6.4 Lokatorpolynom na h
BERLEKAMP-MASSEY und EUKLID . . . . . . . . . . . . . . . . . . . . 73
7 Faltungskodes 81
7.1 Einordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Kodiers haltung und Bes hreibung . . . . . . . . . . . . . . . . . . . . . . 82
7.3 Punktierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4 Dekodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.4.1 Vorbemerkungen hard/soft-de ision Dekodierung . . . . . . . . . . 94
7.4.2 Sequentielle Dekodierung −→ FANO-Algorithmus . . . . . . . . . . 95
7.4.3 MD/ML Dekodierung −→ VITERBI-Algorithmus . . . . . . . . . . 99
7.4.4 MAP-Dekodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8 Kodeverkettungen 120
8.1 Serielle Verkettung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.2 (Parallele) Verkettung und iterative Dekodierung . . . . . . . . . . . . . . 128
9 Turboähnli he Kodes 138
9.1 LDPC[Low-Density Parity-Che k℄-(Blo k)Kodes . . . . . . . . . . . . . . . 138
9.2 RA[Repeat-A umulate℄-Kodes . . . . . . . . . . . . . . . . . . . . . . . . 155
10 S hlussbetra htungen 158
LV Kanalkodierung 1
Fakultät Informatik
Institut für Systemar hitektur
Kanalkodierung
0 Vorbemerkungen
Studiengang/Modul:
IST-05-FG-AVS, MINF-04-FG-IAS, INF-04-FG-AVS
Ba helor Informatik (INF-B-510, INF-B-520)
Ba helor Medieninformatik (INF-B-530, INF-B-540)
Master/Diplom Informatik (INF-BAS4, INF-VERT4, INF-PM-
ANW)
Master Medieninformatik (INF-BI-3)
• Kodierung zur Komprimierung der Na hri htenmenge
−→ Quellenkodierung
• Kodierung zur Geheimhaltung und zur Authenti�zierung der
Na hri htenmenge
−→ Kryptographie
• Kodierung zur quasi fehlerfreien Übertragung der Na h-
ri htenmenge
−→ Kanalkodierung
LV Kanalkodierung 2
Kurzer Abriss zur Entwi klung von Kanalkodes
• Ende der 40er Jahre bahnbre hende Arbeiten von SHAN-
NON, HAMMING und GOLAY
◦ 1946 (n, l, fk) = (7, 4, 1)HAMMING-Kode, Verallgemeinerung
von einfa hfehlerkorrigierenden HAMMING-Kodes 1950
−→ spielen au h heute no h eine bedeutende Rolle
◦ GOLAY gri� 1949 Problem der nur Einfa hfehlerkorrektur
auf
� (q, n, l, fk) = (2, 23, 12, 3)GOLAY-Kode
Anwendung: erw. (2,24,12,3)GOLAY-Kode in Voyager I -
Mission zum Jupiter (1977)
� (3, 11, 6, 2)GOLAY-Kode
−→ gemeinsam: Blo kkodes ([q, ]n = l + k, l, fk), Linearkodes
• Traditionelle (�klassis he�) algebrais he Kodes der 50er, 60er
Jahre
◦ 1954 REED-MULLER-Kode
−→ �exibler in der Zahl korrigierbarer Fehler, allerdings zu-
lasten der Koderate
Heise, Quattro hi [8℄: mäÿige Korrektur, aber gute Imple-
mentierungseigens haften;
Anwendung 1969-1977: Mariner-Mission für Marserkundun-
gen
LV Kanalkodierung 3
◦ 1957 erste Diskussionen über zyklis he Kodes
( y li redundan y he k odes � CRC-Kodes �)
Vorteil: reduzierte Komplexität von Kodierer und Dekodierer
Anwendung: vorrangig zur (Bündel)Fehlererkennung
◦ 1959/60 BOSE CHAUDHURI HOCQENGHEM(BCH)-
Kodes
Vorteil: Korrektur von Einzelfehlern
◦ 1960 ni htbinäre REED SOLOMON(RS)-Kodes
Vorteil: Korrektur von Bündelfehlern, Auslös hungen
Anwendung: u. a. Spei herung (CD, DVD, MP3, ..., QR-Kodes)
◦ 1969 e�zienter Dekodierungsalgorithmus von
BERLEKAMP-MASSEY, damit Beginn praktis her Anwen-
dungen von RS-Kodes
−→ Na hteile von Blo kkodes:
� Dekodierung erst na h Erhalt der Empfangsfolge b (für groÿe
n = lgth(b) ni ht tolerierbare Verzögerungszeiten)
� präzise Blo ksyn hronisation
� nur hard-de ision Dekodierung;
Verbesserung nur mit quasi-soft Auslös hungsstellen
(mit soft-de ision Dekodierung 2-3 dB näher an SHANNON-
Grenze)
−→ Vorteil: Leistungsfähigkeit exakt de�niert
Zyklis he Kodes si hern in Verkettung mit klassis hen und mo-
dernen Kodes eine hohe Datenintegrität!
LV Kanalkodierung 4
◦ 1955 blo kfreie Faltungskodes erstmalig von ELIAS vorge-
stellt, nutzt hard/soft-de ision Information vom Demodulator
◦ 1961/63/69 sequentieller Dekodierungsalgorithmus von WO-
ZENCRAFT und REIFFEN, modi�ziert von FANO und JE-
LINEK, Na hteile bei hohem Störverhalten
◦ 1967 VITERBI-Dekodierungsalgorithmus
(hard/soft-de ision Dekodierung auf Basis von Maximum-Likelihood)
Anwendung:
Satellitenkommunikation:
� 1. Anw. in deuts h-amerikanis her Sonnensonde Helios (50er J.)
� 1968 erste exp. Nutzung in Pioneer 9 Mission (K = 32, R =12), Anfang 70er Jahre Pioneer 10-12 zu Jupiter, Saturn, Ve-
nus (sequentielle Dekodierung)
� 1977 Voyager 1 Mission zum Jupiter (K = 7, R = 12),
Voyager 2 Mission zum Saturn
� Globalstar Satelliten in 1400km Höhe (K = 9, R = 12),
Iridium Satelliten in 700km Höhe (K = 7, R = 34)
� (K = 15, R = 14)Big-Viterbi-De oder für Galileo Mission zum
Jupiter (damit Anfang der 90er Jahre versu ht an SHANNON-
Grenze zu gelangen)
Mobilkommunikation: GSM (1992), UMTS (2001), LTE [ad-
van ed℄ (2011[2013℄), 5G? (2020?)
... (in vielen Standards enthalten)
−→ Na hteil: sehr emp�ndli h gegen Bündelfehler
(−→ Interleaving, Kodeverkettung mit RS-Kodes)
LV Kanalkodierung 5
◦ 1966 Kodevorteile dur h Kodeverkettung, erstmalig von
FORNEY vorges hlagen
Anwendung: bereits 1971 Mariner Mission (RS- und RM-Kode),
1977 Voyager I Mission (GOLAY- und Faltungskode), seit 80er
J. ges hi kte Verkettung von RS- und Faltungskodes in Raum-
sonden vom Typ Voyager mit spektakulären Bildern von Pla-
neten wie Jupiter, Saturn, Uranus, Neptun (NASA-Standard
für Satellitenkommunikation), Path�nder 1997, DVB-Standard,
...
• Seit Mitte der 90er Jahre Lü ke zwis hen praktikablen Kodes
und SHANNON-Grenze mit Anwendung Iterativer Deko-
dierung (GALLAGER 1962) s hlieÿbar
◦ 1993 Turbo Code −→ �Turbodekodierung�
Grundlage: zwei parallel verkettete Faltungskodes
−→ Dekodierung von parallel/seriell verketteten klassis hen,
algebrais h konstruierten Kodes
◦ 1996 Low-Density Parity-Che k (LDPC-)Kodes
Grundlage: sparsame zufallsbasierte Kontrollmatrizen
Aufgabe der Kanalkodierung
Lü ke zur SHANNON-Grenze s hlieÿen
−→ iterative Dekodierung (?, ja)
−→ praktikable Anwendungen
(Kodebes hreibung, Komplexität der iterativen Umsetzung)
Herausforderung 5G: 100ns für Kod/Übertragung/Dekod
Fakultät Informatik
Institut für Systemar hitektur
Kanalkodierung
Wintersemester, 2/2/Leistungsna hweis
Lehrbeauftragte: Dr.-Ing. D. S hönfeld
SW V/Ü Thema
1 V Einführung, Anknüpfung an LV IKT
2 V Vom erweiterten HAMMING-Kode zum REED-MULLER-Kode
Ü Beispiele und Aufgaben
3 V Primitive und ni htprimitive BCH-Kodes
Ü Beispiele und Aufgaben
4 V REED-SOLOMON-Kodes (RS-Kodes)
Ü Beispiele und Aufgaben
5 V Auswahl von Kodierungs- und Übertragungsverfahren,
Fehlerkorrektur mit BCH-Kodes (PZG-Verfahren)
Ü Fehlerkorrektur mit BCH-Kodes
6 V Fehlerkorrektur mit RS-Kodes, Auslös hungskorrektur
Ü Fehlerkorrektur mit RS-Kodes
? V Fehlerkorrekturverfahren von BERLEKAMP-MASSEY und EUKLID
Ü Anwendung der Verfahren, Berü ksi htigung von Auslös hungsstellen
7 V Faltungskodes (Faltungskodierung, Punktierung)
Ü Beispiele und Aufgaben zur Kodierung
8 V Dekodierung von Faltungskodes
Ü Beispiele und Aufgaben zur Dekodierung
9 V Dekodierung von Faltungskodes mit soft-de ision
(soft-input: Punktierung, Quantisierung; [soft-output: BiSOVA℄)
Ü Beispiele und Aufgaben zur Dekodierung von soft-input
? V Serielle Kodeverkettung und Anwendungen (CD, Sat, GSM, DVB, ...)
? V Turbokode: (Parallele) Kodeverkettung und iterative Dekodierung
10...13 V/Ü LDPC-(Blo k)Kodes
(iterative Syndromdekodierung: hard, reliability-based, soft)
Beispiele zur Anwendung der iterativen Dekodierungsverfahren
Aufgabe für Erhalt des Leistungsna hweises
(Auswertung der Ergebnisse im Rahmen der LV)
LV Kanalkodierung 7
Fakultät Informatik
Institut für Systemar hitektur
Kanalkodierung
Literatur
[1℄ C.E. Shannon. A mathemati al theory of ommuni ation. Bell Sys. Te h. J., vol. 27,
pp. 379-423 and 623-656, 1948
[2℄ R.W. Hamming. Error dete ting and orre ting odes. Bell Sys. Te h. J., vol. 29, pp.
147-160, 1950
[3℄ M.J.E. Golay. Notes on digital oding. Pro . IEEE, vol. 37, p. 657, 1949
[4℄ W.W. Peterson. Prüfbare und korrigierbare Kodes. Mün hen 1967
[5℄ R.E. Blahut. Theory and Pra ti e of Error Control Codes. Massa husetts 1983
[6℄ W.W. Peterson, E.J. Weldon. Error-Corre ting Codes. Cambridge, London 1972,
Eleventh printing 1991
[7℄ O. Pretzel. Error-Corre ting Codes and Finite Fields. Oxford 1992
[8℄ W. Heise, P. Quattro hi. Informations- und Codierungstheorie. Berlin, Heidelberg
1995
[9℄ D. S hönfeld, H. Klimant, R. Piotras hke. Informations- und Kodierungstheorie. 4.
Au�age, Wiesbaden 2012
[10℄ U. Reimers. Digitale Fersehte hnik. Datenkompression und Übertragung für DVB.
Heidelberg 2008
[11℄ M. Bossert. Kanal odierung. 3. Au�age, Mün hen 2013
[12℄ P. Sweeney. Error Control Coding: From Theory to Pra ti e. England: Wiley, 2002
[13℄ Zeits hriften
• IEEE Trans. Inform. Theory
u. a. D.J. Costello,Jr., J. Hagenauer. H. Imai, S.B. Wi ker. Appli ations of Error-
Control Coding. vol. 44, pp. 2531-2560, 1998
• IEEE Trans. on. Com.
[14℄ A.J. Viterbi. Error Bounds for Convolutional Codes and an Asymptoti ally Optimum
De oding Algorithm. IEEE Transa tions on Information Theory, 1967, 260-269
LV Kanalkodierung 8
[15℄ G.D. Forney. Convolutional Codes I. IEEE Transa tions on Information Theory, 1970,
720-738
[16℄ G.D. Forney. Convolutional Codes II. IEEE Information and Control, 1974, 222-297
[17℄ L. Bahl, J. Co ke, F. Jelinek, J. Raviv. Optimal de oding of linear odes for minimi-
zing symbol error rate. IEEE Transa tions on Information Theory, 1974, 284-287
[18℄ C. Berrou, A. Glavieux, P. Thitimajshima. Near Shannon Limit Error-Corre ting
Coding: Turbo Codes. Pro . 1993 IEEE Intern. Conf. on Com., Geneva, May 1993
[19℄ J. Hagenauer, P. Hoeher. A Viterbi Algorithm with Soft-De ision Outputs and its
Appli ations. IEEE, Globe om 1989, 1680-1686
[20℄ J. Hagenauer. Soft is better than hard. In: R.E. Blahut, D.J. Costello, U. Maurer,
T. Mittelholzer (Hrsg.): Communi ations and Cryptography � Two Sides of One
Tapestry, 1994, 155-171
[21℄ J. Hagenauer, E. O�er, L. Papke. Iterative De oding of Binary Blo k and Convolu-
tional Codes. IEEE Transa tions on Information Theory, 1996, 429-445
[22℄ S. Riedel. Iterative De odierung parallel verketteter binärer Faltungskodes. Forts hr.-
Ber. VDI Reihe 10: Informatik/Kommunikationste hnik, Nr. 498, Düsseldorf 1997
[23℄ M.P. Fossorier, F. Burkert, Lin Shu, J. Hagenauer. On the Equivalen e Between SOVA
and MAX-Log-MAP De oding. 1998
[24℄ B. Vu eti , J. Yuan. Turbo Codes. Prin iples and Appli ations. 2000
[25℄ J. Vogt, K. Koora, A. Finger, G. Fettweis. Comparison of di�erent Turbo de oder
realizations for IMT-2000. Pro . GLOBECOM'99, 2704-2708 (De . 1999)
[26℄ R.G. Gallager. Low density parity he k odes. Cambridge, MA: MIT Press 1963
[27℄ D.J.C. Ma Kay, R.M. Neal. Near Shannon Limit Performan e of Low Density Parity
Che k Codes. Ele troni s Letters, 12.07.1996
[28℄ R. Urbanke. Modern Coding Theory. SS 2001
[29℄ I. Land, P.A. Hoeher. Using the Mean Reliability as a Design and Stopping Criterion
for Turbo Codes. ITW 2001
LV Kanalkodierung 9
Fakultät Informatik
Institut für Systemar hitektur
Kanalkodierung
1 Einführung
1.1 Allgemeines zur Kanalkodierung
LV IKT Na hri htenübertragungsmodell:
QuelleX
SenkeY
Kanal
kodierer kodiererQuellen
dekodiererdekodierer
Kanal
gungskanalÜbertra
Quellen *
E
B
AA*
B
Modell-Erweiterung um Signalwerte am KE und KA:
(am KA au h als Zuverlässigkeit der Empfangswerte bezei hnet)
a∗ = (u1u2...ul) → a = (u1u2...un) → aM = (x1x2...xn) −→
uj ∈ {0, 1} xj ∈ {+1,−1}
bM1= (y1y2...yn) → bh = (yh,1yh,2...yh,n) → b∗ = (u1u2...ul)
yj ∈ R yh,j = uj ∈ {0, 1} uj ∈ {0, 1}
bq : yq,j ∈ Q
b : yj ∈ R
1yj ∼ ln
p(yj |xj=+1)p(yj |xj=−1) , yh,j =
1−sign yj
2 , |yj |-Zuverlässigkeit
LV Kanalkodierung 10
Kode
Menge von Kanalkodewörtern; harakterisiert die Ausgabe des
Kodierers ohne irgendeine Referenz auf die Quellenkodewörter
Kodierer
bes hreibt geordnete Menge von Quellen- und Kanalkodewort-
Paaren
−→ Ein Kode kann dur h unters hiedli he Kodierer (Bildungs-
gesetze) Quellenkodewörter vers hieden (aber eineindeutig) auf
Kanalkodewörter abbilden.
HAMMING-Metrik
HAMMING-Distanz: d(H) = d(ai, aj) =n∑
g=1(ui,g ⊕ uj,g)
minimale HAMMING-Distanz (Minimalabstand):
dmin = min d(ai, aj) für i, j = 1, 2, ..., L und ai 6= aj
HAMMING-Gewi ht: w(ai) = d(0, ai)
EUKLID-Metrik
d(E) = d(ai, aj) =√(ui1 − uj1)2 + (ui2 − uj2)2 + . . . + (uin − ujn)2
dmin des Kanalkodes: d(H) = d2(E)
MD-Dekodierung: mini
d(H)(ai, bh) , wenn yh,j = uj ∈ {0, 1}
mini
d2(E)(aM,i, b) , wenn y[q,]j ∈ Q bzw. R
→ d2(E)(aM,i, b) =n∑
j=1
(xij − yj)2 = (xi1 − y1)
2 + (xi2 − y2)2 + . . .+ (xin − yn)
2 ; xij ∈ {+1,−1}
LV Kanalkodierung 11
Erforderli he Minimalabstände
• bei Fehlererkennung (und Wiederholung): dmin = fe + 1
• bei Fehlerkorrektur: dmin = 2 fk + 1
Auswahlkriterien für Kode/Korrekturverfahren:
1. Geforderte Genauigkeit
2. Zeitfaktor
3. Implementierungsaufwand
Dekodierung:
b ∈ A ?
ja: Dekodierung b −→ b∗
nein: Fehlerkorrektur und Dekodierung [oder Fehlerverde kung℄
Drei mögli he Dekodierungsergebnisse:
1. ri htige Dekodierung (a∗i ≡ b∗i )
2. fehlerhafte Dekodierung (a∗j = b∗i )
3. Dekodierungsversagen (Fehler erkannt, aber keine Zuordnung
mögli h)
LV Kanalkodierung 12
1.2 SHANNON's hes Kanalkodierungstheorem
Für einen stationären Übertragungskanal mit der Transinformation
HT > 0 und der Koderate R = ln < HT existiert immer ein
Blo kkode der Länge n, der
• eine beliebig kleine Restfehlerwahrs heinli hkeit und
• eine Koderate nahe an der Transinformation des Kanals
gewährleistet.
−→ M. Bossert. Kanal odierung. 2013, S. 23
�...Problem der Kanal odierung, Codes zu �nden, die
�lei ht� zu odieren und zu de odieren sind und glei h-
zeitig eine mögli hst groÿe Coderate bei mögli hst groÿer
Mindestdistanz haben.�
Beispiel:
SBK: ps = 10−2 ; l = 4 ; pR = 10−5 → (n, l, dmin)Kanalkode?
dmin fk k ≥ ld
fk∑i=0
(ni
)n R = l
nHT = H(Y )-H(Y |X) pR = 1-
fk∑i=0
(ni
)pis(1− ps)
n−i
3 1 3 7 0.57 0.92 2.03 · 10−3
5 2 6 10 0.40 0.92 1.14 · 10−4
7 3 9 13 0.31 0.92 6.65 · 10−6
Errei hung von groÿem Interesse:
Einsparung von Sendeleistung, bei glei her Übertragungsquali-
tät!?
Verringerung von sog. �Elektrosmog� (Beein�ussung unserer Um-
welt dur h Zunahme von Funksignalen)
LV Kanalkodierung 13
SHANNON-Grenze
S. Lin, D.J. Costello Jr. Error Control Coding: Fundamentals and
Appli ations. 2. Au�age, 2004, S. 18, 20
LV Kanalkodierung 14
SHANNON-Grenze für fehlerfreie Übertragung dur h einen
AWGN[additive white Gaussian noise℄-Kanal
C = B ld
(1 +
Px
Pz
)
︸ ︷︷ ︸Kanaldynamik
Px Nutz-(Signal-)leistung
Pz Stör-(Raus h-)leistung; thermis hes Raus hen im Leiter oder
Halbleiter, wä hst mit Temperatur → Gauss-Verteilung
Pz = k T B = N0B ; k Boltzmann-Konstante
T absolute Temperatur
N0 = k T = PzB
Raus hleistungsdi hte
C = B ld
(1 +
Px
N0B
)
B → ∞ :
Cmax =Px
N0 ln2Px
Cmax= Eb = minimale am Empfängereingang benötigte Energie
pro Informationsbit
normiert auf N0:
Eb
N0= ln2 = 0, 693 =− 1, 592 dB
LV Kanalkodierung 15
1.3 S hranken für Kodeparameter
Kodeparameter: n, l, k, dmin → R, fk
Für einen linearen (n, l, dmin)Kode existieren obere S hranken
für R bzw. L:
• HAMMING-S hranke (1950)
2k ≥fk∑i=0
(ni
)
k ≥ ld
fk∑i=0
(ni
); l = n− k .
perfekter Kode: wenn Glei hheitszei hen gilt
(HK-, GOLAY-, Wiederholungskodes)
• SINGLETON-S hranke (1964)
2l ≤ 2n−dmin+1
und demzufolge
k ≥ dmin − 1 .
Maximaldistanz-(MDS[maximum distan e separable℄-)Kode:
wenn Glei hheitszei hen gilt
(triviale binäre Kodes; ni htbinäre RS-Kodes)
Weitere S hranken von PLOTKIN (1951),
GILBERT (1952)-VARSHAMOV (1957), REIGER (1960), u. a.
LV Kanalkodierung 16
1.4 Dekodierungsprinzipien
Fehlererkennung: b ∈ A ?
� ja: kein (erkennbarer) Fehler
� nein: Fehler:
◦ Rekonstruktion dur h wiederholte Übertragung ODER
Fehlerverde kung (Vermeidung fehlerhafter Rekonstruktion)
• Begrenzte Minimum-Distan e Dekodierung
Dekodierung erfolgt nur innerhalb der Korrekturkugel
• Maximum-Likelihood Dekodierung (Ähnli hkeitsdekodierung)
MLD
p(b|a) = max p(b|x) für alle x ∈ A
−→ Bestimmung des am wahrs heinli hsten gesendeten Kode-
wortes
Minimum-Distan e Dekodierung (entspri ht im Prinzip der
MLD)
d(a, b) = min d(H,E)(x, b) für alle x ∈ A
• Symbolweise Maximum a posteriori Dekodierung MAP
−→ Bestimmung der am wahrs heinli hsten gesendeten Kode-
symbole (Ents heidung für jedes Symbol (Bit) separat)
LV Kanalkodierung 17
1.5 Dekodierungsmethoden
• BMD Dekodierung (klassis he Blo kkodes)
� Dekodierungstabelle
� Mehrheitsdekodierung
� Syndromdekodierung
� Fehlerstellenpolynom
• ML/MD Dekodierung
� Sequentielle, VITERBI-Dekodierung (Faltungskodes)
� Iterative Dekodierung (Turbokodes, LDPC, ...)
(näherungsweise Umsetzung)
LV Kanalkodierung 18
2 REED-MULLER-Kodes (RM-Kodes)
2.1 Vorbemerkungen
Wiederholung: (−→ LV IKT)
einfehlerkorrigierender HAMMING-Kode
erweiterter einfehlerkorrigierender HAMMING-Kode
−→ Kodeparameter
Dekodierungsmethode
Dekodierungsergebnisse
Leistungsfähigkeit
Der duale Kode des erweiterten einfehlerkorrigierenden
HAMMING-Kodes ist der RM-Kode 1. Ordnung.
Dualer Kode: Die Kontrollmatrix eines Kodes kann als Gene-
ratormatrix eines anderen Kodes betra htet werden und umge-
kehrt.
Praktis he Anwendung:
Für alle RM-Kodes ist die Dekodierung relativ einfa h.
Für HAMMING-Kodes gibt es nur für Einfa hfehler brau hbare
Korrekturverfahren.
LV Kanalkodierung 19
2.2 Allgemeine Bes hreibung von RM-Kodes
Es seien s ∈ N0 und m ∈ N, wobei s ≤ m. Dann gibt es eine
Klasse binärer RM-Kodes, für die gilt:
n = 2m
l =s∑
i=0
(mi
)
dmin = 2m−s =n
2s;
s � Ordnung des Kodes.
RM(s,m) −→ (n, l, dmin) oder (n, l, fk)RM-Kode
Beispiel:
RM-Kodes für m = 3 → n = 8, s = 0, 1, ...,m = 3
s l k dmin fe = dmin − 1 fk fe =dmin2
0 1 7 8 7 3 4
1 4 4 4 3 1 2
2 = m−1 7 1 2 1 0 1
3 = m 8 0 1 0 0 0
LV Kanalkodierung 20
2.3 Erzeugung von RM-Kodes
Generatormatrix G bildet einen Vektorraum der Dimension l×n:
(m0
)= 1 Vektor g0 aus n Einsen
(m1
)= m Basisvektoren g1, ..., gm
.
.
.(mi
)Vektorprodukte aus je i Basisvektoren
(i = 2, 3, ..., s)
−→ l =s∑
i=0
(mi
)Zeilenvektoren der Länge n = 2m
Beispiel:
Generatormatrix für m = 3 → n = 8, s = 0, 1, ...,m = 3
Gl×n=
u7
1
1
1
1
1
1
1
1
u61
0
1
1
0
0
1
0
u51
1
0
1
0
1
0
0
u41
0
0
1
0
0
0
0
u31
1
1
0
1
0
0
0
u21
0
1
0
0
0
0
0
u11
1
0
0
0
0
0
0
u01
0
0
0
0
0
0
0
g0 0.Ordnung
g1g2g3 1.Ordnung
g4 = g1 g2g5 = g1 g3g6 = g2 g3 2.Ordnung
g7 = g1 g2 g3 3.Ordnung
LV Kanalkodierung 21
Kodierung:
Aus dem Quellenkodewort a∗ = (u∗l−1 u∗l−2 ... u
∗0) wird das
Kanalkodewort a = (un−1 un−2 ... u0) wie folgt gebildet:
a = (u∗0 u∗1 ...u
∗l−1) ·Gl×n
= u∗0 g0 ⊕ u∗1 g1 ⊕ ...⊕ u∗l−1 gl−1 =l−1∑
i=0
u∗i gi mod 2 .
Au h mögli h:
Aufstellen der Bestimmungsglei hungen für uj (j = 0, 1, ..., n−1)
aus u∗i (i = 0, 1, ..., l − 1) (Verglei h mit HAMMING-Kodes)
Beispiel:
RM(s,m) =RM(1, 3) −→ (n, l, dmin) = (?, ?, ?)RM-Kode:
aus a∗ = (u∗3u∗2u
∗1u
∗0) = (1 0 1 1) wird a = ( ? ) .
RM(2, 3) −→ (?, ?, ?): a∗ = (1 1 0 1 0 1 0), a = ( ? ) .
Sind RM-Kodes systematis h?
Sind RM-Kodes linear?
LV Kanalkodierung 22
2.4 Dekodierung von RM-Kodes
Zunä hst:
Aufstellen der Bestimmungsglei hungen für u∗i (i = 1, 2, ..., l−1)
(�Kontrollglei hungen� ?)
• aus den Bestimmungsglei hungen uj
• aus der Addition von zwei oder mehreren Spalten in G
Beispiel: RM(s,m = 3):
Gl×n =
u7
1
1
1
1
1
1
1
u61
0
1
1
0
0
1
u51
1
0
1
0
1
0
u41
0
0
1
0
0
0
u31
1
1
0
1
0
0
u21
0
1
0
0
0
0
u11
1
0
0
0
0
0
u0
1
0
0
0
0
0
0
u∗0 0.Ordnung
u∗1u∗2u∗3 1.Ordnung
u∗4u∗5u∗6 2.Ordnung
Es gibt immer 2m−j (j = s(−1)1) unabhängige Bestimmungs-
glei hungen mit 2j zusammengefassten Elementen (Spalten) für
jedes u∗i j-ter Ordnung.
Einfa her ausgedrü kt:
Es gibt w(gi) Bestimmungsglei hungen für u∗i .
−→ Dekodierungsmethode:
Mehrheitsdekodierung über Auswertung der unabhängigen
Bestimmungsglei hungen
LV Kanalkodierung 23
Bestimmungsglei hungen für RM(s,m = 3)
s = 1 : u∗1 = u0 ⊕ u1 , u2 ⊕ u3 , u4 ⊕ u5 , u6 ⊕ u7
u∗2 = u0 ⊕ u2 , u1 ⊕ u3 , u4 ⊕ u6 , u5 ⊕ u7
u∗3 = u0 ⊕ u4 , u1 ⊕ u5 , u2 ⊕ u6 , u3 ⊕ u7
s = 2 : u∗4 = u0 ⊕ u1 ⊕ u2 ⊕ u3 , u4 ⊕ u5 ⊕ u6 ⊕ u7
u∗5 = u0 ⊕ u1 ⊕ u4 ⊕ u5 , u2 ⊕ u3 ⊕ u6 ⊕ u7
u∗6 = u0 ⊕ u2 ⊕ u4 ⊕ u6 , u1 ⊕ u3 ⊕ u5 ⊕ u7
Mögli hes Vorgehen zum Finden der Bestimmungsglei hungen
In j-ter Ordnung (j = 2, 3, ..., s) gibt es(mj
)Vektorprodukte aus
jeweils j Basisvektoren;
Auf Basis der 2m−jBinärdarstellungen der Länge (m − j) sind
2m−jmultiplikative Verknüpfungen der jeweils ni ht enthaltenen
(m− j) Basisvektoren mögli h:
Eine binäre `0` steht für gi und eine binäre `1` steht für das Vek-
torkomplement gi = 1+gi. Die 1-Positionen einer multiplikativen
Verknüpfung bilden jeweils eine Bestimmungsglei hung.
Beispiel: RM(s = 2,m = 4)
Bestimmungsglei hungen für g5 = g1 g2 aus Basisvektoren g3, g4
00 g3 g4 → u15 ⊕ u14 ⊕ u13 ⊕ u1201 g3 g4 → u7 ⊕ u6 ⊕ u5 ⊕ u410 g3 g4 → u11 ⊕ u10 ⊕ u9 ⊕ u811 g3 g4 → u3 ⊕ u2 ⊕ u1 ⊕ u0
LV Kanalkodierung 24
Dekodierungsalgorithmus
Ordnungsweise Abarbeitung mit j = s(−1)1 ; b′ := b
1. Elemente u∗i
(i =
j−1∑k=0
(mk
), ...,
j∑k=1
(mk
))der Ordnung j be-
stimmen (Mehrheitsdekodierung)
2. Empfangsfolge b′ �reduzieren�:
b′ := b′ −∑i
u∗i gi = b′ ⊕∑i
u∗i gi
3. S hritte 1. und 2. für j := j − 1 bis eins hlieÿli h j = 1
wiederholen
4. Bestimmung von u∗0 aus b′der letzten Reduktionsstufe
u∗0 =
{1, wenn w(b′) > n
2
0 sonst
.
−→ Dekodierungsergebnisse:
ri htige, fals he Dekodierung und Dekodierungsversagen
−→ Besonderheit: Kodierung und Dekodierung auf Basis von G!
−→ Ist G modi�zierbar?
Beispiel:
RM(1, 3) −→ (n, l, dmin) = (?, ?, ?)RM-Kode;
Dekodiere b1 = (1 0 1 1 0 1 0 1) und b2 = (1 0 1 1 1 1 0 1) !
LV Kanalkodierung 25
2.5 Dekodierungsergebnisse
Liefern alle Bestimmungsglei hungen für ein u∗i dasselbe Ergebnis
liegt kein erkennbarer Fehler vor.
Ri htige Dekodierung
• Es gibt 2m−s = 2 (fk + 1) unabhängige Bestimmungsglei hun-
gen für jedes u∗i der Ordnung s.
Damit ist fk =2m−s
2− 1 = 2m−s−1 − 1
(au h: dmin = 2m−s → fk =⌊dmin−1
2
⌋).
• Bei fk Fehlern kann in hö hstens fk Bestimmungsglei hungen
ein verfäls htes Ergebnis auftreten.
• Demzufolge liefert das am häu�gsten auftretende Ergebnis im-
mer den korrekten Wert, solange ν ≤ fk ist.
Fals he Dekodierung
Bei ν > fk + 1 Fehlern führt die Mehrheitsdekodierung i. Allg.
zu einem Dekodierungsfehler.
Dekodierungsversagen
Bei ν = fk+1 Fehlern liefert die Hälfte der Glei hungen i. Allg.
verfäls hte Ergebnisse, so dass Fehler zwar erkannt, aber ni ht
korrigiert werden können.
LV Kanalkodierung 26
2 Fehler in einer Bestimmungsglei hung sind selbstkorrigierend!
Existiert für jedes u∗i (i = 1, 2, ..., (l − 1) = m) eine selbstkor-
rigierende Bestimmungsglei hung sind über fk hinaus Fehler
ri htig dekodierbar!
Beispiel (32, 6, dmin =?)RM-Kode: m =?, s =?, fk =?
G6×32 =
11111111 11111111 11111111 1111111110101010 10101010 10101010 1010101011001100 11001100 11001100 1100110011110000 11110000 11110000 1111000011111111 00000000 11111111 0000000011111111 11111111 00000000 00000000
.
Grundmuster der Länge m + 1 in e: (0, 1, 3, 7, 15, 31)
u∗1 = u0 ⊕ u1, u2 ⊕ u3, u4 ⊕ u5, u6 ⊕ u7, u8 ⊕ u9, u10 ⊕ u11, u12 ⊕
u13, u14⊕u15, u16⊕u17, u18⊕u19, u20⊕u21, u22⊕u23, u24⊕u25, u26⊕
u27, u28 ⊕ u29, u30 ⊕ u31
u∗2 = u0 ⊕ u2, u1 ⊕ u3, u4 ⊕ u6, u5 ⊕ u7, u8 ⊕ u10, u9 ⊕ u11, u12 ⊕
u14, u13⊕u15, u16⊕u18, u17⊕u19, u20⊕u22, u21⊕u23, u24⊕u26, u25⊕
u27, u28 ⊕ u30, u29 ⊕ u31
u∗3 = u0 ⊕ u4, u1 ⊕ u5, u2 ⊕ u6, u3 ⊕ u7, u8 ⊕ u12, u9 ⊕ u13, u10 ⊕
u14, u11⊕u15, u16⊕u20, u17⊕u21, u18⊕u22, u19⊕u23, u24⊕u28, u25⊕
u29, u26 ⊕ u30, u27 ⊕ u31
u∗4 = u0 ⊕ u8, u1 ⊕ u9, u2 ⊕ u10, u3 ⊕ u11, u4 ⊕ u12, u5 ⊕ u13, u6 ⊕
u14, u7 ⊕ u15, u16⊕u24, u17⊕u25, u18⊕u26, u19⊕u27, u20⊕u28, u21⊕
u29, u22 ⊕ u30, u23 ⊕ u31
u∗5 = u0⊕u16, u1⊕u17, u2⊕u18, u3⊕u19, u4⊕u20, u5⊕u21, u6⊕
u22, u7⊕u23, u8⊕u24, u9⊕u25, u10⊕u26, u11⊕u27, u12⊕u28, u13⊕
u29, u14 ⊕ u30, u15 ⊕ u31
LV Kanalkodierung 28
3 BCH-Kodes
3.1 Ausgewählte algebrais he Grundlagen
−→ LV Informations- und Kodierungstheorie
3.1.1 Eigens haften eines Modularpolynoms
1. Das Modularpolynom muss irreduzibel sein. Es ist ni ht in
ein Produkt von Polynomen zerlegbar.
Das ModularpolynomM(x) vom Grad k1 bestimmt den Kode-
parameter n mit
n ≤ 2k1 − 1 .
−→ Zyklus der Polynomreste über GF (2) mit ximodM(x)
(i = 0, 1, ..., p) : p | (2k1 − 1)
−→ Primfaktorenzerlegung von (2k1 − 1)
k1 = 4 : 2k1 − 1 = 15 /∈ P, 15 = 3 · 5
x3 mod M(x) = 1? 3 < k1 = 4 → r(x) 6= 1
x5 mod M(x) = 1? UNTERSUCHEN!
x15mod M(x) = 1 −→ p = 5 oder p = 15 ?
n = p | (2k1 − 1) .
2. Ist der Zyklus der Polynomreste maximal, dann besitzt das
irreduzible Polynom M(x) au h die Eigens haft, primitiv zu
sein.
LV Kanalkodierung 29
3.1.2 Erweiterungskörper und Minimalpolynome
Die Leistungsfähigkeit eines BCH-Kodes hängt von der Anzahl
aufeinanderfolgender Nullstellen in g(x) ab.
−→ Nullstellen?
Ein irreduzibles Polynom über einem Grundkörper GF (q) mit
q ∈ P hat auf jeden Fall keine Nullstelle in GF (q).
Fundamentalsatz der Algebra
Jedes Polynom hat mindestens eine Nullstelle, gegebenenfalls in
einem anderen Körper, und jedes Polynom r-ten Grades lässt
si h in genau r Teilpolynome ersten Grades zerlegen, i. Allg. un-
ter Zuhilfenahme von Erweiterungselementen αi:
P (x) = urxr + ... + u1x + u0 = (x− α1)(x− α2)...(x− αr) ;
αi � Nullstellen des Polynoms in einem Erweiterungskörper unter
Einbeziehung der Vielfa hheiten von Nullstellen.
−→ Hinzufügen eines neuen Elementes α als Nullstelle eines ir-
reduziblen Polynoms über GF (2), wel hes einem Erweiterungs-
körper GF (2k1) angehört.
−→ Zum Erweiterungskörper GF (2k1) gehören das Nullelement
und die Elemente αi(i = 0, 1, ..., (2k1 − 2)).
LV Kanalkodierung 30
Beispiel M(x) = x3 + x2 + 1 −→ GF (23) ?
Elemente Polynomreste Koe�zienten der
des GF (23) αimodM(x = α) Polynomreste
Nullelement 0 0 0 0
α0 1 0 0 1
α1 α 0 1 0
α2 α2 1 0 0
α3 α2 + 1 1 0 1
α4 α2 + α + 1 1 1 1
α5 α + 1 0 1 1
α6 α2 + α 1 1 0
α7 1 0 0 1
−→ Erweiterungskörper isomorph dem Zyklus der Polynomreste
−→ M(x = α) = 0
Entspre hend dem Fundamentalsatz gilt weiter:
• M(x) = x3 + x2 + 1 = (x− α1)(x− α2)(x− α3) , d.h.,
α1 = α1, α2 und α3 sind Nullstellen in GF (23).
• αj = α2j−1imod pmit j = 1, 2, ... , k1
−→ α20i, α21i, ... , α2k1−1imod psind zueinander konjugiert und
be�nden si h im Zyklus i (i = 0, 1, ..., (2k1 − 2))
−→ Nullstellen von M(x) sind damit die im Zyklus i = 1
stehenden zu α1konjugierten Elemente
α2 = α2und α3 = α4
LV Kanalkodierung 31
Jedem Element aus GF (2k1) ist ein Minimalpolynom mi(x)
mit den folgenden Eigens haften zugeordnet:
1. Das Minimalpolynom eines beliebigen Elementes αiist irre-
duzibel und vom Grad r ≤ k1.
2. Zu jedem Element αiexistiert genau ein Minimalpolynom
mi(x).
3. Das Minimalpolynom des Elementes αiist glei hzeitig das Mi-
nimalpolynom der Elemente α21i, α22i
, ..., α2r−1imod p.
4. Ist αieine Nullstelle des Minimalpolynoms mi(x), dann sind
die r Nullstellen αi, α21i
, α22i, ..., α2r−1i
die sämtli hen Null-
stellen von mi(x):
mi(x) = (x− αi)(x− α21i)(x− α22i)...(x− α2r−1i) .
5. Ist das Modularpolynom M(x) primitiv, dann hat das Mini-
malpolynom mi(x) die Periode pi =2k1 − 1
ggT(2k1 − 1, i)bzw. das
Element αidie Ordnung pi ,
wobei gilt: pi | (2k1 − 1).
6. Das Modularpolynom M(x) ist wegen M(x = α1) = 0 das
Minimalpolynom m1(x) des Elementes α1.
LV Kanalkodierung 32
3.2 Primitive BCH-Kodes
BCH-Kodes, die von primitivenModularpolynomen erzeugt wer-
den.
Generatorpolynom zur Kodierung und Fehlererkennung
−→ g(x) = f(dE,M(x)) ; au h: g(x) = f(dE, l) , M(x) = ?
Entwurfsabstand dE und M(x) bestimmen Wahl der
Kodeparameter!
Notwendig:
• Erweiterungskörper GF (2k1):
Wenn M(x) primitiv ist und α als Nullstelle hat, dann gilt
GF (2k1) = {0, 1, α1, α2, ..., αp−1} und p = 2k1 − 1 .2
• Ein Minimalpolynom mi(x) hat αi, α2i, α4i, ... als Nullstellen:
mi(x) = (x + αi)(x + α2i)(x + α4i)... im GF (2) .
Daraus folgt:
mi(x) = m2i(x) = m4i(x) = ... = m2r−1imod p , r ≤ k1 .
• Das Generatorpolynom hat die Aufeinanderfolge von
αµ, αµ+1, αµ+2, ..., αµ+dE−2
als Nullstellen, so au h ai ∈ A.
2
Ni htprimitive BCH-Kodes: M(x) nur irreduzibel und p |( 2k1 − 1) .
LV Kanalkodierung 33
Generatorpolynom g(x)
Damit ein BCH-Kode die aufeinanderfolgenden Potenzen von α
als Nullstellen enthält, wird g(x) i. Allg. ein Produkt von Mini-
malpolynomen sein:
g(x) = kgV {mµ(x),mµ+1(x), ...,mµ+dE−2(x)}
(in praktis hen Anwendungsfällen ist µ meist 0 oder 1).
Kodeparameter
n = 2k1 − 1 , weil M(x) primitiv
k = grad g(x) ≤ k1 · fk
l = n− k
dmin ≥ dE
Über die Zyklendarstellung kann die tatsä hli he Aufeinander-
folge der Nullstellen bestimmt und damit der tatsä hli he Ab-
stand dmin ermittelt werden:
µ+ dmin − 2 = x (x � gröÿter Exponent der Aufeinanderfolge)
Beispiel
Gegeben sind M(x) = x4 + x + 1 (primitiv) und GF (24) .
Zu bestimmen sind mögli he Generatorpolynome g(x) aus den
Zyklen der Exponenten von α für µ = 1 bzw. 0!
g(x) für dE = 4?
(31, 16, ?)BCH-Kode?
Beispiel
Gegeben sind M(x) = x4 + x + 1 (primitiv) und GF (24)
Zu bestimmen sind alle mögli hen Generatorpolynome aus den
Zyklen der Exponenten von α für µ = 1 bzw. 0!
0 −→ m0(x) 1. Grades
1 2 4 8 −→ m1(x) 4. Grades
3 6 12 9 −→ m3(x) 4. Grades
5 10 −→ m5(x) 2. Grades
7 14 13 11 −→ m7(x) 4. Grades
Daraus ergeben si h die folgenden Generatorpolynome und
(n, l, fk)BCH-Kodes:
für µ = 1 :
g(x) = m1(x) dmin = 3 −→ (15,11,1)BCH
g(x) = m1(x)m3(x) dmin = 5 −→ (15,7,2)BCH
g(x) = m1(x)m3(x)m5(x) dmin = 7 −→ (15,5,3)BCH
g(x) = m1(x)m3(x)m5(x)m7(x) dmin = 15 −→ (15,1,7)BCH
für µ = 0 : ?
LV Kanalkodierung 34
Darstellung von GF (24) mit M(x) = x4 + x + 1
Elemente von GF (24) als Zugehörige
Potenzen Polynom- Polynom- Minimalpolynome
von α reste koe�zienten
0 0 0 0 0 0
1 1 0 0 0 1 m0(x) = x + 1
α1 α 0 0 1 0 m1(x) = x4 + x + 1
α2 α2 0 1 0 0 m2(x) = x4 + x + 1
α3 α3 1 0 0 0 m3(x) = x4 + x3 + x2 + x + 1
α4 α + 1 0 0 1 1 m4(x) = x4 + x + 1
α5 α2 + α 0 1 1 0 m5(x) = x2 + x + 1
α6 α3 + α2 1 1 0 0 m6(x) = x4 + x3 + x2 + x + 1
α7 α3 + α + 1 1 0 1 1 m7(x) = x4 + x3 + 1
α8 α2 + 1 0 1 0 1 m8(x) = x4 + x + 1
α9 α3 + α 1 0 1 0 m9(x) = x4 + x3 + x2 + x + 1
α10 α2 + α + 1 0 1 1 1 m10(x) = x2 + x + 1
α11 α3 + α2 + α 1 1 1 0 m11(x) = x4 + x3 + 1
α12 α3 + α2 + α + 1 1 1 1 1 m12(x) = x4 + x3 + x2 + x + 1
α13 α3 + α2 + 1 1 1 0 1 m13(x) = x4 + x3 + 1
α14 α3 + 1 1 0 0 1 m14(x) = x4 + x3 + 1
LV Kanalkodierung 35
n < (2k1 − 1):
• verkürzter primitiver BCH-Kode
• ni htprimitiver BCH-Kode −→ teilweise bessere Eigens haf-
ten (R, dmin, fe, fk)
3.3 Ni htprimitive BCH-Kodes
BCH-Kodes, die von ni htprimitiven Modularpolynomen er-
zeugt werden.
Das ni htprimitive Polynom m3(x) aus GF (26) sei Modularpoly-
nom m∗1(x) eines BCH-Kodes, d.h. m
∗1(x) = mj=3(x) −→ n, k, l
Sei β eine Nullstelle von m∗1(x), dann gilt: β = αj = α3.
Da α3die Ordnung
2k1 − 1
ggT(2k1 − 1, i)=
63
ggT(63, 3)= 21
aufweist, hat der dur h m∗1(x) de�nierte BCH-Kode die Blo k-
länge n = 21.
Zyklen der Exponenten von β (mod 21):
1 2 4 8 16 11 −→ m∗1(x) −→ m1·j=3(x)
3 6 12 −→ m∗3(x) −→ m3·j=9(x)
Generatorpolynom
g(x) = m∗1(x)m
∗3(x) = m3(x)m9(x)
−→ ni htprimitiver (21, 12, fk = 2)BCH-Kode
LV Kanalkodierung 36
M(x) mit k1 = gradM(x) irreduzibel und primitiv ?
k1 n = 2k1 − 1 Primfaktoren p(= n) | (2k1 − 1)
2 3 3 3
3 7 7 7
4 15 3 · 5 5,15
5 31 31 31
6 63 3 · 3 · 7 7,9,21,63
7 127 127 127
8 255 3 · 5 · 17 15,17,51,85,255
9 511 7 · 73 73,511
10 1023 3 · 11 · 31 11,31,33,93,341,1023
11 2047 23 · 89 23,89,2047
12 4095 32 · 5 · 7 · 13 13,15,21,35,39,45,63,65,91,
105,117,195,273,315,...,4095
13 8191 8191 8191
14 16383 3 · 43 · 127 43,127,129,381,5461,16838
LV Kanalkodierung 37
Darstellung von GF (26) mit M(x) = x6 + x + 1
i mi(x) pi Bemerkung
0 x + 1 1
1 x6 + x + 1 63 primitiv
3 x6 + x4 + x2 + x + 1 21
5 x6 + x5 + x2 + x + 1 63 primitiv
7 x6 + x3 + 1 9
9 x3 + x2 + 1 7
11 x6 + x5 + x3 + x2 + 1 63 primitiv
13 x6 + x4 + x3 + x + 1 63 primitiv
15 x6 + x5 + x4 + x2 + 1 21
21 x2 + x + 1 3
23 x6 + x5 + x4 + x + 1 63 primitiv
27 x3 + x + 1 7
31 x6 + x5 + 1 63 primitiv
LV Kanalkodierung 38
GOLAY-Kode
erzeugt vom ni htprimitiven Modularpolynomm89(x) imGF (211).
Wegen
2k1 − 1
ggT(2k1 − 1, i)=
2047
ggT(2047, 89)= 23 ergibt si h eine
Blo klänge n = 23 und mit
g(x) = m89(x) = x11 + x9 + x7 + x6 + x5 + x + 1
ein (23, 12, fk = 3)BCH-Kode mit dmin = 7 (?)
(Primitive BCH-Kodes:
dmin =Anzahl aufeinanderfolgender Nullstellen+1 !!).
GOLAY-Kode ist im Sinne der HAMMING-S hranke di htge-
pa kt.
Das Polynom m445(x) ist reziprok zu m89(x) und hat somit die
glei hen Eigens haften.
Erweiterung des (23, 12, fk = 3)BCH-Kodes um eine Kontroll-
stelle ergibt den (24, 12, fk = 3)BCH-Kode mit dmin = 8
Dekodierungsmethode:
Dekodierungstabelle (s. IKT-Bu h, S. 203-205)
LV Kanalkodierung 39
3.4 Kodierung und Fehlererkennung
Kodierung:
−→ Aufbau des Kanalkodes A
−→ Multiplikations-, Divisionsverfahren, Multiplikation mit G
−→ Verweis auf Abs hn. 4.2
Fehlererkennung:
• Wie?
• Typis he Fehlererkennungs- = CRC-Kodes:
Zyklis her HAMMING-Kode: g(x) = m1(x)
ABRAMSON-Kode: g(x) = m1(x)(x + 1)
• Mit Si herheit:
fe = dmin − 1
fb ≤ k :
e(x) = 0 xn−1 + 0 xn−2 + ...+ 1 xi−1 + ...+ 1 xi−fb + 0 xi−fb−1 + ...+ 0 x0
= xi−fb(1 xfb−1 + ufb−2xfb−2 + ...+ u1x
1 + 1)
• Darüber hinaus?
2n − 2l
2n= 1− 2−k −→ pFE = 100(1− 2−k)
Beispiel k = 5 : pFE = 96, 88%
k = 8 : pFE = 99, 61%
LV Kanalkodierung 40
3.5 Verkürzte und erweiterte BCH-Kodes
Ein Kanalkode heiÿt verkürzter Kode, wenn die Kodewortlän-
ge n kleiner als die Ordnung p des Elementes α des Erweiterungs-
körpers ist. Dieser Kode verliert seine zyklis he Eigens haft. Seine
Eigens haften bzgl. der Fehlererkennung und der Fehlerkorrektur
bleiben jedo h gegenüber dem unverkürzten Kode erhalten.
(n, l, dmin) −→ (n−?, l−?, dmin) , k = onst
Ein Kanalkode heiÿt erweiterter Kode, wenn
• das Generatorpolynom g(x) um m0(x) erweitert wird:
(n < 2k1 − 1, l, dmin) −→ (n + 1, l, dmin + 1) ,
(n = 2k1 − 1, l, dmin) −→ (n, l − 1, dmin + 1) .
• über n = 2k1 − 1 ein Paritätsbit gesetzt wird.
Beispiel (24, 12, dmin = 8)GOLAY-Kode
Verglei he au h mit dem erweiterten HAMMING-Kode!
Die zyklis he Eigens haft geht mit n 6= p , p |( 2k1 − 1) verloren.
Alle ungeradzahligen Fehler sind erkennbar.
LV Kanalkodierung 41
3.6 Anwendung von BCH-Kodes
• Fehlererkennung −→ CRC-Kodes
Z. B. in Protokollen auf der Si herungss hi ht:
ATM benutzt CRC-8 (k = 8), CRC-10, CRC-32;
CRC-CCITT in HDLC (k = 16);
Ethernet benutzt CRC-32 für Standard-Frames = 1518Byte,
Jumbo-Frames ≈ 9000Byte (extended Ethernet Frames),
ni ht standardisiert aber bieten verglei hbaren S hutz, wie?
g(x) = m∗1(x) = m7(x), primitiv, ai(x) = x91639 + x41678 + 1,
im Berei h n < 91639Bit ≈ 11545Byte nur w(ai) ≥ 4;
im digitalen Teilnehmerans hluss (ISDN, xDSL)
CRC-23 (x23 + x5 + 1, primitiv);
im DECT[digital enhan ed ordless tele ommuni ations℄
CRC-16;
beim Mobilfunk: CRC-3
(in Kodeverkettung zur Fehlerverde kung)
...
• Fehlerkorrektur
CRC-Kodes in Verkettung mit Faltungskodes;
BCH-Kodes in Verkettung mit Turbo- und turboähnli hen
Kodes wie z. B. beim DVB-S2 in Verkettung mit LDPC-Kodes;
(15, 5, fk = 3)BCH-Kode im QR[qui k response℄-Code zum
S hutz der Formatinformation
...
Begri�e und De�nitionen
• Periode p eines Polynoms M(x): kleinste positive ganze Zahl
p, für die gilt: xpmodM(x) = x0 = 1 .
• Primitives Polynom: Irreduzibles PolynomM(x) vom Grad
k1 mit der maximalen Periode pmax = 2k1 − 1 .
• Die Periode eines irreduziblen Polynoms vom Grad k1, das
ni ht primitiv ist, muss Teiler von (2k1 − 1) sein.
• Ordnung eines Elementes α: Periode p des Polynoms
M(x = α), d.h. αp = α0 = 1 .
• Polynomreste ximodM(x); (i = 0, 1, ..., 2k1 − 2) bilden einen
Körper mit (2k1 − 1) Elementen, wenn M(x) primitiv ist.
Zusammen mit dem Nullelement ergibt si h ein GF (2k1).
• ErweiterungskörperGF (2k1): GrundkörperGF (2), der dur h
das primitive Element α (und den Potenzen von α) erweitert
ist.
• Minimalpolynom mi(x): das dem Körperelement αizuge-
hörige Polynom mit mi(x = αi) = 0 .
• Periode eines Minimalpolynoms mi(x): pi =2k1 − 1
ggT (2k1 − 1, i).
• Primitive Polynome glei hen Grades erzeugen einen äquivalen-
ten Erweiterungskörper, d.h., es genügt nur einen zu kennen.
LV Kanalkodierung 42
4 REED-SOLOMON-Kodes (RS-Kodes)
4.1 Kurze Bes hreibung
Für den BCH-Kode gilt:
α ∈ GF (2k1)
uj ∈ GF (2) ,
d.h. der BCH-Kode ist über einem Erweiterungskörper de�-
niert, wogegen die Polynomkoe�zienten uj aus demGrundkörper
GF (2) sind.
RS-Kodes
Spezielle Klasse der BCH-Kodes, die über einem Grundkörper
GF (q) mit q = p ∈ P bzw. q = pk1 Elementen de�niert ist, der
glei hzeitig Koe�zientenkörper der Kodepolynome ist.
Wegen der optimalen binären Darstellungsmögli hkeit benutzt
man in der Praxis Körper zur Basis q = 2.
−→ Weil uj ∈ GF (2k1), kann jeder Koe�zient bzw. jede Kode-
wortstelle uj dur h k1-Binärstellen ersetzt werden.
Sweeney: �RS-Kodes sind die wohl elegantesten und wertvollsten Kodes der
algebrais hen Kodierungstheorie.�
LV Kanalkodierung 43
Zusammenhang Minimalpolynom � Nullstelle(n)
Alle Elemente eines KörpersGF (2k1) sind Nullstellen eines Haupt-
polynoms f(x):
f(x) = (x− 0) (x− α0) (x− α1) ...(x− αp−1)
= (x + 0) (x + α0 )(x + α1)...(x + αp−1) im GF (2) .
−→ f(x) = xp+1+x = xn+1+x, ohne Nullelement: f(x) = xn+1
−→ n ist realisierbare Kodewortlänge eines M(x)
−→ g(x) | f(x), d.h. mit g(x) sind f(x) und damit n bere henbar
Beispiel: GF (23)
f(x) = (x + 1) (x + α) (x + α2) (x + α3) (x + α4) (x + α5) (x + α6)
Die zu αizugehörigen Minimalpolynome:
• BCH mi(x) über GF (2)
f(x) = (x + 1) (x + α) (x + α2) (x + α3) (x + α4) (x + α5) (x + α6)
= (x + 1)(x3 + x2 + 1)(x3 + x + 1) = m0(x)m1(x)m3(x) ,
wobeim1(x) = m2(x) = m4(x) und m3(x) = m6(x) = m5(x)
• RS mi(x) über GF (23)
f(x) = (x + 1)(x + α)(x + α2)(x + α3)(x + α4)(x + α5)(x + α6)
= m0(x) m1(x) m2(x) m3(x) m4(x) m5(x) m6(x) ,
mi(x) = (x + αi)
Darstellung von GF (24) mit M(x) = x4 + x + 1
Elemente von GF (24) als Zugehörige
Potenzen Polynom- Polynom- Minimalpolynome
von α reste koe�zienten
0 0 0 0 0 0
1 1 0 0 0 1 m0(x) = x + 1
α1 α 0 0 1 0 m1(x) = x + α1
α2 α2 0 1 0 0 m2(x) = x + α2
α3 α3 1 0 0 0 m3(x) = x + α3
α4 α + 1 0 0 1 1 m4(x) = x + α4
α5 α2 + α 0 1 1 0 m5(x) = x + α5
α6 α3 + α2 1 1 0 0 m6(x) = x + α6
α7 α3 + α + 1 1 0 1 1 m7(x) = x + α7
α8 α2 + 1 0 1 0 1 m8(x) = x + α8
α9 α3 + α 1 0 1 0 m9(x) = x + α9
α10 α2 + α + 1 0 1 1 1 m10(x) = x + α10
α11 α3 + α2 + α 1 1 1 0 m11(x) = x + α11
α12 α3 + α2 + α + 1 1 1 1 1 m12(x) = x + α12
α13 α3 + α2 + 1 1 1 0 1 m13(x) = x + α13
α14 α3 + 1 1 0 0 1 m14(x) = x + α14
LV Kanalkodierung 44
Generatorpolynom zur Kodierung und Fehlererkennung
−→ g(x) = f(dmin,M(x)) ; au h: g(x) = f(dmin, l) , M(x) = ?
dmin und M(x) bestimmen Wahl der Kodeparameter!
Notwendig:
• Grundkörper GF (2k1):
Wenn M(x) primitiv ist und α als Nullstelle hat, dann gilt
GF (2k1) = {0, 1, α1, α2, ..., α2k1−2} .
• Ein Minimalpolynom mi(x) hat αials Nullstelle:
mi(x) = (x + αi) .
• Das Generatorpolynom hat die Aufeinanderfolge von
αµ, αµ+1, αµ+2, ..., αµ+dmin−2
als Nullstellen, so au h ai ∈ A.
LV Kanalkodierung 45
Generatorpolynom g(x)
Damit ein RS-Kode die aufeinanderfolgenden Potenzen von α als
Nullstellen enthält, wird g(x) i. Allg. ein Produkt von Minimal-
polynomen sein:
g(x) =µ+dmin−2∏
i=µ
mi(x) =µ+dmin−2∏
i=µ
(x + αi)
(ATM: g(x) =123∏
i=120
(x + αi) ; NASA: g(x) =143∏
i=112
(x + α11i),
für Darstellung von Zusammenhängen meist µ = 1).
Kodeparameter
• M(x) primitiv: n = 2k1 − 1 Elemente, ersetzbar dur h jeweils
k1 Bit
• k = grad g(x) = dmin − 1 = 2 fk
−→ SINGLETON-S hranke mit Glei hheit erfüllt
−→ MDS[maximum distan e separable℄-Kode:
(w(ai) ≥ k + 1 für alle ai ∈ A \ {a0})
• l = n− k
LV Kanalkodierung 46
HAMMING-Metrik
Für lineare Kodes gilt: w(ai) = d(0, ai).
−→ Gewi htsverteilung eines linearen Kodes glei h der Distanz-
verteilung
Gewi htsverteilung (wi � Anzahl Kodewörter mit Gewi ht i) [6℄:
wi =(ni
) i−1−k∑j=0
(−1)j(ij
)((2k1)i−j−k − 1) ; i = dmin, ..., n
w0 = 1, w1, ...,dmin−1 = 0
Fehlerkorrektur
dmin = 2 fk + 1 bedeutet:
−→ mit Si herheit fk Elemente zu je k1 Bit korrigierbar,
−→ mit Si herheit Bündelfehler der Länge (fk − 1) k1+ 1 Bits
korrigierbar.
Beispiel
Verglei h von RS- und BCH-Kode
n = 15, fk = 3 −→ g(x), Kodeparameter, Koderate,
Gewi htsverteilung
RS: w = (1, 0, 0, 0, 0, 0, 0, 96525, 868725, 11711700, 102882780,
704053350, 3518546850, 12180312900, 26100492300, 26100511606)
BCH: w = (1, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 1)
LV Kanalkodierung 47
4.2 Kodierung (zyklis her Kodes)
• Multiplikations- und Divisionsverfahren
(Besonderheit: Addition und Multiplikation über GF (2k1))
Beispiel
Gegeben sind M(x) = x3 + x + 1 (primitiv) und GF (23).
Gesu ht wird ein RS-Kode mit dmin = 5 (g(x), Kodeparameter,
Leistungsfähigkeit).
Im Weiteren soll aus dem Quellenkodewort a∗ = (α2α6α5) das
Kanalkodewort a na h dem Multiplikations- und Divisionsver-
fahren bestimmt werden.
Elemente von GF (23)/x3 + x + 1 als
Potenzen von α Polynomreste Polynomkoe�zienten
Nullelement 0 0 0 0
α0 1 0 0 1
α1 α 0 1 0
α2 α2 1 0 0
α3 α + 1 0 1 1
α4 α2 + α 1 1 0
α5 α2 + α + 1 1 1 1
α6 α2 + 1 1 0 1
Bestimmung des Generatorpolynoms:
(Addition und Multiplikation über (GF (2k1)!)
g(x) = (x− α)(x− α2)(x− α3)(x− α4) modM(x = α)
= (x + α)(x + α2)(x + α3)(x + α4)
= x4 + α3x3 + x2 + αx + α3
Mit dem Generatorwort g = (1 α3 1 α α3) ergibt die Division
(α2 α6 α5 0 0 0 0) : g den Rest (α6 α4 α5 α2) .
Damit wird a = (α2 α6 α5 α6 α4 α5 α2) .
LV Kanalkodierung 48
Verkürzte RS-Kodes
In der Praxis häu�g RS-Kodes über GF (28) −→ Byte-Korrektur!
Maximal mögli he Blo klänge mit
n = 28 − 1 = 255 Elemente = 2040 Bit,
wird jedo h kaum genutzt.
−→ Es wird nur eine Teilmenge des ursprüngli hen Kodes ge-
nutzt, wobei die fehlererkennenden und -korrigierenden Eigen-
s haften erhalten bleiben.
Anwendung von RS-Kodes
Z. B. ATM-Netze: (128, 124, fk = 2)RS-Kode über GF (28)
ESA/NASA-Standard: (255, 223, 16)RS-Kode über GF (28)
ADSL-Modem: (204, 188, 8)RS-Kode über GF (28)
Audio-CD: (28, 24, 2)- und (32, 28, 2)RS-Kode über GF (28)
DVD: (208, 192, 8)- und (182, 172, 5)RS-Kode über GF (28)
UWB, 2006: Faltungskode verkettet mit (255, 239, 8)RS-Kode über
GF (28)
Au h in QR-, Sema odes zum S hutz der Dateninhalte, vers hie-
dene Korrekturstufen, pR < 10−7
s. a. Folie 72 (Auslös hung), Folie 124 (Kodeverkettung)
...
LV Kanalkodierung 49
5 Auswahl von Kodierungs- und Übertragungsverfah-
ren
• Anwendung
� Datenübertragung
Ziel: mögli hst fehlerfreie Übertragung
(Computerdaten: pR < 10−10, Telefax: pR < 10−6
)
� Datenspei herung
Ziel: Lesbarkeit, Verständli hkeit, Quasi-Fehlerfreiheit, ...
(QR-Kodes: pR < 10−7, Hör-CDs: pR < 10−6
, ...)
� Spra hübertragung
Ziel: Verständli hkeit
(pR < 10−3 ... 10−5 ,
Erkennen von Übertragungsfehlern mit ans hlieÿender Kor-
rektur oder Interpolation)
• Störverhalten (Fehlerstruktur) der Übertragungskanäle bzw.
Spei hermedien
LV Kanalkodierung 50
Übertragungsverfahren
1. ARQ [Automati Repeat Request℄
Voraussetzung: Datenkanal in beiden Ri htungen
Im Fehlerfall:
• Wiederholung einer festen Anzahl der letzten Datenblö ke
• selektive Wiederholung einzelner, fehlerbehafteter Datenblö-
ke
(Einsparung Übertragungszeit, aber: datenorganisatoris he
Probleme)
Vorteil: hohe Übertragungsrate bei Kanal mit niedriger
Bitfehlerrate
Na hteile bei hohen oder we hselnden Bitfehlerraten
2. FEC [Forward Error Corre tion℄
Vorteil: kein Rü kkanal
Na hteile bzgl. Redundanz und bei zeitvarianten Kanälen
für gute Kanalabs hnitte Redundanz ine�zient, für s hle hte
Kanalabs hnitte ni ht ausrei hend � Bündelfehler übersteigt
Korrekturfähigkeit des gewählten Kodes
−→ Interleaving, Kodeverkettung, adaptive Anwendung von
ARQ und FEC
LV Kanalkodierung 51
Interleaving
Anwendung: zeitvariante, bündelfehlergestörte Kanäle
−→ Kodewörter werden so ineinander vers ha htelt, dass die
Kodewortelemente in einem bestimmten Abstand zeitli h von-
einander versetzt auf dem Kanal übertragen werden
Einfa hste Anwendung: Blo kinterleaving
m Kodewörter der Länge n werden zeilenweise als Matrix ge-
s hrieben und ans hlieÿend spaltenweise gelesen und übertragen:
−→
u11 u12 u13 ... u1n
u21 u22 u23 ... u2n
u31 u32 u33 ... u3n
. . . . . . . . . . . . . . . . . . . . . .
um1 um2 um3 ... umn
↓
Übertragungsblo k der Länge m · n:
a = (u11 u21 u31 ... um1 u12 u22 ... um2 u13 ... um3 ... umn).
−→ Interleavingtiefe m
BeimDeinterleaving wird der Blo k b spaltenweise mit der Län-
ge m ges hrieben, so dass si h wieder m Zeilen einer Matrix er-
geben.
LV Kanalkodierung 52
Leistungsfähigkeit
Wenn m Zeilen einer Matrix Kodewörter eines fk fehlerkorrigie-
renden Kodes der Länge n sind, dann können im Blo k der Länge
m · n insgesamt fk Bündelfehler der Länge m oder ein Bündel-
fehler der Länge fk ·m vollständig korrigiert werden.
Beispiel
(15, 7, fk = 2)BCH-Kode, I-Tiefe m = 8
−→ Übertragungsblo k a = 8 · 15 Bit= 120 Bit
• Interleaving
1 2 3 . . . 15
16 17 18 . . . 30
31 32 33 . . . 45
46 47 48 . . . 60
61 62 63 . . . 75
76 77 78 . . . 90
91 92 93 . . . 105
106 107 108 . . . 120
• Empfangsblo k b mit einem Bündelfehler der Länge 16:
1,16,31,46,61,76,91,106,2,17,32,47,62,77,92,107,3,18,33,48,63,78,93,...,120
LV Kanalkodierung 53
• Deinterleaving:
1833486378
3
93108
...
...
...
...
...
...
...
...
17324762
163146617691
106
1
77
1530
92
2
107
45607590
120105
Na h Deinterleaving in jeder Zeile nur no h zwei Fehler
−→ können mit Si herheit korrigiert werden
Weitere Kodespreizte hniken:
Faltungsinterleaving (Cross-Interleaving)
heli al Interleaving
Randominterleaving
Anwendungen: u. a. bei CD-Aufzei hnungen, beim Mobilfunk
Vorteil: spart Redundanz, Korrekturfähigkeit muss si h ni ht
mehr am längsten zu erwartenden Bündelfehler orientieren, son-
dern an Anzahl von Fehlern, die na h erfolgtem Deinterleaving
in der Empfangsfolge verbleiben
Na hteil: Zeitverzögerung
LV Kanalkodierung 54
3. Hybride Anwendung von ARQ/FEC (1974) � Hybrid-ARQ
−→ adaptives Übertragungsverfahren
selbsttätiges Anpassen der Korrekturfähigkeit an momentanen
Störungen, in dem man ARQ- und FEC-Verfahren kombiniert
Vorteil: Redundanz angepasst an Eigens haft des Kanals
Kernproblem: Redundante Stellen eines längeren Kodes so
reduzieren, dass au h der verkürzte Kode gute Dekodierungs-
eigens haften besitzt
Keine Änderung von Kodierer und Dekodierer!
Ho hratige Kodes werden eingebettet in niederratige Kodes
glei her Familie!
LV Kanalkodierung 56
6 Fehlerkorrekturverfahren für zyklis he Kodes
6.1 Fehlerkorrektur mit BCH-Kodes
Peterson (1960), Zierler-Gorenstein (1961) � PZG �
Berlekamp-Massey (1969) � BM �
EUKLID (1975)
Jedes Kodepolynom a(x)muss aufgrund der Kodierungsvors hrift
(dmin−1) aufeinanderfolgende Potenzen von α als Nullstellen ha-
ben, nämli h:
α1, α2, α3, ..., αdmin−1=2fk .
Es gilt die Prüfbedingung:
a(x = αj) = 0 für j = 1, 2, ..., 2fk .
Weiterhin gilt: b(x) = a(x) + e(x)
a(x) Kodepolynom (a Kanalkodewort)
e(x) Fehlerpolynom
b(x) Empfangspolynom .
LV Kanalkodierung 57
Der Korrekturalgorithmus für BCH- und RS-Kodes enthält
folgende Haupts hritte
0. r(x) = b(x)mod g(x) = 0 ?
1. Bere hnung der Fehlersyndrome des Empfangspolynoms,
2. Bestimmung des Fehlerstellen- bzw. Lokatorpolynoms aus den
Fehlersyndromen,
3. Bestimmung der Fehlerstellen im Empfangspolynom aus dem
Fehlerstellenpolynom,
4. zusätzli her S hritt für RS-Kodes:
Bere hnung des Fehlerwertes jeder Fehlerstelle.
LV Kanalkodierung 58
1. Bere hnung der Fehlersyndrome
Das Empfangspolynom b(x) ist kein gesendetes Kodepolynom,
wenn es ni ht alle Nullstellen αj (j = 1, 2, ..., 2fk) enthält.
Fehlersyndrome von b(x):
sj = b(x = αj) für j = 1, 2, ..., 2 fk .
Mit b(x) = a(x) + e(x) gilt au h:
sj = a(x = αj) + e(x = αj)
sj = e(x = αj) , da a(x = αj) = 0 .
Für BCH-Kodes gilt auÿerdem:
s2j = s2j ,
d.h. zueinander konjugierte Elemente liefern au h konjugierten
Zusammenhang bei der Syndrombere hnung.
LV Kanalkodierung 59
2. Bestimmung des Lokatorpolynoms σ(x)
(au h Fehlerstellenpolynom)
σ(x) = xν + σ1xν−1 + ... + σν−1x + σν =
ν∏i=1
(x + xi)
Nullstellen xi von σ(x) liefern die Fehlerstellen exp(xi) im
Empfangspolynom b(x) und damit im Fehlerpolynom e(x):
σ(x = xi) = 0 (i = 1, 2, ..., ν) , xi ∈ GF (2k1) ,
wobei Fehleranzahl ν ≤ fk .
Mit Kenntnis der Nullstellen xi lassen si h die Fehlersyndrome
au h wie folgt bere hnen:
sj =ν∑
i=1
yi xji =
ν∑i=1
xji (j = 1, 2, ..., 2fk) , yi = 1 (BCH !).
Weiter:
σ(x = xi) = xνi + σ1xν−1i + ... + σν−1xi + σν = 0 .
Um Zusammenhang zu sj herzustellen, Multiplikation mit xji(und ans hlieÿendem
∑i
bilden)
xj+νi + σ1x
j+ν−1i + ... + σν−1x
j+1i + σνx
ji = 0 .
LV Kanalkodierung 60
Damit erhält man folgendes Glei hungssystem zur Bestim-
mung der Koe�zienten
σ1, σ2, ..., σν:
sj+ν + σ1sj+ν−1 + ... + σν−1sj+1 + σνsj = 0
bzw. (umgestellt)
σνsj + σν−1sj+1 + ... + σ1sj+ν−1 = sj+ν mit j = 1, 2, ..., ν.
Daraus ergeben si h ν = fk Bestimmungsglei hungen für
σi (i = 1, 2, ..., ν):
s1 s2 . . . sν
s2 s3 . . . sν+1
. . . . . . . . . . . . . . . . . .
sν sν+1 . . . s2ν−1
σν
σν−1
.
.
.
σ1
=
sν+1
sν+2
.
.
.
s2ν
.
Bei linearer Abhängigkeit oder Ni htvorhandensein von ν Null-
stellen (3. S hritt) Aufstellen eines reduzierten Glei hungssys-
tems mit ν = ν − 1 Bestimmungsglei hungen.
Bei Reduzierung mehrere Glei hungssysteme und damit Er-
gebnisse, wel he glei h sein müssen, sonst Vorliegen von De-
kodierungsversagen.
LV Kanalkodierung 61
3. Bestimmung der Fehlerstellen im Empfangspolynom als Null-
stellen des Lokatorpolynoms:
σ(x = αj) =
0 −→ xi = αj , exp(xi) = j
sonst
,
wobei j = 0, 1, ..., n− 1 und i = 1, 2, ..., ν .
−→ probieren, ob Elemente αj(endli h viele)
Nullstellen von σ(x) sind
−→ bei Nullstelle Reduzierung von σ(x) um (x + xi)
Korrektur des Empfangspolynoms b(x): (BCH !)
e(x) = xexp(xν) + xexp(xν−1) + ... + xexp(x1)
bkorr(x) = b(x) + e(x)
−→ Dekodierungsmethode:
begrenzte Minimum-Distan e Dekodierung über Fehlersyn-
dromauswertung
−→ Dekodierungsergebnisse:
ri htige, fals he Dekodierung,
Dekodierungsversagen:
2. FK-S hritt: PZG: Glei hungssystem ni ht lösbar
(BM: ν > fk ; EUKLID: Λ0 = 0)
3. FK-S hritt: ν > Anzahl Nullstellen
LV Kanalkodierung 62
Beispiel
Gegeben ist ein (n, l, dmin) = (15, 7, 5)BCH-Kode mit dem Gene-
ratorpolynom g(x) = x8 + x7 + x6 + x4 + 1 ;
M(x) = x4 + x + 1 (primitiv) und GF (24).
Es ist die Empfangsfolge b = (111110111100101) zu überprüfen
und gegebenenfalls zu korrigieren.
Elemente von GF (24)/M(x) = x4 + x + 1 als
Potenzen von α Polynomreste Polynomkoe�zienten
0 0 0 0 0 0
1 1 0 0 0 1
α1 α 0 0 1 0
α2 α2 0 1 0 0
α3 α3 1 0 0 0
α4 α + 1 0 0 1 1
α5 α2 + α 0 1 1 0
α6 α3 + α2 1 1 0 0
α7 α3 + α + 1 1 0 1 1
α8 α2 + 1 0 1 0 1
α9 α3 + α 1 0 1 0
α10 α2 + α + 1 0 1 1 1
α11 α3 + α2 + α 1 1 1 0
α12 α3 + α2 + α + 1 1 1 1 1
α13 α3 + α2 + 1 1 1 0 1
α14 α3 + 1 1 0 0 1
LV Kanalkodierung 63
Auswertung Dekodierungsversagen (DV)
• dmin = 3 : Di htgepa kte Kodes → Kein Dekodierungsversagen!
• dmin = 5 : Dekodierungsversagen bei a. 60% !
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0,00
10,00
20,00
30,00
40,00
50,00
60,00
Prozent
Übertragungsfehler
70,00
80,00
90,00
100,00
DV1 0,00 0,00 0,00 7,69 7,69 5,00 5,00 6,53 6,53 5,00 5,00 7,69 7,69 0,00 0,00 0,00
DV2 0,00 0,00 0,00 52,75 52,75 47,95 47,95 44,76 44,76 47,95 47,95 52,75 52,75 0,00 0,00 0,00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
−→ DV im 2. FK-S hritt wesentli h seltener als im 3. !
• dmin > 5, k1 > 4 : Dekodierungsversagen bei über 80%
(kaum no h Fals hkorrekturen!)!
0
10
20
30
40
50
60
70
80
90
100
(31, 21, 5) (31, 16, 7) (31, 11, 9) (31, 11, 11) (31, 6, 13) (31, 6, 15) (31, 1, 17) (31, 1, 19)
BCH-Kode
Pro
zen
t DV1
DV2
DV
Interessant: Fehlermuster für Dekodierungsversagen bekannt, dann
au h n− 1 weitere dur h zyklis he Vers hiebung!
LV Kanalkodierung 64
BCH: y
i
= 1
Fehlersyndrom{ Lokatorpolynom Fehlerstellen{ Fehlerwert{ Fehlerkorrektur
b(x) bere hnung s
j
grad(�(x)) = � �(x) bere hnung x
i
bere hnung y
i
b
korr
(x)
s
j
= b(x = �
j
)
(j = 1; 2; :::; 2f
k
)
PZG, BM, EUKLID x
i
(i = 1; 2; :::; �) s
j
=
�(�)
P
i=1
y
i
x
j
i
b
korr
(x) =
b(x) + e(x)
A u s l
�
o s h u n g � � 2f
k
Dekodierversagen
LV Kanalkodierung 65
6.2 Fehlerkorrektur mit RS-Kodes
Korrekturalgorithmus entspre hend Abs hn. 6.1 ;
Zusätzli her S hritt (4.):
Bere hnung der Fehlerwerte an den Fehlerstellen in e(x)
• im binären Fall (BCH-Kode)
sj =ν∑
i=1
yi xji =
ν∑i=1
xji ,
weil ui ∈ GF (2) und damit yi = 1
• für den ni htbinären Fall (RS-Kode)
sj =ν∑
i=1
yi xji ,
weil ui ∈ GF (2k1) und damit au h yi ∈ GF (2k1)
−→ Fehlerwerte yi bestimmen!
Ausführung der Korrektur:
Entspre hend bkorr(x) = b(x) + e(x)
müssen die fehlerhaften Koe�zienten uexp(xi) in b(x) und die
Fehlerwerte yi in e(x) addiert werden:
uexp(xi),korr = u
exp(xi) + yi für i = 1, 2, ..., ν ;
e(x) = yνxexp(xν) + yν−1x
exp(xν−1) + ... + y1xexp(x1) .
LV Kanalkodierung 66
Beispiel
Gegeben sei ein RS-Kode über GF (23), M(x) = x3 + x + 1, mit
dmin = 3.
Das Kodepolynom
a(x) = α5x6 + α5x5 + α6x4 + α0x3 + α5x2 + α2x + α5
soll na h einer gestörten Übertragung als
b(x) = α5x6 + α3x5 + α6x4 + α0x3 + α5x2 + α2x + α5
empfangen werden. Korrigieren Sie!
Elemente von GF (23)/M(x) = x3 + x + 1 als
Potenzen von α Polynomreste Polynomkoe�zienten
Nullelement 0 0 0 0
α0 1 0 0 1
α1 α 0 1 0
α2 α2 1 0 0
α3 α + 1 0 1 1
α4 α2 + α 1 1 0
α5 α2 + α + 1 1 1 1
α6 α2 + 1 1 0 1
LV Kanalkodierung 67
Auswertung Dekodierungsversagen (DV)
Zum Verglei h mit BCH-Kodes !
• dmin = 3 : Dekodierungsversagen mögli h, < 10%!
(15, 13, fk = 1)RS: fk = 1, k1 = 2, 3, ..., 8:
0 1 2 3 4 5 6 7 8 9 10
0
10
20
30
40
50
60
70
80
90
FK
DV(2)
DV(3)
rel. H
äu
fig
keit in
%
2 3 4 5 6 7 8
0
10
20
30
40
50
60
70
80
90
100
FK
DV(2)
DV(3)
rel. H
äu
fig
keit in
%
• dmin = 5 : Dekodierungsversagen bei a. 50% !
(15, 11, fk = 2)RS: fk = 2, k1 = 2, 3, ..., 8:
0 1 2 3 4 5 6 7 8 9 10
0
5
10
15
20
25
30
35
40
45
50
55
60
65
FK
DV(2)
DV(3)
rel. H
äu
fig
keit in
%
2 3 4 5 6 7 8
05
10
1520
2530
3540
4550
5560
6570
7580
FK
DV(2)
DV(3)
rel. H
äu
fig
keit in
%
−→ DV im 2. FK-S hritt wesentli h seltener als im 3. !
LV Kanalkodierung 68
• dmin > 5 : Dekodierungsversagen bei über 80% !
(15, 9, fk = 3)RS: k1 = 4, fk = 1, 2, ..., 7:
0 1 2 3 4 5 6 7 8 9 10
0
10
20
30
40
50
60
70
80
90
FK
DV(2)
Dv(3)
rel. H
äu
fig
keit in
%
1 2 3 4 5 6 7 8
0
10
20
30
40
50
60
70
80
90
100
Falschkorrek-turen
DV(2)
DV(3)
rel. H
äu
fig
keit in
%
Interessant:
Für k1 ≥ 4 und fk ≥ 4 zeigen BCH- und RS-Kodes ein verglei h-
bares Verhalten beim Dekodierungsversagen!
−→ Nur no h 2 Dekodierungsergebnisse: Ri htig oder Versagen!
LV Kanalkodierung 69
6.3 Auslös hungskorrektur
�Auslös hung� [erasure℄:
fehlerhaftes Element in einer Empfangsfolge, dessen Fehlerstel-
le bekannt ist.
Dur h einen Fehlerdetektor werden diejenigen Stellen in der Emp-
fangsfolge, die mit groÿer Wahrs heinli hkeit fals h sind, gekenn-
zei hnet (ausgelös ht) −→ Auslös hungsvektor U ;
U = (x1, x2, ..., xρ) , ρ ≤ 2fk .
Na hri htenübertragungsmodell:
KK Modulator Demod. Detektor KDb*a* a
b
UÜbertragungskanal
Ü-Weg
Vorteil: Anzahl der korrigierbaren Auslös hungen (mit bekann-
ten Positionen) ist doppelt so groÿ wie die Anzahl zufällig ver-
teilter korrigierbarer Fehler (mit unbekannten Positionen).
Es können dmin − 1 = 2fk Fehlersyndrome bere hnet und damit
maximal 2fk Glei hungen zur Bestimmung der Fehlerwerte (an
ausgelös hten Stellen!) aufgestellt werden:
sj =ρ∑
i=1
yi xji , j = 1, 2, ..., ρ ≤ 2fk.
Beispiel (7, 5, 1)RS: b = (α5α50α0α5
0α5) ; U = (α1, α4)
(7, 4, 1)BCH: b = (0000110) ; U = (α4, α6)
LV Kanalkodierung 70
Fazit: Nur no h Auslös hungsstellen betra hten?
−→ GMD[generalized minimum-distan e℄ Dekodierung
LV Kanalkodierung 71
Auslös hungs- und Fehlerkorrektur
[errors-and-erasures de oding℄
ρ ≤ dmin − 1 = 2fk Auslös hungsstellen
ν ≤dmin − 1
2= fk zufällige Fehler
2 ν + ρ ≤ dmin − 1 −→ ν ≤dmin − 1− ρ
2=
2fk − ρ
2
−→ BM-, EUKLID-Algorithmus
−→ GMD[generalized minimum-distan e℄ Dekodierung
(FORNEY 1965):
(fk + 1)-Dekodierungsläufe mit
ρ = 0 (2) 2fk und ν = fk (−1) 0 ,
d.h. erste Dekodierung basiert nur auf Fehlerkorrektur zu-
fälliger Fehler, im Folgenden Auslös hung der jeweils zwei
unzuverlässigsten Elemente
→ maximal (fk + 1) rekonstruierte Folgen bkorr,i (i=1,2,...,fk+1)
→ Auswahl der zu bM ges hlossensten Folge bkorr,i :
zi =n·k1∑j=1
(−1)uij · sign yj (i = 1, 2, ..., fk + 1), yj ∈ R
zi > (n− dmin)k1 ?
→ �gere htfertigter� Aufwand?
LV Kanalkodierung 72
Anwendung von Auslös hungskorrektur
(RS-Kodes besonders geeignet)
• Adaptive Übertragung
no h ni ht übertragene redundante Stellen werden als Auslö-
s hungsstellen betra htet, Rekonstruktion?
nein −→ weitere redundante Stellen
• Kodeverkettung mit Interleaving (Musik-CD's)
innerer Kode wird bei ν > 1 komplett ausgelös ht
−→ dur h Deinterleaving Zerlegung des Bündelfehlers in re-
konstruierbare Einzelfehler bzw. kleine Bündelfehler
(Nur Auswertung von ν = 1 erhöht die Fehlererkennungswahr-
s heinli hkeit und senkt die Wahrs heinli hkeit unentde kter
Fehler � Fals hkorrekturen, vgl. Folie 67 � !)
• NASA-Standard: �Vorhersage� von Fehlerstellen für äuÿeren
RS-Kode, mögli h bei Kenntnis der Fehlerstruktur
• Information Dispersal Algorithmen � Fehlertolerante Kodes
für parallele Spei hersysteme (RAID-6);
Anwendung von Cau hy RS-Kodes:
spezielle sparsame (Generator-)Matrizen, die nur⊕-Operationen
mögli h ma hen
−→ Fehlerstellen bekannt, aber ni ht aus den Signalwerten yj!!