Sunteți pe pagina 1din 27

Seminarul 5

Transmisia datelor. Coduri Hamming


Cuprins
• Cod Hamming corector de o eroare. Problema 1
• Matricea de control
• Cuvinte de cod
• Erori pe diferite poziții
• Sitematizarea codului Hamming
• Schema codor și decodor
• Cod Hamming corector de o eroare și detector de erori duble. Problema 2
• Aspecte legate de codul Hamming extins
• Cuvinte de cod
• Erori pe diferite poziții
• Temă pentru acasă
Seminar ca la tablă 2
Problema 1
• Un număr de 20 de mesaje se transmit pe un canal cu perturbaţii utilizând un cod
Hamming corector de o eroare. Se cere:

a) numărul simbolurilor de de informaţie k , al celor de control m şi lungimea cuvântului de cod


b) să se scrie matricea de control al codului H
c) să se scrie cuvintele de cod
d) cât este distanţa minimă ? cât este ponderea minimă ?
e) să se stabilească expresia corectorului pentru cazul în care se eronează 𝒄𝟒
f) să se stabilească ce se întâmplă în cazul în care apar două erori pe poziţiile 2 şi 7
g) să se scrie formele canonice 𝑯′ și 𝑯′′ ale matricei de control
h) să se scrie formele canonice 𝑮′ și 𝑮′′ ale matricei generatoare și să se deducă matricea 𝑮
i) să se reprezinte schema codorului și a decodorului

Seminar ca la tablă 3
Numărul simbolurilor de control, informație
• Pentru a transmite 20 mesaje este necesar un număr de 𝒌 = 𝟓
simboluri de informaţie. Numărul
simbolurilor de control rezultă din expresia marginii Hamming:

𝒆 𝟏
𝒆=𝟏 𝒏=𝒎+𝒌
𝟐𝒎 ≥ ෍ 𝑪𝒌𝒏 ෍ 𝑪𝒌𝒏 = 𝑪𝟎𝒏 + 𝑪𝟏𝒏 = 𝟏 +𝒏 𝟏+𝒎+𝒌
𝒌=𝟎 𝒌=𝟎

𝟐𝒎 − 𝟏 ≥ 𝒏 = 𝒎 + 𝒌 = 𝒎 + 𝟓 → 𝒎 = 𝟒 → 𝒏 = 𝟗

Seminar ca la tablă 4
Matricea de control (corecție) Hamming
• matricea de control este o matrice de 𝒏 = 𝟗 coloane şi 𝒎 = 𝟒 linii,
fiecare coloană reprezintă codul binar al numărului de coloană:

𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏
𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟏 𝟎 𝟎
𝑯=
𝟎 𝟏 𝟏 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎
𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏
1 2 3 4 5 6 7 8 9

Seminar ca la tablă 5
Simboluri de control
• cuvântul de cod Hamming este nesimetric şi are structura

𝒗 = 𝑐1 𝑐2 𝑖3 𝑐4 𝑖5 𝑖6 𝑖7 𝑐8 𝑖9

• Orice cuvânt de cod satisface relaţia: 𝑯 ⋅ 𝒗𝑻 = 𝟎

• care permite determinarea simbolurilor de control 𝑐1 , 𝑐2 , 𝑐4 , 𝑐8 în funcţie


de simbolurile de informaţie 𝑖3 , 𝑖5 , 𝑖6 , 𝑖7 , 𝑖9 cu ajutorul sistemului:
𝒄𝟖 = 𝒊𝟗
𝒄𝟒 = 𝒊𝟓 + 𝒊𝟔 + 𝒊𝟕
𝒄𝟐 = 𝒊𝟑 + 𝒊𝟔 + 𝒊𝟕
𝒄𝟏 = 𝒊𝟑 + 𝒊𝟓 + 𝒊𝟕 + 𝒊𝟗

Seminar ca la tablă 6
Condiția de cuvânt de cod
𝑐1
𝑐2
𝑖3
0 0 0 0 0 0 0 1 1 𝑐4
î𝑛𝑚𝑢𝑙ț𝑖𝑟𝑒 0 0 0 1 1 1 1 0 0 ∙ 𝑖5 = 0
•𝐻∙ 𝑣𝑇 =0
0 1 1 0 0 1 1 0 0 𝑖6
1 0 1 0 1 0 1 0 1 𝑖7
𝑐8
𝑖9

Seminar ca la tablă 7
Cuvintele de cod
C1 C2 I3 C4 I5 I6 I7 C8 I9
V0 0 0 0 0 0 0 0 0 0
V1 1 1 1 0 0 0 0 0 0
V2 1 0 0 1 1 0 0 0 0
V3 0 1 1 1 1 0 0 0 0
V4 0 1 0 1 0 1 0 0 0
V5 1 0 1 1 0 1 0 0 0
V6 1 1 0 0 1 1 0 0 0
V7 0 0 1 0 1 1 0 0 0
V8 1 1 0 1 0 0 1 0 0
V9 0 0 1 1 0 0 1 0 0
V10 0 1 0 0 1 0 1 0 0
V11 1 0 1 0 1 0 1 0 0
V12 1 0 0 0 0 1 1 0 0
V13 0 1 1 0 0 1 1 0 0
V14 0 0 0 1 1 1 1 0 0
V15 1 1 1 1 1 1 1 0 0
V16 1 0 0 0 0 0 0 1 1
V17 0 1 1 0 0 0 0 1 1
V18 0 0 0 1 1 0 0 1 1
V19 1 1 1 1 1 0 0 1 1

Seminar ca la tablă 8
Pondere minimă, poziția c4 eronată
• d. după inspectarea tabelului rezultă că ponderea minimă
𝑃𝑚𝑖𝑛 = 3 şi 𝑑𝑚𝑖𝑛 = 3 pentru o eroare

• e. în acest caz cuvântul de eroare este: 𝜀 = 0 0 0 1 0 0 0 0 0 ,


corectorul se calculează:

0
1
𝒛 = 𝑯 𝒗, 𝑻 𝑻
= 𝑯𝜀 = 𝒉𝟒 = şi reprezintă codul binar al poziţiei eronate.
0
0

Seminar ca la tablă 9
Erori pe pozițiile 2,7
• f. în acest caz cuvântul de eroare este:
𝜀 = 0 1 0 0 0 0 1 0 0 , iar corectorul

0
1
𝒛 = 𝒉2 + 𝒉𝟕 = 𝒉𝟓 =
0
1
• Decodorul ar acţiona ca şi cum eroarea ar fi pe poziţia a 5-a şi
efectuează “corecţia” presupusei erori, introducând de fapt o eroare
suplimentară pe poziţia a 5-a, pe lângă cele deja existente.

Seminar ca la tablă 10
Forme canonice H
• g. formele canonice 𝑯′ , 𝑯′′ sunt conform relațiilor studiate
𝑯′ = 𝑰𝒎 𝑸 și

𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏
𝑯′ = 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎
𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟏 𝟎
𝟎 𝟎 𝟎 𝟏 𝟏 𝟏 𝟎 𝟏 𝟏

• Și care corespunde unui cuvânt de cod de forma


𝒗′ = 𝒄𝟖 𝒄𝟒 𝒄𝟐 𝒄𝟏 𝒊𝟑 𝒊𝟓 𝒊𝟔 𝒊𝟕 𝒊𝟗
Seminar ca la tablă 11
Forma canonice H
• Respectiv cealaltă formă 𝑯′′ = 𝑸 𝑰𝒎 , respectiv

𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎
′′
𝑯 = 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟏 𝟎 𝟎
𝟏 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎
𝟏 𝟏 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏

• Și care crespunde unui cuvânt de cod de forma

𝒗′′ = 𝒊𝟑 𝒊𝟓 𝒊𝟔 𝒊𝟕 𝒊𝟗 𝒄𝟖 𝒄𝟒 𝒄𝟐 𝒄𝟏
Seminar ca la tablă 12
Forme canonice G
• formele canonice 𝑮′ , 𝑮′′ sunt conform relațiilor studiate
𝑮′ = 𝑸𝑻 𝑰𝒌 = 𝑷 𝑰𝒌 și

𝟏 𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎
𝑮′ = 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎
𝟎 𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎
𝟏 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏

• Formele canonice 𝑮′ , 𝑮′′ corespund codurilor sistematice cu cuvintele


de cod având structura specificată pentru formele canonice 𝑯′ , 𝑯′′
Seminar ca la tablă 13
Forme canonice G
• 𝑮′′ = 𝑰𝒌 𝑷 , respectiv

𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟏
𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏
𝑮′′ = 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 𝟏 𝟎
𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟏 𝟏 𝟏
𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏

• . Formele canonice 𝑯′ , 𝑮′ , respectiv 𝑯′′ , 𝑮′′ determină coduri cu


aceleași proprietăți de corecție ca și codul determinat de matricile 𝑯, 𝑮.

Seminar ca la tablă 14
Forme canonice G
• h. matricea 𝑮 se obține prin permutări ale coloanelor 𝑮′ , 𝑮′′ și corespunde ca și matricea 𝑯 unui
cod nesistematic cu cuvinte avâns structura

𝒗 = 𝒄𝟏 𝒄𝟐 𝒊𝟑 𝒄𝟒 𝒊𝟓 𝒊𝟔 𝒊𝟕 𝒄𝟖 𝒊𝟗

• Și este de forma
𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎
𝟏 𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎
𝑮= 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎 𝟎
𝟏 𝟏 𝟎 𝟏 𝟎 𝟎 𝟏 𝟎 𝟎
𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝟎 𝟏 𝟏

• Se recunosc în liniile matricei G cuvinte de cod: de exemplu, linia a 2-a este cuvântul v2, linia a 3-a
— cuvîntul v4; de pot recunoaşte drept cuvinte de cod şi combinaţii liniare ale liniilor matricei G:
de exemplu cuvântul v3 rezultă din însumarea liniilor 2 şi 3 ale matricei G.

Seminar ca la tablă 15
Codorul

Seminar ca la tablă 16
Decodorul

Seminar ca la tablă 17
Simulator Hamming
• http://www.ecs.umass.edu/ece/koren/FaultTolerantSystems/simulato
r/Hamming/HammingCodes.html

Seminar ca la tablă 18
Problema 2

Un număr de 8 mesaje se transmit cu ajutorul unui cod Hamming grup


corector de o eroare și detector de erori duble. Se cere
• a. să se determine numărul simbolurilor de informație k, al celor de control,
m și lungimea cuvântului de cod, n
• b. să se scrie matricea de control a codului
• c. să se stabilească expresia corectorului corespunzător eronării simbolului c2
• d. să se determine corectorul corespunzător eronării simbolurilorc2 și c1
• e. să se scrie cuvintele de cod
• f. să se precizeze dacă 𝑣 = 1100110 este un cuvânt al acestui cod

Seminar ca la tablă 19
• numărul simbolurilor de informație k se detrmină din relația 2𝑘 ≥ 𝑁 =
8 → 𝑘 = 3. Marginea Hamming dă pentru numărul simbolurilor de control
2𝑚 ≥ 𝑛 + 1 = 𝑚 + 𝑘 + 1 = 𝑚 + 3 + 1 → 𝑚 = 3.
• La aceste simboluri de control trebuie adăugat simbolul de verificare la
paritate, așa încât numărul total de simboluri de control va fi

𝑚∗ = 𝑚 + 1 = 3 + 1 = 4.

• Structura cuvântului de cod va fi 𝑣 = 𝑐0 𝑐1 𝑐2 𝑖3 𝑐4 𝑖5 𝑖6 , unde 𝑐0 este


simbolul de verificare a parității, iar 𝑐1 , 𝑐2 , 𝑐4 simbolurile de control pentru
codul corector de o eroare

Seminar ca la tablă 20
Matricea Hamming extinsă
• Matricea de control a coduluicorector de o eroare este de forma

0 0 0 1 1 1
• 𝑯 = [𝒉𝟏 𝒉𝟐 𝒉𝟑 𝒉𝟒 𝒉𝟓 𝒉𝟔 ] 𝑯= 0 1 1 0 0 1
1 0 1 0 1 0
• Se obține matricea

0 0 0 0 1 1 1
0 0 1 1 0 0 1

