Upload
-
View
134
Download
2
Embed Size (px)
DESCRIPTION
hemingov kod, zastita podataka
Citation preview
Nikola Rancic2010/201048
HEMINGOV KOD 12,8
Kodovanje
1. Kodovanje radi tajnosti2. Kodovanje u cilju efikasnog prenosa3. Kodovanje radi kompresije
Kodovanje radi efikasnog prenosa
• Tokom prenosa podataka dolazi do promena na pojedinim bitovima usled smetnji.
• Smetnje postoje u komunikaciji dva ili vise racunara ali i u komunikaciji izmedju komponenti jednog racunara.
Resavanje problema prenosa
• Uz podatke se salju i kontrolni bitovi.• Kontola gresaka unapred
Neispravno preneseni bitovi se otkrivaju i koriguju.
• Kontrola gresaka unazadOtkriva da li postoji greska ali se ona ne ispravlja vec se podaci ponovo salju.
RICARD HEMING
Ricard Heming (11.02.1915 – 07.01.1998), bio je americki matematicar koji je dao znacajan doprinos razvoju racunarskih nauka. Nosilac je mnogih priznanja iz polja matematike i racunarstva. Na polju racunarstva osmislio je sistem za otkrivanje i ispravljanje gresaka nastalih tokom prenosa koji i nosi naziv Hemingovi kodovi za sta je dobio i Tjuringovu nagradu.Osim na polju racunarstva Heming je ostvario znacajan doprinos na projektu Menhetn.
Hemingov kod 12,8
• Hemingov kod se najcesce koristi za ispravljanje gresaka u RAM memorijama.
• Poruka koja se prenosi je duzine 12 bita pri cemu je 8 bita rezervisano za podatke a preostala 4 bita su kontrolna i izracunavaju se na osnovu bitova podataka.
• Kontrolni bitovi se nalaze na prvoj, drugoj, cetvrtoj i osmoj poziciji.
•Kontrolni bitovi su na pozicijama 1,2,4,8 (C1,C2,C3,C4).
C1 = M1 ⊕ M2 ⊕ M4 ⊕ M5 ⊕ M7C2 = M1 ⊕ M3 ⊕ M4 ⊕ M6 ⊕ M7C3 = M2 ⊕ M3 ⊕ M4 ⊕ M8C4 = M5 ⊕ M6 ⊕ M7 ⊕ M8
Primer:
• Podaci = 11110010• C1 = 0 ; C2 = 0 ; C3 = 1 ; C4 = 1• Poruka za prenos je 001111110010• Na prijemnoj strani se ponovo racunajukontrolni bitovi da bi se utvrdilo da li je i na kojoj poziciji doslo do greske. Ako greska postoji ona se ispravlja.
Ako uneti niz nije deljiv sa 8 dodaju se nule
Upisuje poruku u .txt fajl
Racunaju se kontrolni bitovi primljene poruke i uporedjuju se sa pristiglim kontrolnim bitovima
Odredjuje se pozicija na kojoj je doslo do greske
Ispravlja se greska na osnovu pozicije
Izbacuje kontrolne bitove u ispravljenoj poruci