New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Hammingův kód - Wikipedie, otevřená encyklopedie

Hammingův kód

Z Wikipedie, otevřené encyklopedie

V oblasti telekomunikací je Hammingův kód lineární kód pro opravu jedné chyby, pojmenovaný po jeho objeviteli Richardu Hammingovi.

Binární kód se nazývá Hammingův, jestliže má kontrolní matici, jejíž sloupce jsou všechna nenulová slova dané délky nk = r a žádné z nich se neopakuje.

Jedná se o speciální případ lineárních dvojkových (n,k) kódů. Tyto kódy opravují jednu chybu při vzdálenosti kódových slov d_{min}({\overrightarrow{b}}_i, {\overrightarrow{b}}_j)=3 a v rozšířené variantě d_{min}({\overrightarrow{b}}_i, {\overrightarrow{b}}_j)=4.

Obsah

[editovat] Algoritmus generování Hammingova kódu

  1. Všechny bitové pozice, jejichž číslo je rovné mocnině 2, jsou použity pro paritní bit (1, 2, 4, 8, 16, 32, …).
  2. Všechny ostatní bitové pozice náleží kódovanému informačnímu slovu (3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, …).
  3. Každný paritní bit je vypočítán z některých bitů informačního slova. Pozice paritního bitu udává sekvenci bitů, které jsou v kódovém slově zjišťovány a které přeskočeny.

Pro paritní bit p1 (pozice 1) se ve zbylém kódovém slově 1 bit přeskočí, 1 zkontroluje, 1 bit přeskočí, 1 zkontroluje, atd. Pro paritní bit p2 (pozice 2) se přeskočí první bit, 2 zkontrolují, 2 přeskočí, 2 zkontrolují, atd. Pro p3 (pozice 4) se přeskočí první 3 bity, 4 zkontrolují, 4 přeskočí, 4 zkontrolují, atd.

[editovat] Hammingův kód (7,4)

Pro kód (7,4) platí {\overrightarrow{b}} = \left(p_1^{(2^0)}, p_2^{(2^1)}, a_1^3, p_3^{(2^2)}, a_2^5, a_3^6, a_4^7\right):

  • p_1 \oplus a_1\oplus a_2 \oplus a_4 = 0 (podle bodu 3 sestaveno z b1,b3,b5,b7),
  • p_2 \oplus a_1\oplus a_3 \oplus a_4 = 0 (b2,b3,b6,b7),
  • p_3 \oplus a_2\oplus a_3 \oplus a_4 = 0 (b4,b5,b6,b7).

Generující matice \mathbb{G}_H Hamming. kódu (7,4) se sestrojí tak, že se postupně zakóduje posloupnost 10001,01002,00103,00014 (proto, aby řádky byly lineárně nezávislé a tvořily bázi prostoru).

\mathbb{G}_H=\left( \begin{matrix}    &~_1 & ~_2 & ~_3 & ~_4 & ~_5 & ~_6 & ~_7 \\ ~_1 & p_{1_1} & p_{2_1} & 1 & p_{3_1} & 0 & 0 & 0 \\ ~_2 & p_{1_2} & p_{2_2} & 0 & p_{3_2} & 1 & 0 & 0 \\ ~_3 & p_{1_3} & p_{2_3} & 0 & p_{3_3} & 0 & 1 & 0 \\ ~_4 & p_{1_4} & p_{2_4} & 0 & p_{3_4} & 0 & 0 & 1 \\ \end{matrix} \right)= \left( \begin{matrix}    &~_1 & ~_2 & ~_3 & ~_4 & ~_5 & ~_6 & ~_7 \\ ~_1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ ~_2 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ ~_3 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ ~_4 & 1 & 1 & 0 & 1 & 0 & 0 & 1 \\ \end{matrix} \right)

Kontrolní matice \mathbb{H}_H Hamming. kódu (7,4) se určí následovně. Po přijetí kódového slova {\overrightarrow{b}} víme, že bity b3,b5,b6,b7 obsahují informační slovo a zbylé redundantní bity jsou určeny tak, aby

