V L o Kanalkdierung 1 - tu-dresden.de · V L o Kanalkdierung 3 1957 erste Diskussionen üb er he...

76

Transcript of V L o Kanalkdierung 1 - tu-dresden.de · V L o Kanalkdierung 3 1957 erste Diskussionen üb er he...

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!!