Privacy Policy Cookie Policy Terms and Conditions Hamming-Code - Wikipedia

Hamming-Code

aus Wikipedia, der freien Enzyklopädie

Als Hamming-Code bezeichnet man in der Kodierungstheorie einen von Richard Hamming entdeckten Code mit einem Mindest-Hamming-Abstand von 3.

Der einfachste Hamming-Code ist ein (7,4) Code, er hat also eine Länge von 7 Bits, wovon 4 Bits Nutzinformationen sind und die restlichen (7 Bit Codewort Länge - 4 Bit Nutzinformationen) = 3 Bits zur Fehlerkorrektur dienen.

Es gibt einen Hamming-Code der Länge 2r − 1 zu jedem 3 \le r \in \N, davon sind r Bits Korrektur-Bits und die restlichen 2r − 1 − r Bits Informations-Bits.

Hamming-Codes sind perfekt, d.h. jedes mögliche Wort ist entweder ein Codewort oder hat Hamming-Abstand 1 von einem Codewort des Codes.

Inhaltsverzeichnis

[Bearbeiten] Generator- und Kontrollmatrizen

Hamming-Codes sind lineare Codes und lassen sich somit durch eine Generatormatrix oder eine Kontrollmatrix darstellen.

[Bearbeiten] Erzeugung des (7,4) Hamming-Code

Ein (7,4) Hamming-Code wird durch die folgende Generatormatrix G erzeugt:

G = \begin{pmatrix} 1 & 0 & 0 & 0 &|& 1 & 1 & 1 \\ 0 & 1 & 0 & 0 &|& 0 & 1 & 1 \\ 0 & 0 & 1 & 0 &|& 1 & 0 & 1 \\ 0 & 0 & 0 & 1 &|& 1 & 1 & 0 \end{pmatrix}

G setzt sich zusammen aus der Einheitsmatrix E und einer 4 × 3 Matrix, die die Sicherungsinformationen erzeugt. Die zu übertragende Bitsequenz u wird dann aus der Nutzinformation v wie folgt berechnet:

u^T= v^T \cdot G

H ist die Kontrollmatrix des (7,4) Hamming-Codes. Ihre Spalten sind alle Bitvektoren der Länge 3 außer dem Nullvektor.

H= \begin{pmatrix}       1 & 0 & 1 & 1 &|& 1 & 0 & 0 \\       1 & 1 & 0 & 1 &|& 0 & 1 & 0 \\       1 & 1 & 1 & 0 &|& 0 & 0 & 1 \\ \end{pmatrix}

Ein Codewort u gehört genau dann zum Hamming-Code, falls Hu = 0 ist. Ist Hu \neq 0, heißt das, dass bei der Übertragung ein Bitfehler aufgetreten ist. Durch Vergleich von Hu mit den Spalten von H lässt sich (im Fall eines Ein-Bit-Fehlers, einem sogenannten Einzelfehler) zusätzlich ermitteln, welches Bit aus u verfälscht wurde. Für Bit 3 wäre das z.B. w = (1,0,1)T.

[Bearbeiten] Beispiel: Erzeugung eines (7,4) Hamming-Codewortes

Nutzdaten : 1 0 0 1
Prüfbit 1 : 1   0 1   =>   0
Prüfbit 2 : 1 0   1   =>   0
Prüfbit 3 : 1 0 0     =>   1

Die drei Prüfbits (dezimal 2, 2, 1) werden jeweils modulo 2 gerechnet, da eine Binärzahl benötigt wird. Das zu übermittelnde Wort lautet also 1 0 0 1 0 0 1

[Bearbeiten] Ein-Bit-Fehler korrigieren

Angenommen als übermitteltes Wort ist 1 0 1 1 0 0 1 angekommen; der Fehler steckt im dritten Bit. Zur Prüfung wird diese Rechnung dann umgekehrt durchgeführt:

Nutzdaten     : 1 0 1 1
Prüfung 1   0 = 1   1 1   =>   Fehler
Prüfung 2   0 = 1 0   1
Prüfung 3   1 = 1 0 1     =>   Fehler

Taucht ein Fehler nur in einer der drei Prüfungen auf steckt der Fehler in dem jeweiligen Prüfbit.
Taucht ein Fehler in Prüfung 1 und 2 auf ist der Fehler in Bit Nr. 4
Taucht ein Fehler in Prüfung 1 und 3 auf ist der Fehler in Bit Nr. 3
Taucht ein Fehler in Prüfung 2 und 3 auf ist der Fehler in Bit Nr. 2
Taucht ein Fehler in allen Prüfungen auf ist der Fehler in Bit Nr. 1


[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -