Untersttzende Materialien zur Vorlesung Verfahren zur Kanalcodierung Teil

  • Slides: 47
Download presentation
Unterstützende Materialien zur Vorlesung Verfahren zur Kanalcodierung – Teil 4 Prof. Dr. Bernd Friedrichs

Unterstützende Materialien zur Vorlesung Verfahren zur Kanalcodierung – Teil 4 Prof. Dr. Bernd Friedrichs KIT CEL Inhalt • Nebenklassen-Zerlegung, Syndrom-Decodierung • Definition zyklischer Codes und Polynombeschreibung • Generatorpolynom • Prüfpolynom • Systematische Encodierung • Syndrom • Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes • Korrektur von Einzelfehlern und Bündelfehlern

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 2 2 Medizinische Fachbegriffe Symptom = Anzeichen einer

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 2 2 Medizinische Fachbegriffe Symptom = Anzeichen einer Krankheit; für eine Krankheit charakteristische Erscheinungen Syndrom = durch das gemeinsame Auftreten bestimmter charakteristischer Symptome gekennzeichnetes Krankheitsbild

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 3 2

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 3 2

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 4 2

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 4 2

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 5 2 Diese Zerlegung sieht aufwendig aus, und

4. 6 Nebenklassen-Zerlegung Teil 4, Seite 5 2 Diese Zerlegung sieht aufwendig aus, und enthält doch nicht mehr Informationen als die kompakte Generatormatrix Der Vorteil der Zerlegung wird sich bei der Decodierung erweisen. = M 7

4. 7 Syndrom-Decodierung Teil 4, Seite 6 2

4. 7 Syndrom-Decodierung Teil 4, Seite 6 2

4. 7 Syndrom-Decodierung Teil 4, Seite 7 2 Beispiel: y = 10101 • Nebenklassen-Decod.

4. 7 Syndrom-Decodierung Teil 4, Seite 7 2 Beispiel: y = 10101 • Nebenklassen-Decod. : y liegt in M 4, also µ=4, e 4=01000, also ậ=11101 • Syndrom-Decod. : y liefert s=y. HT=011, also µ=4 bzw. v=3, also eµ=ev=01000, also ậ=11101 Sv entspricht v und braucht deshalb nicht gespeichert zu werden

4. 7 Syndrom-Decodierung Teil 4, Seite 8 2

4. 7 Syndrom-Decodierung Teil 4, Seite 8 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 9 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 9 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 10 2 nebenstehender Encoder

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 10 2 nebenstehender Encoder

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 11 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 11 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 12 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 12 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 13 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 13 2

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Teil 4, Seite 14 2

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Teil 4, Seite 14 2 Setze K[x] = Fq[x]

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Teil 4, Seite 15 2

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Teil 4, Seite 15 2

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Setze K[x] = Fq[x] Teil

5. 1 Definition zyklischer Codes und Polynombeschreibung / Modulo-Rechnung Setze K[x] = Fq[x] Teil 4, Seite 16 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 17 2

5. 1 Definition zyklischer Codes und Polynombeschreibung Teil 4, Seite 17 2

5. 2 Generatorpolynom Teil 4, Seite 18 2

5. 2 Generatorpolynom Teil 4, Seite 18 2

5. 2 Generatorpolynom Teil 4, Seite 19 2

5. 2 Generatorpolynom Teil 4, Seite 19 2

5. 2 Generatorpolynom Teil 4, Seite 20 2 Die Polynom-Multiplikation a(x)=u(x)g(x) bedeutet Faltung der

5. 2 Generatorpolynom Teil 4, Seite 20 2 Die Polynom-Multiplikation a(x)=u(x)g(x) bedeutet Faltung der Polynom-Koeffizienten Die Matrix-Multiplikation a=u. G mit dem speziellen Aufbau von G bedeutet ebenfalls Faltung der Koeffizienten

5. 3 Prüfpolynom Teil 4, Seite 21 2

5. 3 Prüfpolynom Teil 4, Seite 21 2

5. 3 Prüfpolynom Teil 4, Seite 22 2

5. 3 Prüfpolynom Teil 4, Seite 22 2

Zusammenfassung Polynome und Matrizen Polynom-Multiplikation = Faltung der Koeffizienten = Matrizen-Multiplikation mit Bandstruktur Teil

Zusammenfassung Polynome und Matrizen Polynom-Multiplikation = Faltung der Koeffizienten = Matrizen-Multiplikation mit Bandstruktur Teil 4, Seite 23 2

5. 3 Prüfpolynom Teil 4, Seite 24 2

5. 3 Prüfpolynom Teil 4, Seite 24 2

5. 3 Prüfpolynom Teil 4, Seite 25 2

