You are on page 1of 3

Tema:

Kôdovi s otkrivanjem pogrešaka


Nastavni sat predmeta Digitalna elektronika, rujan 2017.

Kôdovi s otkrivanjem pogrešaka

• služe za otkrivanje pogrešaka pri prijenosu


• 2 vrste:

bez otklanjanja pogrešaka – ustanoviti da postoji pogreška

– Neispravne podatke odbaciti.

Primjer: metoda pariteta

s otklanjanjem pogrešaka – ispraviti neku količinu pogrešaka u primljenim podacima


Primjer: Hammingov kôd
Hamm.1

Metoda pariteta

• lat. paritas: jednakost


• ovdje: jednakost koju koristimo je parnost.
• podatkovnoj riječi dodajemo pariteni bit.
Njegova vrijednost se računa:

za parni paritet – tako da bude parni broj jedinica

za neparni paritet – tako da bude neparni broj jedinica

• Primjer: 8-bitna riječ 1101 1010


1101 1010 ? (dodamo paritetni bit)
1101 1010 1 za parni paritet
1101 1010 0 za neparni paritet

Hamm.2

Primjer: parni paritet

• 15-bitna riječ: 1010 0110 1100 001


• dodat ćemo jedan paritetni (ispitni, kontrolni) bit: 1010 0110 1100 001
• prebrajamo jedinice u riječi: 1 0 1 0 0 1 1 0 1 1 00 00 1
• u riječi ima 7 jedinica; to je neparan broj jedinica → kontrolni bit dobiva vrijednost 1, da
bi broj svih jedinica bio parni
• riječ podataka, skupa s kontrolnim bitom, glasi: 1010 0110 1100 0011

Kôdovi s otkrivanjem pogrešaka 1(3)


Hamm Predmet: Digitalna elektronika rujan 2017.

Hammingov kôd

• može otkriti i ispraviti jednu grešku, dodavanjem:


2 ispitna bita na podatkovnu riječ duljine 1,
3 ispitna bita na podatkovnu riječ duljine 2–4,
4 ispitna bita na podatkovnu riječ duljine 5–11,
5 ispitnih bitova na podatkovnu riječ duljine 12–26,
6 ispitnih bitova na podatkovnu riječ duljine 27–57,

Hamm.3

Algoritam računanja kontrolnih bitova Hammingovog kôda koristeći parni paritet

1. označiti sve pozicije bitova, koje su potencije broja 2, kao kontrolne bitove (pozicije 1, 2,
4, 8, 16, 32, 64, …)
2. sve ostale pozicije namijenjene su podacima koje kodiramo Hammingovim kôdom (pozicije
3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, …)
3. svaki kontrolni bit sudjeluje u izračunu pariteta za neke od bitova u riječi. O poziciji poje-
dinog kontrolnog bita ovisi koje bitove će se naizmjenično uzimati u izračun ili izostavljati
iz izračuna:

• Pozicija 1: kontroliraj 1 bit, preskoči 1 bit, kontroliraj 1 bit, preskoči 1 bit, …(1, 3, 5,
7, 9, 11, 13, 15, …)

• Pozicija 2: kontroliraj 2 bita, preskoči 2 bita, kontroliraj 2 bita, preskoči 2 bita, …(2,
3, 6, 7, 10, 11, 14, 15, …)

• Pozicija 4: kontroliraj 4 bita, preskoči 4 bita, kontroliraj 4 bita, preskoči 4 bita, …(4,
5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, …)

• Pozicija 8: kontroliraj 8 bita, preskoči 8 bita, kontroliraj 8 bita, preskoči 8 bita,


…(8–15, 24–31, 40–47, …)

• Pozicija 16: kontroliraj 16 bita, preskoči 16 bita, kontroliraj 16 bita, preskoči 16 bita,
…(16–31, 48–63, 80–95, …)

• Pozicija 32: kontroliraj 32 bita, preskoči 32 bita, kontroliraj 32 bita, preskoči 32 bita,
…(32–63, 96–127, 160–191, …)

