TU Wien:Technische Grundlagen der Informatik VU (Kastner)/UE2 2016W Lösung

Aus VoWi
Zur Navigation springen Zur Suche springen
Ein Hamming-Code hat 4 Prüfbit.

a) Wie lange (in Bit) können die Codewörter maximal sein? Wieviele Bit stehen maximal für Daten zur Verfügung?
b) Wie lauten die Gleichungen für die nötigen Prüfbits dieses Codes?
c)Listen Sie alle gültigen Codewörter eines Hamming-Code mit 7 Codebit auf!
Hinweis: Es werden möglicherweise nicht alle Zeilen benötigt.
d) Überprüfen Sie anhand von zwei Beispielen exemplarisch, ob es sich bei dem Code aus c) um einen linearen Code handeln könnte!
e) Decodieren und ggf. korrigieren sie das empfangene Codewort c1c2c3c4c5c6c7=1101110 unter der Annahme, dass es sich beim Absenden um ein Codewort aus dem code aus c) hendelte und maximal ein Bit gestört wurde!

Lösungsvorschlag zu a):

Prüfbits p1p2p3p4 sind jeweils an der Stelle c1c2c4c8(2er Potenzen), daraus ergibt sich das Codewort c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15 mit folgenden Stellen (p = Prüfbit, d = Datenbit):p1p2d1p3d2d3d4p4d5d6d7d8d9d10d11.
Die maximale Länge Codewörter ist 15 Bit, die maximale Anzahl der Bits für Daten ist 11 (15 Länge gesamt minus 4 Prüfbits).


Lösungsvorschlag zu b):

Etwas Theorie:
Um zu erkennen, welches Codebit ck mit Index k zu welchen Prüfbits gehört, muss man Index k in 2er Potenzen aufteilen:
zB bei c15 ist Index 15=8+4+2+1, oder 23=16+4+1.

c1=p1=(c3+c5+c7+c9+c11+c13+c15)mod2=c3⊗c5⊗c7⊗c9⊗c11⊗c13⊗c15
c2=p2=...=c3⊗c6⊗c7⊗c10⊗c11⊗c14⊗c15
c4=p3=...=c5⊗c6⊗c7⊗c12⊗c13⊗c14⊗c15
c8=p4=...=c9⊗c10⊗c11⊗c12⊗c13⊗c14⊗c15
⊗ ... XOR


Lösungsvorschlag zu c):

Bei einem lineareren Code ergibt die Kombination (Summe) von zwei Codewörtern ebenfalls ein Codewort:

0010110 + 0011001 = 0001111 ... lt. Tabelle aus c) ist das Ergebnis darin enthalten.


Lösungsvorschlag zu d):

Beim Codewort 1101110 sind folgende Stellen Prüfbits: c1c2c4
Daraus folgt:

p1=c3⊗c5⊗c7=0⊗1⊗0=1 korrekt
p2=c3⊗c5⊗c7=0⊗1⊗0=1 korrekt
p3=c5⊗c6⊗c7=1⊗1⊗0=0≠1
Da Prüfbit p3 0 sein sollte, in der Übertragung 1 aufscheint, liegt hier der Fehler. p3=c4 dadurch ist Index 4 gestört und gehört auf 1 korrigiert, das Ergebnis ist 1100110.

Anmerkung: Wären zB p1=c1 und p2=c2 anders als in der Übertragung, wäre Index 1+2=3, also c3 gestört und gehört korrigiert.