5. 3 Prüfpolynom Teil 4, Seite 25 2

Zusammenfassung Matrizen und Polynome Teil 4, Seite 26 2

Zusammenfassung Matrizen und Polynome Teil 4, Seite 26 2

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 27 Jeder zyklische Code

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 27 Jeder zyklische Code kann systematisch encodiert werden (denn der zyklische Code hat eine Generatormatrix die in systematische Form überführt werden kann wobei der Code identisch bleibt). 2 Die direkte Encodierung gemäß a(x)=u(x)g(x) erzeugt einen nicht-systematischen Code und wird deshalb nicht verwendet.

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 28 2 Aufwand: k

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 28 2 Aufwand: k = #Shifts, n-k = Registerlänge Insgesamt also k(n-k)=n 2 R(1 -R) Add-Mult-Ops. Bei q=2 entfallen die Multiplikationen (Leitung vorhanden oder nicht) Die Additionen sind parallelisierbar

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 29 2

5. 4 Systematische Encodierung / via Generatorpolynom Teil 4, Seite 29 2

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 30 2

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 30 2

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 31 2 Aufwand: n-k

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 31 2 Aufwand: n-k = #Shifts, k = Registerlänge Insgesamt also (n-k)k=n 2 R(1 -R) Add-Mult-Ops. Bei q=2 entfallen die Multiplikationen (Leitung vorhanden oder nicht) Die Additionen sind sequentiell auszuführen (nicht parallelisierbar)

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 32 2

5. 4 Systematische Encodierung / via Prüfpolynom Teil 4, Seite 32 2

5. 4 Systematische Encodierung / Zusammenfassung Teil 4, Seite 33 2

5. 4 Systematische Encodierung / Zusammenfassung Teil 4, Seite 33 2

Zusammenfassung Polynome Teil 4, Seite 34 2

Zusammenfassung Polynome Teil 4, Seite 34 2

5. 5 Syndrom Teil 4, Seite 35 2

5. 5 Syndrom Teil 4, Seite 35 2

5. 5 Syndrom Teil 4, Seite 36 2 Aufwand: n = #Shifts, n-k =

5. 5 Syndrom Teil 4, Seite 36 2 Aufwand: n = #Shifts, n-k = Registerlänge Insgesamt also n(n-k)=n 2(1 -R) Add-Mult-Ops. Bei q=2 entfallen die Multiplikationen (Leitung vorhanden oder nicht) Die Additionen sind parallelisierbar

5. 5 Syndrom Teil 4, Seite 37 2

5. 5 Syndrom Teil 4, Seite 37 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 38 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 38 2 Kanaltyp Statistische Beschreibung Leistungsfähigkeit des Codes wird erfasst durch Einzelfehler = gedächtnislos statistisch unabhängig, binomialverteilt Fehlerwahrscheinlichkeit, Codierungsgewinn Bündelfehler = gedächtnisbehaftet keine Länge und Anzahl der erkennbaren (korrigierbaren) Bündelfehler, kein Pb oder Pw

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 39 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 39 2 e = 00… 001**. . **00. . 00 i) b(x) Länge = t e = **. . **00… 001**. . ** i) b(x) Länge = t mathematisch sinnvoll, physikalisch abwegig

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 40 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 40 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Beispiel 5. 7 Teil 4,

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Beispiel 5. 7 Teil 4, Seite 41 2 nicht-zyklisch, schlechte Bündelfehlererkennung zyklisch, gute Bündelfehlererkennung Achtung: Dieses Beispiel in der deutschen Version des Buches war fehlerhaft

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 42 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 42 2 Die Quote der erkennbaren Bündelfehler bei t‘ > n-k ist weniger wichtig.

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 43 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 43 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 44 2

5. 6 Erkennung von Einzelfehlern und Bündelfehlern sowie CRC-Codes Teil 4, Seite 44 2 CRC-Codes werden oft als verkürzte Codes (siehe Definition 4. 6) betrieben, sind dann aber nicht mehr zyklisch. In internationalen Standards sind CRC-Generatorpolynome genormt:

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 45 2

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 45 2

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 46 2 Obige Bemerkungen

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 46 2 Obige Bemerkungen sind ziemlich formal(istisch) und eher unbedeutend – denn bei der Einführung von RS-Codes zur Korrektur von Bündelfehlern wird dies alles wieder in einem neuen Licht erscheinen!

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 47 2 Nochmals: die

5. 7 Korrektur von Einzelfehlern und Bündelfehlern Teil 4, Seite 47 2 Nochmals: die üblichen RS-Codes zur Korrektur von Bündelfehlern basieren auf einer etwas anderen Sichtweise auf Bündelfehler.