• itd.

4. postavi kontrolni bit u jedinicu ako je ukupni broj jedinica na pozicijama koje sudjeluju
u tom izračunu neparan. Postavi kontrolni bit u nulu, ako je ukupni broj jedinica na
pozicijama koje on kontrolira paran.

Kôdovi s otkrivanjem pogrešaka 2(3)


Hamm Predmet: Digitalna elektronika rujan 2017.

Primjer kodiranja podatkovne riječi Hammingovim kôdom koristeći parni paritet

Podatkovna riječ: 1010 0110


Formirati kodnu riječ (ostavljajući mjesta za kontrolne bitove)
značenje1 : C C D C D D D C D D D D
pozicije: 1 2 3 4 5 6 7 8 9 10 11 12
_ _ 1 _ 0 1 0 _ 0 1 1 0
Bit na poziciji 1 kontrolira bitove na pozicijama 1, 3, 5, 7, 9, 11:
_ _ 1 _ 0 1 0 _ 0 1 1 0
Imamo paran broj jedinica (2), pa bit na poziciji 1 postavljamo u 0:
0 _ 1 _ 0 1 0 _ 0 1 1 0
Bit na poziciji 2 kontrolira bitove na pozicijama 2, 3, 6, 7, 10, 11:
0 _ 1 _ 0 1 0 _ 0 1 1 0
Imamo paran broj jedinica (4), pa bit na poziciji 2 postavljamo u 0:
0 0 1 _ 0 1 0 _ 0 1 1 0
Bit na poziciji 4 kontrolira bitove na pozicijama 4, 5, 6, 7, 12:
0 0 1 _ 0 1 0 _ 0 1 1 0
Imamo neparan broj jedinica (1), pa bit na poziciji 4 postavljamo u 1:
0 0 1 1 0 1 0 _ 0 1 1 0
Bit na poziciji 8 kontrolira bitove na pozicijama 8, 9, 10, 11, 12:
0 0 1 1 0 1 0 _ 0 1 1 0
Imamo paran broj jedinica (2), pa bit na poziciji 4 postavljamo u 0:
0 0 1 1 0 1 0 0 0 1 1 0
Podatkovna riječ 1010 0110 kodirana Hammingovim kôdom glasi: 0011 0100 0110.

Primjer dekodiranja riječi kodirane Hammingovim kôdom (parni paritet)

Prijemnik je primio riječ: 0011 0110 0110


Ispisati primljene bitove, njihove pozicije i značenja
značenje: C C D C D D D C D D D D
OK?
pozicije: 1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 1 0 1 1 0 0 1 1 0
Izračunati paritet grupe koju kontrolira bit na poziciji 1:
0 0 1 1 0 1 1 0 0 1 1 0 NE!!!
Izračunati paritet grupe koju kontrolira bit na poziciji 2:
0 0 1 1 0 1 1 0 0 1 1 0 NE!!!
Izračunati paritet grupe koju kontrolira bit na poziciji 4:
0 0 1 1 0 1 1 0 0 1 1 0 NE!!!
Izračunati paritet grupe koju kontrolira bit na poziciji 8:
0 0 1 1 0 1 1 0 0 1 1 0 da
Greške su otkrivene u grupama koje kontroliraju bitovi na pozicijama 1, 2 i 4 → pozicija pogrešno
primljenog bita je 1 + 2 + 4 = 7. Budući da primljena riječ glasi: 0011 01 1 0 0110, ispravna
riječ je: 0011 01 0 0 0110. Iz nje dobijemo (izdvajanjem podatkovnih bitova) podatkovnu riječ
1010 0110.

Rezultat dekodiranja primljene riječi 0011 0110 0110, kodirane Hammingovim


kodom upotrebom parnog pariteta, je podatkovna riječ 1010 0110.

1
C…kontrolni bit, D…podatkovni bit

Kôdovi s otkrivanjem pogrešaka 3.

You might also like