Für k Daten‐Bits und n‐Bit Code‐Wörter gilt
Eindeutiges C‐Wort für jeden D‐Block, also
Benötigte Anzahl gültiger Code‐Wörter
Redundante Bits und Code‐Redundanz
Code‐Rate
Code‐Distanz für Code {b1,...,bk}
Benötigtes Verhältnis zwischen k und r=n‐
k zum Korrigieren von allen 1‐Bit‐Fehlern?
Hamming‐Code
1 2 3 4 5 6 7 8 9 10 11
Daten‐Bits Check‐Bits
3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1
Beispiel‐Daten‐Bits:
1 0 0 1 0 0 0
Erkennen eines Ein‐Bit‐Fehlers
0 0 1 1 0 0 1
1 2 3 4 5 6 7 8 9 10 11
0 0 0 0
0 0 1 1 0 1 1 0 0 0 0
Original Code‐Wort Ein‐Bit‐Fehler
3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1
Check Ergebnis
Daten‐Bits Check‐Bits
Hamming‐Code erreicht die Schranke
Wie eben für k Daten‐Bits und n‐Bit Code‐Wörter ausgerechnet:
Benötigtes Verhältnis zwischen k und r=n‐k zum Korrigieren von allen 1‐Bit‐
Fehlern:
r+k+1 ≤ 2 r
Beispiel für unten abgebildeten Hamming‐Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Daten‐Bits Check‐Bits Was wenn Daten nur bis 11?
Umgang mit Bit‐Fehler‐Bursts
Also:
Fakten zu allgemeinen Block‐Codes
Code‐Distanz von dmin ¸ 2t+1 kann bis zu wie viele c‐Bit‐Fehler korrigieren?
Und wie viele d‐Bit‐Fehler erkennen?
Also: Code‐Distanz von dminerlaubt Korrektur von bis zu wie vielen Fehlern?
Und Erkennen von wie vielen Fehlern?
Coding‐Gain
coding gain
Flusskontrolle
Stop‐and‐Wait
Es sei tp der Propagation‐Delay und tf die Transmission‐Time für einen Frame. Die Gesamtzeit T für n Frames ist:
Die Utilization U (d.h. Zeit für Daten in
Relation zur Zeit für Daten plus Overhead) ist:
Definiere a = tp / tf (d.h. normalisiere tf auf 1), dann ist:
Utilization in Abhängigkeit von a
Utilization
a = Propagation‐Delay / Transmission‐Time
1 Mbps Satelliten‐Link und 1000 Bit Frame mit 100ms Propagation‐
Delay: