Hochgeladen von Nutzer5219

Kanalcodierung-muth

Werbung
Kanalcodierung
Information und Codierung
InCO Team: G. Groppo, K. Hauser, Th. Müller,
M. Rosenthal, J. Stettbacher, T. Welti
Ziele
◼
Sie können:
• den Unterschied zw. Forward und Backward Error Correction an je einem
•
•
•
•
•
•
•
•
Beispiel erklären
Sinn von Frames in der Kommunikation erklären
Vor- und Nachteil von langen Frames nennen und begründen
aus einer Bitfehlerwahrscheinlichkeit die Framefehlerwahrscheinlichkeit
bestimmen
die Mehr-Bit-Fehlerwahrscheinlichkeit einer Sequenz berechnen
die Kanalkapazität eines symmetrischen binären Kanals bestimmen
den Begriff der Hamming-Distanz definieren
die Grenzen der Fehlererkennung Funktion der Hamming-Distanz herleiten
die Coderate R eines binären Block-Codes bestimmen
Kapitel 0 - 2
ZHAW, Information und Codierung
18.11.2019
Inhalt
◼
Prinzip der Fehlerkorrektur (Forward/Backward Error Correction)
◼
Binäre symmetrische Kanäle (BSC)
◼
Einfluss der Frame-Länge auf den Durchsatz
◼
Mehr-Bit-Fehlerwahrscheinlichkeiten
◼
Grundlagen zur Fehlererkennung
• Entropie und Kanalkapazität eines BSC
• Hamming-Distanz
• Binäre Blockcodes
• Coderate R
• Systematik
Kapitel 0 - 3
ZHAW, Information und Codierung
18.11.2019
Übersicht
+ Redundanz
◼
Ist es möglich, über einen Kanal, der bei der Übertragung Fehler macht,
Daten fehlerfrei zu übertragen?
Kapitel 0 - 4
ZHAW, Information und Codierung
18.11.2019
Restlicher Zeitplan
SW# Vorlesung:
10
Kanalcodierung
Übung / Praktikum:
9 Übung Kanalcodierung (BSC)
Kanalmodell (BSC) für ein Bit; Kanalkapazität;
Coderate;
Hamming-Distanz/-Gewicht;
Minimum-Distance-Decoding.
11
Fehlererkennung
10 Übung ‚CRC‘ mit Schieberegister
Wichtigste Verfahren zur Fehlererkennung
(Parität, CRC, Checksumme)
Matrizenrechnung für das Verständnis der
Blockcodes
12
Fehlerkorrigierende Codes
11 Übung Fehlerkorrektur (Blockcode 1)
Block-Code; Hamming-Codes; Syndrom-/TableLookup-Decoding
13
Faltungscode
12 Übung Faltungscodes (Python Trellis)
Ausgabe einer Trainingsprüfung
14
Kapitel 0 - 5
Repetition und Fragen zum Stoff allgemein
13 Reserve
ZHAW, Information und Codierung
18.11.2019
Einteilung der Fehlerkorrekturverfahren
◼
Backward Error Correction (Rückwärtsfehlerkorrektur)
• Die Redundanz erlaubt lediglich, Fehler zu erkennen und eine
•
◼
Neuübertragung der Daten anzufordern:
Im Folgenden behandelte Verfahren sind:
- Blockcodes
- CRC
Forward Error Correction (Vorwärtsfehlerkorrektur)
• Die von der Kanalcodierung hinzugefügte Redundanz reicht, um beim
•
Empfänger Fehler zu korrigieren:
Im Folgenden behandelte Verfahren sind:
- Blockcodes
- Minimum-Distance-Decoding
- Faltungscodes
Kapitel 10 - 6
ZHAW, Information und Codierung
18.11.2019
Fehlerkorrektur: Backward Error Correction
Wie erkennt man eine
fehlerhafte Nachricht?
Kapitel 0 - 7
ZHAW, Information und Codierung
18.11.2019
Fehlerkorrektur: Backward Error Correction
◼
Nachteile des obigen Verfahrens?
• Es ist ein Rückkanal erforderlich
• Sender wartet auf Quittung (im Normalbetrieb)
• Sender wartet im Fehlerfall auf Timeout;
→ mögliche Abhilfe: Verwendung einer negativen Bestätigung
◼
Nicht anwendbar im Falle von
• Datenauslöschungen:
• einmaligen Ereignissen (z.B. Raumsonde)
• zu hoher Fehlerwahrscheinlichkeit
◼
Typisches Software-Verfahren für Transport-Dienste z.B. TCP
→ wird im Modul IT.KT genau betrachtet
Kapitel 0 - 8
ZHAW, Information und Codierung
18.11.2019
Kanalcodierungstheorem
◼
Das Kanalcodierungstheorem beschreibt, unter welcher Bedingung sich
die Wahrscheinlichkeit von Fehlern beliebig reduzieren lässt.
◼
Begriffe:
• Kanalmodell
- Binärer Symmetrischer Kanal
• Bitfehlerwahrscheinlichkeit BER (Bit Error Ratio).
• Binärer Symmetrischer Kanal
• Kanalkapazität
• Hamming-Gewicht
• Hamming-Distanz
• Coderate
Kapitel 0 - 9
ZHAW, Information und Codierung
18.11.2019
Binäre Kanäle
◼
Binäre Kanäle können nur die Werte 0 und 1 übertragen
• Übertragungsfehler wirken sich demnach dadurch aus, dass im Verlauf der
Übertragung einzelne Werte von 0 in 1 umgewandelt werden oder
umgekehrt.
◼
ε ist die Bitfehlerwahrscheinlichkeit (BER – Bit Error Ratio)
(Nicht: Bitfehlerrate = Bitfehler pro Zeit)
Kapitel 0 - 10
ZHAW, Information und Codierung
18.11.2019
Bitfehlerwahrscheinlichkeit
◼
Die Bitfehlerwahrscheinlichkeit ε ist eine Eigenschaft des Kanals.
• Anzahl fehlerhafte Bits im Verhältnis zu Gesamtzahl der Bits.
• Beispiele: Wir betrachten die Bits Yk beim Empfänger:
◼
Alle Bits falsch:
Kein Bit falsch:
1 von 2 Bits falsch:
1 von 1000 Bits falsch:
BER = 1
BER = 0
BER = 0.5
BER = 0.001
Ein asymmetrischer Kanal hat unterschiedliche Wahrscheinlichkeiten
ε0→1 also dass eine 0 zu einer 1 wird und
ε1→0 also dass eine 1 zu einer 0 wird.
◼
Im Folgenden beschränken wir uns auf die Betrachtung des binären
symmetrischen Kanals, wo die beiden Wahrscheinlichkeiten gleich sind:
ε0→1 = ε1→0 = ε
Kapitel 0 - 11
ZHAW, Information und Codierung
18.11.2019
Binary Symmetric Channel (BSC)
◼
Für den binären symmetrischen Kanal gilt:
(englisch: Binary Symmetric Channel, BSC)
• Die Fehlerwahrscheinlichkeit ε ist unabhängig vom Eingangssymbol.
• Die Wahrscheinlichkeiten 𝑃 𝑦𝑚 𝑥𝑛 der Übergänge (bei gegebenem 𝑥𝑛 ) sind:
Sender
Kapitel 0 - 12
Empfänger
ZHAW, Information und Codierung
18.11.2019
Datenrahmen
◼
Für die Übertragung oder Speicherung werden die Daten oft in Blöcke,
sogenannte Datenrahmen (engl. Frame) aufgeteilt.
• Der Beginn eines Datenrahmens liegt typischerweise an einer Byte-Grenze
• Beispiel: Start
Start
Ruhe
Ruhe
Datenrahmen
Ruhe
Datenrahmen
t
• Dieser besteht meist aus einem Header, der u.A. die Anzahl der Elemente im
Datenblock enthält, dem Datenblock und einem Code für die Fehlererkennung
Header
Datenblock mit Nutzbits
Fehlererkennung
Frame-Länge N
• Für die Dimensionierung der Rahmengrösse ist es wichtig, die Fehlerwahrscheinlichkeit bezogen auf N Bits zu kennen.
13
ZHAW, Information und Codierung
18.11.2019
Fehlerwahrscheinlichkeit eines Datenblocks
◼
Mit der BER ε lässt sich die Wahrscheinlichkeit 𝑃0,𝑁 ausrechnen, mit der
eine Sequenz von 𝑁 Datenbits korrekt (also mit null Bitfehlern)
übertragen wird.
• A sei eine grosse Anzahl Frames mit der Länge 𝑁 Bit
• Wie viele Frames 𝐴1 von A werden im 1. Bit keinen Fehler haben?
𝐴1 = 𝐴 1 − ε
• Wieviel der verbleibenden, korrekten Frames 𝐴1 werden auch im 2. Bit noch
fehlerfrei sein?
𝐴2 = 𝐴1 1 − ε = 𝐴 1 − ε 1 − ε = 𝐴 1 − ε 2
…
• Wieviel Frames sind nach der Übertragung des 𝑁. Bits noch fehlerfrei?
𝐴𝑁 = 𝐴 1 − ε 𝑁
𝐴𝑁
𝐴
= 1−𝜀
𝑁
◼
Erfolgswahrscheinlichkeit: 𝑃0,𝑁 =
◼
Fehlerwahrscheinlichkeit auf 𝑁 Datenbits = 1 - 𝑃0,𝑁 = 1 − 1 − ε
wobei für 𝑁 ∙ 𝑝𝑒 ≪ 1 folgende Näherung gilt: 1 − ε
Kapitel 0 - 14
𝑁
𝑁
≅ 1−𝑁∙ε
ZHAW, Information und Codierung
18.11.2019
Beispiel: Bitfehlerwahrscheinlichkeit
◼
Wahrscheinlichkeit fehlerfreier Frames 𝑃0,𝑁 in Funktion der Länge 𝑁 bei
verschiedenen Bitfehlerwahrscheinlichkeiten ε
𝑃0,𝑁 = 1 − ε
𝑁
100%
𝑃0,𝑁 ≅ 1 − 𝑁 ∙ 𝜀
90%
ε=
80%
1.00E-02
70%
1.00E-03
60%
1.00E-04
50%
1.00E-05
37%
40%
1
𝑁=
𝜀
30%
20%
10%
0%
10
100
1’000
10’000
100’000
1’000’000
Frame-Länge [bit]
Kapitel 0 - 15
ZHAW, Information und Codierung
18.11.2019
Mehr-Bit-Fehlerwahrscheinlichkeit einer Sequenz
◼
Die Wahrscheinlichkeit PF,N , dass in einer Sequenz von N Datenbits
genau F Bitfehler auftreten, ist:
Anzahl der Möglichkeiten
F Fehler in N Bits
anzuordnen.
𝑁
ist der sogenannte
𝐹
Binomialkoeffizient
aus der
Kombinatorik
(s. nächste Folie)
Kapitel 0 - 19
Wahrscheinlichkeit für
einen F-fachen Bit-Fehler
Wahrscheinlichkeit,
dass die restlichen
Bits (N-F) alle keinen
Fehler haben.
ZHAW, Information und Codierung
18.11.2019
Bestimmung des Binomialkoeffizienten
𝑛
ist der 𝑘-ter Koeffizienten der Potenz des Binoms 𝑥 + 𝑦 𝑛
𝑘
𝑛
𝑛!
◼ Bestimmung / Berechnung für kleine 𝑛:
=
wobei 𝑘 ≤ 𝑛
𝑘!∙ 𝑛−𝑘 !
𝑘
◼
• Pascalsches Dreieck
𝑛
Der Koeffizienten
befindet sich in
𝑘
der 𝑛 -ten Zeile an der 𝑘-ten Stelle:
◼
Bessere Formel für grosse 𝑛:
𝑘
𝑛−𝑘+1
𝑛
=ෑ
𝑘
𝑖
𝑖=1
• Als Programm-Code:
Zeile (n)
0
1
2
1
Beispiel:
6
= 15
2
3
1
1
1
4
1
5
1
1
2
3
4
5
if (2*k > n) k = n-k; //Optim.
ergebnis = 1;
for (i = 1; i <= k; i++)
ergebnis *= (n - k + i) / i;
1
3
6
10
1
4
10
1
5
• Wissenschaftliche Rechner haben für
1
6
1
6
15
20
15
6
1
Spalte (k)
0
1
2
3
4
5
6
Kapitel 0 - 20
𝑛
i.A. eine spezielle Funktion z.B.
𝑘
nCk für “n choose k”
ZHAW, Information und Codierung
18.11.2019
Mehr-Bit-Fehlerwahrscheinlichkeit einer Sequenz
◼
Für die Wahrscheinlichkeit, dass maximal F Fehler bei einer Übertragung von N Bits auftreten, bilden wir die Summe aller Fälle:
𝐹
𝑃≤𝐹,𝑁 = ෍
𝑡=0
𝑁
∙ 𝜀𝑡∙ 1 − 𝜀
𝑡
𝑁−𝑡
◼
Oft will man die Restfehlerwahrscheinlichkeit wissen, also die
Wahrscheinlichkeit, dass mehr als F Fehler bei einer Übertragung von
N Bits auftreten:
1 − 𝑃≤𝐹,𝑁
◼
Sie lässt sich wegen der Ziffernauslöschung (sehr kleine Summanden)
aber nur schwer berechnen. Darum ist die folgende Form besser,
welche alle Fälle mit F+1 bis N Fehlern berechnet:
𝑁
𝑃>𝐹,𝑁 = ෍
𝑡=𝐹+1
21
𝑁
∙ 𝜀𝑡∙ 1 − 𝜀
𝑡
𝑁−𝑡
ZHAW, Information und Codierung
18.11.2019
Beispiel: Restfehlerwahrscheinlichkeit
◼
Es wird jede Sekunde seine Sequenz von 31 Bit übertragen. Wie viele Fehler müssen pro
Sequenz korrigiert werden, damit die Restfehlerwahrscheinlichkeit < 1 Fehler/Jahr wird?
1 Stunde: 2.7 E-4
1 Tag: 1.16 E-5
1 Jahr: 3.17 E-8
Kapitel 0 - 22
ZHAW, Information und Codierung
18.11.2019
Rückblick: Binary Memoryless Source (BMS)
Die Entropie Hb einer Binary Memoryless Source (BMS) mit den
Symbolwahrscheinlichkeiten p und 1 – p war:
Maximale
Entropie bei
p = (1-p) = 0.5
Kapitel 0 - 23
ZHAW, Information und Codierung
18.11.2019
Kanalkapazität des BSC
◼
Wir suchen die Kanalkapazität eines BSC bei einer bestimmten
Bitfehlerwahrscheinlichkeit BER.
• Die maximale Kanalkapazität entspricht dem Maximum der Entropie einer
•
binären Quelle: 1 bit/Symbol = 1 bit/bit
Die Fehlerquelle kann ebenfalls als Binary Memoryless Source mit den
Wahrscheinlichkeiten ε (Fehler) und 1-ε (kein Fehler) betrachtet werden.
Fehlerquelle
Fehlerentropie H(ε)
binäre
DatenQuelle
Kapitel 0 - 24
maximale
Kanalkapazität
1 bit/bit
nutzbare
Kanalkapazität
ZHAW, Information und Codierung
18.11.2019
Kanalkapazität des BSC
Entropie der Störquelle
Kapazität des fehlerfreien BSC
bei 𝑃 𝑥0 = 𝑃 𝑥1 = 0.5
Kapitel 0 - 25
ZHAW, Information und Codierung
18.11.2019
Verbundwahrscheinlichkeiten eines BSC
𝑃 𝑥1
𝑥1 = 1
𝑃 𝑥1 ∙ (1 − 𝜀)
𝑃 𝑥1 ∙ 𝜀
𝑃 𝑥0 ∙ 𝜀
𝑃 𝑥0
Summe = 1
𝑥0 = 0
𝑃 𝑥0 ∙ (1 − 𝜀)
𝑦1 = 1
𝑃 𝑦1
𝑦0 = 0
𝑃 𝑦0
Summe = 1
Summe = 1
𝑃 𝑦1 = 𝑃 𝑥1 ∙ 1 − 𝜀 + 𝑃 𝑥0 ∙ 𝜀
𝑃 𝑦0 = 𝑃 𝑥0 ∙ 1 − 𝜀 + 𝑃 𝑥1 ∙ 𝜀
Kapitel 0 - 26
ZHAW, Information und Codierung
18.11.2019
Verbundwahrscheinlichkeiten eines BSC
◼
Beispiel: BSC mit 𝜀 = 0.01 und Quelle mit 𝑃 𝑥0 = 0.05
𝑃 𝑥1 = 1 − 𝑃 𝑥0
= 0.95
𝑃 𝑥1
𝑥1 = 1
𝑃 𝑥1 ∙ 1 − 𝜀 = 0.95 ∙ 0.99 = 0.9405
𝑦1 = 1
𝑃 𝑦1
𝑦0 = 0
𝑃 𝑦0
𝑃 𝑥1 ∙ 𝜀 = 0.95 ∙ 0.01 = 0.0005
𝑃 𝑥0 = 0.05
𝑃 𝑥0
𝑃 𝑥0 ∙ 𝜀 = 0.95 ∙ 0.01 = 0.0095
𝑥0 = 0
𝑃 𝑥0 ∙ (1 − 𝜀) = 0.05 ∙ 0.99 = 0.0495
Summe = 1
Summe = 1
𝑃 𝑦1 = 𝑃 𝑥1 ∙ 1 − 𝜀 + 𝑃 𝑥0 ∙ 𝜀 = 0.9405 + 0.0005 = 0.9410
Summe = 1
𝑃 𝑦0 = 𝑃 𝑥0 ∙ 1 − 𝜀 + 𝑃 𝑥1 ∙ 𝜀 = 0.0495 + 0.0095 = 0.0590
Kapitel 0 - 27
ZHAW, Information und Codierung
18.11.2019
Entropien eines BSC
◼
Die Verbund-Wahrscheinlichkeiten ergeben folgende -Entropien:
𝑃 𝑥1
𝑃 𝑥0
𝑥1 = 1
𝑥0 = 0
Entropie am Eingang:
Kapitel 0 - 28
𝑃 𝑥1 ∙ (1 − 𝜀)
𝑃 𝑥1 ∙ 𝜀
𝑃 𝑥0 ∙ 𝜀
𝑃 𝑥0 ∙ (1 − 𝜀)
𝑦1 = 1
𝑃 𝑦1
𝑦0 = 0
𝑃 𝑦0
Entropie an Ausgang:
ZHAW, Information und Codierung
18.11.2019
Entropien eines BSC
◼
Beispiel: Fehlerfreier Kanal
P(x0)=
H(x1)
0.050
0.070
BER ε=
0
X
1
0.070
Y
1
0.070 H(y1)
0.216
0
0.216 H(y0)
0.000
0.000
H(x0)
0.216
H(X)
0.286
◼
0
0.286 H(Y)
Durchgängig gleiche Entropie: H(x) = H(y)
Kapitel 0 - 29
ZHAW, Information und Codierung
18.11.2019
Entropien eines BSC
◼
Beispiel: Kanal ohne Information (nur Einsen)
P(x0)=
H(x1)
0
0.000
BER ε=
0.01
X
1
0.014
Y
1
0.014 H(y1)
0.000
0
0.066 H(y0)
0.066
0.000
H(x0)
0.000
H(X)
0.000
◼
0
0.081 H(Y)
Die Fehlerquelle erzeugt scheinbare Entropie, abhängig von der BER:
𝐻 𝜀 = −𝜀 ∙ log 2 𝜀 − 1 − 𝜀 ∙ log 2 1 − 𝜀
= −0.01 ∙ log 2 0.01 − 0.99 ∙ log 2 0.99 = 0.081
Kapitel 0 - 30
ZHAW, Information und Codierung
18.11.2019
Entropien eines BSC
◼
Beispiel: Voll genutzter Kanal
P(x0)=
H(x1)
0.5
0.500
BER ε=
0.01
X
1
0.502
Y
1
0.500 H(y1)
0.502
0
0.500 H(y0)
0.038
0.038
H(x0)
0.500
H(X)
1.000
0
1.000 H(Y)
◼
Eingang und Ausgang zeigen maximal Entropie.
◼
Wieviel Information vom Eingang kommt tatsächlich beim Ausgang an?
Kapitel 0 - 31
ZHAW, Information und Codierung
18.11.2019
Entropien eines BSC
◼
Allgemeiner Fall: Fortsetzung des vorherigen Beispiels mit:
P(x0)=
H(x1)
0.05
0.070
BER ε=
0.01
X
1
0.083
Y
1
0.083 H(y1)
0.215
0
0.241 H(y0)
0.064
0.005
H(x0)
0.216
H(X)
0.286
◼
0
0.323 H(Y)
Die Störquelle fügt scheinbare Entropie hinzu (0.081); zerstört aber auch
Information von H(X).
Kapitel 0 - 32
ZHAW, Information und Codierung
18.11.2019
Gemeinsame Information
◼
Welche Information kann trotz Fehlern übertragen werden?
Die übertragene Information, die dem Eingang und Ausgang gemeinsam ist.
H(ε)
I(X,Y)
H(X)
H(Y)
H(X) – I(X,Y)
Sind H(Y) und H(ε) bekannt, folgt für die gemeinsame Information I(X,Y):
I(X,Y) = H(Y) – H(ε) [bit/bit]
Kapitel 0 - 33
ZHAW, Information und Codierung
18.11.2019
Gemeinsame Information
◼
Werte aus obigem Beispiel mit 𝜀 = 0.01 und 𝑃 𝑥0 = 0.05:
H(X) = 0.286, X(Y) = 0.323, H(𝜀) = 0.081
H(ε) = 0.081
H(X) =
0.286
H(Y) =
0.323
I(X,Y) = 0.242
H(X) – I(X,Y) = 0.044
I(X,Y) = H(Y) - H(ε) = 0.323 – 0.081 = 0.242 [bit/bit]
Kapitel 0 - 34
ZHAW, Information und Codierung
18.11.2019
Hamming-Distanz (1)
◼
Hamming Distanz ist die Anzahl der zu wechselnden Bits vom
einem gültigen Code zum nächsten gültigen Code
◼
Beispiel: 3-Bit-Code mit folgender
systematischer Anordnung:
110
111
010
011
x1x
1xx
100
101
0xx
x0x
xx0
xx1
000
◼
001
Hamming Distanz 1: jeder Code ist gültig; jeder Fehler führt zu einem
anderen gültigen Code → keine Fehlererkennung möglich
Kapitel 0 - 35
ZHAW, Information und Codierung
18.11.2019
Hamming-Distanz (2)
◼
Codes mit einer Hamming-Distanz >= 2 erlauben die Erkennung von
Ein- oder Mehr-Bitfehlern. ( = gültiger Code, = ungültiger Code)
Hamming-Distanz = 2
110
Hamming-Distanz = 3
111
010
110
111
010
011
100
000
011
001
Erlaubt die Erkennung eines
einzelnen Bitfehlers
Kapitel 0 - 36
100
101
000
101
001
Erlaubt die Erkennung von
zwei Bitfehlern
ZHAW, Information und Codierung
18.11.2019
Hamming-Distanz (3)
◼
Minimale Hamming-Distanz
• Die Hamming Distanz d zwischen den Codewörtern ist nicht per se constant:
• Beispiel: Code mit den Codewörtern 00000, 01011, 10101, 11110
d(00000, 01011) = 3
d(01011, 10101) = 4
d(00000, 10101) = 3
d(01011, 11110) = 3
d(00000, 11110) = 4
d(10101, 11110) = 3
◼
Für eine sichere Fehlererkennung oder (später auch Fehlerkorrektur) ist
die minimale Hamming-Distanz dmin(C) eines Codes C relevant:
◼
dmin ist die kleineste Hamming-Distanz d zwischen zwei beliebigen
Codewörtern eines Codes.
◼
Ein Code heisst perfekt, wenn alle Codewörter die gleiche
Hamming-Distanz dmin aufweisen.
Kapitel 0 - 37
ZHAW, Information und Codierung
18.11.2019
Hamming-Gewicht
◼
Das Hamming-Gewicht wH(cj)
• gibt an, wieviele Einsen das Codewort cj enthält.
• darf nicht mit Hamming-Distanz verwechselt werden!
◼
Beispiel:
• wH(000) = 0
• wH(110) = wH(011) = wH(101) = 2
◼
Anwendung: Bestimmung der Hamming-Distanz zweier Codewörter.
Dazu bildet man mit einer bitweisen Exor-Operation die Differenz zweier
Codewörter und bestimmt dann davon das Hamming-Gewicht, also die Anzahl
der unterschiedlichen Bits.
𝑑𝐻 𝑐𝑗, 𝑐𝑘 = 𝑤𝐻 𝑐𝑗 ⨁ 𝑐𝑘
- 𝑑𝐻 000, 110 = 𝑤𝐻 000 ⨁ 110 = 𝑤𝐻 110 = 2
- 𝑑𝐻 110, 011 = 𝑤𝐻 110 ⨁ 011 = 𝑤𝐻 101 = 2
- 𝑑𝐻 110, 101 = 𝑤𝐻 110 ⨁ 101 = 𝑤𝐻 011 = 2
Kapitel 0 - 38
ZHAW, Information und Codierung
18.11.2019
Hamming-Distanz (4)
◼
Wie gross ist die Anzahl der erkennbaren Fehler e bei einer gegebenen
Hamming-Distanz dmin?
Hanning-Distanz dmin
Gültiger
Code Cj
(dmin-1) fehlerbehaftete Zwischencodes
Gültiger
Code Ck
Klicken für Lösung
e = (d min-1) ausgehend von Code Cj
e = (dmin-1) ausgehend von Code Ck
𝑑𝑚𝑖𝑛 − 1 Fehler sind sicher erkennbar
Kapitel 0 - 39
ZHAW, Information und Codierung
18.11.2019
Prinzip der Fehlererkennung mit Blockcodes
Sender:
Daten
KanalEncoder
Fehlerschutzbits
Senden:
Daten und
Fehlerschutzbits
+
Fehlerquelle
Empfänger:
KanalDecoder
«Fehler» /
«kein Fehler»
Daten
Kapitel 0 - 40
ZHAW, Information und Codierung
18.11.2019
Binäre Blockcodes: Systematik
◼
◼
Encoder für (N,K) Blockcode
[ u0 u1 ... uK-1 ]
Encoder
[ x0 x1 ... xN-1 ]
Informationswort u
R=K/N
Codewort x
Coderate 𝑹:
𝑲
𝑹=
𝑵
Systematischer (N,K) Blockcode:
Die K Informationsbits erscheinen im Codewort am einem Stück
N Codeswortbits
N - K Fehlerschutzbits
oder
K Informationsbits
N Codeswortbits
K Informationsbits
N - K Fehlerschutzbits
Systematische Blockcodes lassen sich besonders einfach decodieren; es
müssen lediglich die Fehlerschutzbits entfernt werden.
- 41 -
ZHAW, Information und Codierung
18.11.2019
Binärer Blockcodes: Linearität
◼
Bei einem linearer (N,K) Blockcode ist die bitweise Exor-Verknüpfung
von 2 beliebigen Codewörtern (inklusive des selben) wieder ein güliges
Codewort:
• Beispiel: C = (000), (110), (011), (101)
- Beliebiges Codewort xor mit sich selber:
- Beliebiges Codewort xor mit (000):
- Restliche Fälle:
→Jeder lineare Code muss zwingend das Null-Codewort (000) enthalten
Anmerkung: Mathematisch nennt man die bitweise Exor-Verknüpfung eine
bitweise Modulo-2-Summe (1-bit-Summe ohne Übertrag).
◼
- 42 -
Bei linearen (N,K)-Blockcodes ist dmin die minimale HammingDistanz der gültigen Codes zum Null-Codewort.
ZHAW, Information und Codierung
18.11.2019
Binäre Blockcodes: Zyklizität
◼
Linearer, zyklischer (N,K) Blockcode
Die zyklische Verschiebung eines Codeworts gibt wieder ein Codewort.
Beispiel:
◼
- 43 -
Ein linearer, zyklischer Blockcode wird später eingehend besprochen
(siehe Abschnitt CRC).
ZHAW, Information und Codierung
18.11.2019
Binäre Blockcodes Beispiel
(3,2) Block-Code C = { [0 0 0], [1 1 0], [1 0 1], [0 1 1] }
110
111
systematisch
011
010
linear
100
101
000
-8-
zyklisch
001
•
Encoder: K=
•
Länge der Codewörter N=
•
Code-Rate R =
•
minimale Hamming-Distanz dmin =
ZHAW, Information und Codierung
18.11.2019
Kanalcodierungstheorem
◼
Das Kanalcodierungstheorem beschreibt, unter welcher Bedingung sich
die Wahrscheinlichkeit von Fehlern beliebig reduzieren lässt.
◼
Begriffe:
• Kanalmodell
- Binärer Symmetrischer Kanal
• Bitfehlerwahrscheinlichkeit BER (Bit Error Ratio).
• Binärer Symmetrischer Kanal
• Kanalkapazität
• Hamming-Gewicht
• Hamming-Distanz
• Coderate
46
ZHAW, Information und Codierung
18.11.2019
Kanalcodierungstheorem
◼
Das Kanalcodierungstheorem beschreibt, unter welcher Bedingung sich
die Wahrscheinlichkeit von Fehlern beliebig reduzieren lässt.
Möchte man die Restfehlerwahrscheinlichkeit
eines Fehlerschutzcodes beliebig klein machen,
so muss R < C sein.
◼
C: Kanalkapazität in bit/bit (Nutzbare Bits pro Kanalbenutzung)
◼
R: Coderate in bit/bit (Infobits pro Codebit)
◼
R muss kleiner als C sein, damit alle Information in den nutzbaren Bits
Platz haben
47
ZHAW, Information und Codierung
18.11.2019
Herunterladen