\begin{matrix} s_1 = b_4 \oplus b_5 \oplus b_6 \oplus b_7 = 0 \\ s_2 = b_2 \oplus b_3 \oplus b_6 \oplus b_7 = 0 \\ s_3 = b_1 \oplus b_3 \oplus b_5 \oplus b_7 = 0 \\ \end{matrix}\Rightarrow \mathbb H_H=\left( \begin{matrix} ~_1 & ~_2 & ~_3 & ~_4 & ~_5 & ~_6 & ~_7 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ \end{matrix}\right).

Vektor {\overrightarrow{s}} = (s_1, s_2, s_3) se nazývá syndrom a pokud byla informace přijata bezchybně jeho hodnota je {\overrightarrow{s}} = (0, 0, 0).

[editovat] Rozšířený Hammingův kód (8,4)

Rozšíření binárního Hammingova kódu vychází z toho, že přídáme na začátek každého kódového slova nový symbol určený pro kontrolu parity celého kódového slova. Bit p0 je zvolen tak, aby p_0 \oplus b_1 \oplus b_2 \oplus b_3 \oplus b_4 \oplus b_5 \oplus b_6 \oplus b_7 vycházelo jako sudé číslo. Rozšířený kód dovoluje, tak jako předchozí opravit jednu chybu a navíc je schopen detekovat dvě chyby.

Generující matice \mathbb{G}_H' rozšířeného Hamming. kódu (8,4) se sestrojí tak, že se postupně zakóduje posloupnost 10001,01002,00103,00014.

\mathbb{G}_H'=\left( \begin{matrix} ~  & ~_0      & ~_1       & ~_2      & ~_3 & ~_4   & ~_5  & ~_6 & ~_7 \\ ~_1 & p_{0_1} & p_{1_1} & p_{2_1} & 1 & p_{3_1} & 0 & 0 & 0 \\ ~_2 & p_{0_2} & p_{1_2} & p_{2_2} & 0 & p_{3_2} & 1 & 0 & 0 \\ ~_3 & p_{0_3} & p_{1_3} & p_{2_3} & 0 & p_{3_3} & 0 & 1 & 0 \\ ~_4 & p_{0_4} & p_{1_4} & p_{2_4} & 0 & p_{3_4} & 0 & 0 & 1 \\ \end{matrix} \right)= \left( \begin{matrix} ~   &~_0 &~_1 & ~_2 & ~_3 & ~_4 & ~_5 & ~_6 & ~_7 \\ ~_1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ ~_2 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ ~_3 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ ~_4 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 1 \\ \end{matrix} \right)

[editovat] Dekódování a kontrola

Nejprve se po přijetí kódového slova {\overrightarrow{b}} určí syndrom {\overrightarrow{s}} = \mathbb H_H\cdot{\overrightarrow{b}}^T. Například pro přijaté slovo {\overrightarrow{b}} = (1010111) je syndrom

\mathbb H_H\cdot{\overrightarrow{b}}^T = \left( \begin{matrix} 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ \end{matrix}\right)\cdot \left( \begin{matrix} 1 \\ 0 \\ 1 \\ 0 \\ 1 \\ 1 \\ 1 \\ \end{matrix}\right)= \left( \begin{matrix} 1 \\ 1 \\ 0 \\ \end{matrix}\right)

Vidíme, že syndrom {\overrightarrow{s}} je nenulový, tj. při přenosu došlo k chybě. Syndrom, který vyšel {\overrightarrow{s}} = (1,1,0) odpovídá sloupci 6 kontrolní matice \mathbb H_H a z toho vyplývá, že je třeba opravit šestý bit kódového slova {\overrightarrow{b}}' = (10101\underline{0}1).

Static Wikipedia (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 -

Static Wikipedia 2007 (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 -

Static Wikipedia 2006 (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 - 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

Static Wikipedia February 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