𝑯 = = [𝒉∗𝟎 𝒉𝟏∗ 𝒉𝟐∗ 𝒉𝟑∗ 𝒉𝟒∗ 𝒉𝟓∗ 𝒉𝟔∗ ]
0 1 0 1 0 1 0
1 1 1 1 1 1 1
Seminar ca la tablă 21
• Pentru acest caz, cuvântul de eroare este de forma 𝜀 = 0010000 .
expresia corectorului
0
0
0 0 0 0 1 1 1 0
1 𝒉𝟐
∗ ,𝑻 ∗ 𝑻 0 0 1 1 0 0 1 1
• 𝑯 ⋅𝒗 =𝑯 ⋅𝜀 = ⋅ 0 = =
0 1 0 1 0 1 0 0 1
0
1 1 1 1 1 1 1 1
0
0
• Din expresia corectorului rezultă că apare o eroare corectabilă (𝑧0 =
1) pe poziția a 2-a (𝒛 = 𝒉𝟐 )
Seminar ca la tablă 22
• Pentru acest caz, cuvântul de eroare este de forma 𝜀 = 0110000 ,
rezultă corectorul 0
1
0 0 0 0 1 1 1 0
1
,𝑻 0 0 1 1 0 0 1 1

𝑯 ⋅𝒗 =𝑯 ⋅𝜀 = ∗ 𝑻 ⋅ 0 = = 𝒉𝟏∗ + 𝒉𝟐∗
0 1 0 1 0 1 0 1
0
1 1 1 1 1 1 1 0
0
0
• Corectorul arată că apar două erori detectabile (𝑧0 = 0, 𝒛 ≠ 𝟎)).

Seminar ca la tablă 23
Cuvintele de cod
• Cuvintele de cod se pot scrie calculând simbolurile de control din cele
de informație cu relația
• 𝑯∗ ⋅ 𝒗𝑇 = 0, din care rezultă

𝑐4 = 𝑖5 + 𝑖6 ;
𝑐2 = 𝑖3 + 𝑖6 ;
𝑐1 = 𝑖3 + 𝑖5 ;
𝑐0 = 𝑐1 + 𝑐2 + 𝑖3 + 𝑐4 + 𝑖5 + 𝑖6 ;

Seminar ca la tablă 24
Toate cuvintele de cod
Simboluri

Cuvinte de cod c0 c1 c2 i3 c4 i5 i6

v0 0 0 0 0 0 0 0

v1 1 0 1 0 1 0 1

v2 1 1 0 0 1 1 0

v3 0 1 1 0 0 1 1

v4 1 1 1 1 0 0 0

v5 0 1 0 1 1 0 1

v6 0 0 1 1 1 1 0

v7 1 0 0 1 0 1 1

Seminar ca la tablă 25
Verificarea cuvântului de cod recepționat
• Se calculează corectorul 1
1
0 0 0 0 1 1 1 0
0 𝒛
0 0 1 1 0 0 1 0
𝒛 ∗ = 𝑯 ∗ 𝒗, 𝑻 = ⋅ 0 = = 𝑧
0 1 0 1 0 1 0 0 0
1
1 1 1 1 1 1 1 0
1
0

• Deoarece ambii corectori sunt nuli, cuvântul dat este un cuvânt al


acestui cod, ceea ce ere ușor de constatat și din tabelul anterior.

Seminar ca la tablă 26
Temă pentru acasă
• Să se construiască un cod Hamming care cu patru simboluri de
control poate avea un număr maxim permis de simboluri de
informație
• Determinați nr de simboluri de informație și lungimea cuvântului de cod
• Scrieți matricea Hamming de control
• Determinați corectorul pentru eroare în poziția 10
• Să se determine varianta extinsă pentru codul precedent
• Determinați nr de simboluri de informație și lungimea cuvântului de cod
• Scrieți matricea Hamming de control
• Determinați corectorul pentru erori în pozițiile 4,8

Seminar ca la tablă 27

S-ar putea să vă placă și

  • Seminar4 Prezentare
    Seminar4 Prezentare
    Document40 pagini
    Seminar4 Prezentare
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar3 2020
    Seminar3 2020
    Document6 pagini
    Seminar3 2020
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar4 2020
    Seminar4 2020
    Document6 pagini
    Seminar4 2020
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar4 Prezentare
    Seminar4 Prezentare
    Document40 pagini
    Seminar4 Prezentare
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar5 2020
    Seminar5 2020
    Document7 pagini
    Seminar5 2020
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar1 2020
    Seminar1 2020
    Document3 pagini
    Seminar1 2020
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar3 Prezentare
    Seminar3 Prezentare
    Document24 pagini
    Seminar3 Prezentare
    Călușer Marta Denisa
    Încă nu există evaluări
  • Seminar2 2020
    Seminar2 2020
    Document3 pagini
    Seminar2 2020
    Călușer Marta Denisa
    Încă nu există evaluări