Teorija kodiranja. Hamingov kod i njegova definicija

Σχετικά έγγραφα
Elementi spektralne teorije matrica

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Operacije s matricama

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Teorijske osnove informatike 1

3.1 Granična vrednost funkcije u tački

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE

SISTEMI NELINEARNIH JEDNAČINA

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Linearna algebra 2 prvi kolokvij,

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Geometrija (I smer) deo 1: Vektori

III VEŽBA: FURIJEOVI REDOVI

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

1 Promjena baze vektora

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

Dijagonalizacija operatora

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

5 Ispitivanje funkcija

Matematika 1 { fiziqka hemija

7 Algebarske jednadžbe

41. Jednačine koje se svode na kvadratne

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Osnovne teoreme diferencijalnog računa

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

APROKSIMACIJA FUNKCIJA

Linearna algebra 2 prvi kolokvij,

5. Karakteristične funkcije

Ispitivanje toka i skiciranje grafika funkcija

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Računarska grafika. Rasterizacija linije

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

18. listopada listopada / 13

numeričkih deskriptivnih mera.

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Dvanaesti praktikum iz Analize 1

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

ELEKTROTEHNIČKI ODJEL

Zavrxni ispit iz Matematiqke analize 1

LINEARNA ALGEBRA 1, ZIMSKI SEMESTAR 2007/2008 PREDAVANJA: NENAD BAKIĆ, VJEŽBE: LUKA GRUBIŠIĆ I MAJA STARČEVIĆ

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Sistemi linearnih jednačina

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

5 Sistemi linearnih jednačina. a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

Funkcije dviju varjabli (zadaci za vježbu)

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

x + 3y + 6z = 3 3x + 5y + z = 4 x + y + z = 4.

Vektorski prostori. Vektorski prostor

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Program testirati pomoću podataka iz sledeće tabele:

Računarska grafika. Rasterizacija linije

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Riješeni zadaci: Nizovi realnih brojeva

Diferencijabilnost funkcije više promenljivih

Kaskadna kompenzacija SAU

Linearna algebra. skripta. Januar 2013.

SKUPOVI I SKUPOVNE OPERACIJE

KONVEKSNI SKUPOVI. Definicije: potprostor, afin skup, konveksan skup, konveksan konus. 1/5. Back FullScr

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Jednodimenzionalne slučajne promenljive

RIJEŠENI ZADACI I TEORIJA IZ

Uvod u teoriju brojeva

Relacije poretka ure denja

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Linearna algebra. skripta. Januar 2013.

Glava 1. Realne funkcije realne promen ive. 1.1 Elementarne funkcije

Matematička analiza 1 dodatni zadaci

Linearna algebra. skripta. Januar 2013.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

4 Matrice i determinante

Zadaci iz trigonometrije za seminar

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

IZVODI ZADACI (I deo)

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

1 Svojstvo kompaktnosti

Sistemi veštačke inteligencije primer 1

radni nerecenzirani materijal za predavanja

Aksioma zamene. Aksioma dobre zasnovanosti. Aksioma dobre zasnovanosti Svaki neprazan skup A sadrži skup a takav da je A a = 0.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

4 Numeričko diferenciranje

Transcript:

Teorija kodiranja. Hamingov kod i njegova definicija Erna Oklapi Gimnazija Novi Pazar ernaoklapii@yahoo.com Sanela Numanović Gimnazija Kruševac sanelanumanovic@yahoo.com Rezime U ovom radu predstavljen je i definisan Hamingov kod. On nam pomaže pri otkrivanju i ispravljanju grešaka koje nastaju pri prenosu informacija, na primer u telekomunikacijama. Pored specijalnih slučajeva u radu je prikazano kako Hamingov kod funkcioniše za bilo koji opšti slučaj. Ključne reči: Kod, matrica, greška, bit parnosti, kodna distanca. Uvod Teorija kodiranja je grana matematike bazirana na analizi podataka koji se prenose kroz kanale sa šumom i na ispravljanje eventualnih grešaka koje pri tom nastaju. Glavna razlika izmedju kriptografije i kodiranja je u tome što je glavni zadatak kriptografije da napravi poruke koje su teške za razumevanje bez šifre, što sa kodiranjem nije slučaj. Dakle ako imamo reč koju prenosimo a koja je u binarnom zapisu, kodiranjem se dodaju neki pomoćni bitovi koji pomažu pronalaženju i ispravljanju eventualne greške nastale pri prenosu reči od pošiljaoca do promaoca. Najprostiji način kodiranja je pomoću bitova parnosti o čijoj će primeni biti više kasnije. Posle više pokušaja, prvi kod pomoću kojeg se pronalazi i ispravlja nastala greška, predstavio je Ričard Haming. 2 Savršeni kodovi Pre definisanja Hamingovog koda, pokazaćemo najbitnije karakteristike savršenih kodova u koje spada i sam Hamingov kod. U teoriji kodiranja posmatra se skup F od q različitih simbola, tj. slova koji se naziva azbuka. U praktičnim problemima je obično q = 2 i F = {, }, dok se u teorijskim razmatranjima uzima da je q = p r, tako da je p prost broj i F = GF (q). Tako je moguće formirati q n n-torki koristeći slova skupa F koje se nazivaju reči. Sa F n

se obeležava skup svih reči dužine n. Kada je q = p r reči se mogu predstaviti kao n dimenzionalni vektori nad poljem GF (q) i tada je F n vektorski prostor nad poljem. Poruke koje se šalju kroz telekomunikacioni kanal kodiraju se pomoću reči iz skpa F n. Ovakav način kodiranja naziva se blokovsko kodiranje. Možemo pretpostaviti da se reč prenosi slovo po slovo kroz kanal. Usled smetnji svako slovo može se pogrešno preneti i na kraju kanala korisnik ga registruje kao neko drugo slovo. Neka je p verovatnoća da se slovo na kraju kanala registruje kao neko drugo, tada je np srednja vrednost broja grešaka prilokom prenošenja reči dužine n. Na osnovu te verovatnoće može se odrediti maksimalan broj grešaka e koje se mogu prsktično pojaviti. Osnovni zadatak teorije kodova je da razradi metode za korekciju greške. Skup S(x, r) = {y y F n, d(x, y) r} n-torki y koje su od n-torke x udaljene za najviše r naziva se (zatvorena) kugla poluprečnika r sa centrom u x. Svaki podskup C skupa F n naziva se kod. Minimalno medjusobno rastojanje n-torki iz jednog koda C naziva se kodovsko rastojanje. Kod kodovskog rastojanja 2e + ima osobinu da se njegove n-torke mogu rekonstruisati na kraju telekomunikacionog kanala ako se prilikom prenošenja svake n-torke na napravi više od e grešaka, tj. ako bar n e prenošene reči tačno primi na kraju kanala. Definicija Kod C = {x, x 2,..., x m }( F n ) kodovskog rastojanja 2e + se naziva savrěn ako je m S(x i, e) = F n i= tj. ako je unija kugli poluprečnika e opisanih oko n-torki koda C jednaka skupu svih n-torki F n. 3 Hamingov kod Mašine treba da rade. Ljudi treba da razmišljaju., reči su američkog matematičara koji se zvao Ričard Vesli Haming (Richard Wesley Hamming). On je rodjen. februara 95. godine u Čikagu, a preminuo je 7. januara 998. godine u Montereju, Kalifornija. Imao je dosta uticaja na razvoj kompjuterskih nauka i telekomunikacija. Njegova najuticajnija otrića bila su Hamingov kod (iz kojeg proističe Hamingova matrica), Hamingovi brojevi i definisanje Hamingove distance. Zanimljivo je da je radio kao jedan od programera u Drugom svetskom ratu, čiji je zadatak bio da provere da li će eksplozija atomske bombe štetiti atmosferi. Dobio je više nagrada medju kojima je najznačajnija Tjuringova. Da bismo definisali Hamingov kod moramo se upoznati sa osnovnim karakteristikama koda. Definicija 2 Kod C je podskup skupa A n gde je A alfabet nad kojim se vrši kodiranje, a A n je skup svih uredjenih n torki. Definicija 3 Kod u alfabetskom prostoru i čiji je linearni prostor iznad tog polja onda je taj kod linearan. Definicija 4 Reč je element A n. Kodna reč je element C. 2

Dimenzija koda je broj vektora u bazi koda. Linearni kodovi dužine n i dimenzije k će se opisivati kao [n, k] kodovi. Hamingovi kodovi su linearni kodovi koji se opisuju kao [n, k] kodovi koji odredjuje i q koje predstavalja kardinalnost baze F q, gde je q = 2 jer je F q = {, }. Hamingov kod radi na principu dodavanja pomoćnih bitova parnosti bitova na pozicijama stepena dvojke reči koju treba da prenesemo. Definisaćemo matricu B pomoću koje odredjujemo zavisnost vrednost bitovi parnosti bitova od ostalih bitova kodne reči. Definicija 5 Matrica B[2 n, n], gde je b ij {, } se konstruiše tako što se svako i izrazi u obrnutom binarnom zapisu u i-toj vrsti,a ostala polja b ij imaju vrednost nula. Matrica za specijalan slučaj gde je n=3 izgleda: x x 2 x 4 x 8 2 3 4 5 6 7 Definicija 6 Bit parnosti 2 j je odredjen svakim i iz j-te kolone ako je b ij =. Za specijalni slučaj imamo: x 4 = x 5 + x 6 + x 7 x 2 = x 3 + x 6 + x 7 x = x 3 + x 5 + x 7 Iz gore navedenog se može primetiti da svaki bit parnosti zavisi od bitova reči u čijem se indeksu sadrži indeks samog bita parnosti. Ako želimo preneti reč () onda se ona kodira na sledeći način:. (x x 2 x 4 ) 2. (x x 2 ) 3. (x ) 4. ( ) Za reč potrebna su 3 bita parnosti, što znači da će primalac dobiti reč od 7 bitova. Kodiranje se vrši tako što se ne popunjavaju mesta na kojima se bitovi parnosti nalaze već se datom rečju redom popunjavaju 3, 5, 6 i 7. mesto kodne reči. x, x 2, x 4 se izračunavaju po gore navedenim formulama. Za proveru greške u ovom slučaju koristićemo sledeće jednačine: z = x 4 + x 5 + x 6 + x 7 z 2 = x 2 + x 3 + x 6 + x 7 z 3 = x + x 3 + x 5 + x 7 3

z z 2 z 3 predstavlja binarni zapis indeksa bita na kojem se nalazi greška. Ako je z =, z 2 = i z 3 = onda se greška nalazi na 5. bitu, jer je (5) 2 =. Ukoliko je z z 2 z 3 = onda nema greške u primljenoj reči. Ovo treba dokazati u opštem slučaju. Svaki z se predstavlja zbirom odgovarajućeg bita parnosti i bitova od kojih taj bitovi parnosti bit zavisi.. Ako je z =, onda nema greške u kodnoj reči, jer zbir 2 istovetna bita parnosti treba da bude. 2. Ako!z i =, gde je z {z, z 2,..., z n } onda je greška na 2 n i bitu parnosti. 3. Ako postoji m z i takvih da je z i i m, onda je greška u bitovima koda, a mesto koda je predstavlja binarni zapis svih z j. Dokaz: Ako imamo grešku na x i bitu, posmatrajmo sldeće: z n = x + x 3 + x 5 +... + x 2 n z n = x 2 + x 3 + x 6 + x 7 +... z n 2 = x 4 + x 5 + x 7... z n k = x 2 k +... z = x 2 n +... Ako je i indeks bita na kom je greška tada je (z z 2... z n ) 2 = i. z j =, gde je j =, 2, 3,... n ako x i bit učestvuje u sumi z j. x 2 n j bitovi parnosti bit z j i on će čekirati x i ako 2 n j učestvuje u zapisu broja i. Posmatrajmo binarni zapis broja i. Neka je to (a a 2...a n ) 2 = i = a 2 +a 2 2 +...+a n j 2 j +a j 2 n j +...+a n 2 n 2 +a n 2 n a j = Ovim je dokaz završen. a j = z j i = (z z 2... z n ) 2 Definicija 7 k- dimenzionalni potprostor C vektorskog prostora F n naziva se linearni (n, k) - kod nad poljem GF (q) Linearni kodovi C se obično predstavljaju pomoću generišuće matrice koda. Vrste generišuće matrice obrazuju bazu vektorskog prostora C. Ako C predstavlja (n, k) kod, njegova generišuća matrica je dimenzija k x n. Vektori koda C se dobijaju kao linearne kombinacije vrsta matrice G, pri čemu se koeficijenti uzimaju iz odgovarajućih polja GF ( q). Skup svih vektora koji su ortogonalni na sve vektore koda C naziva se dualni kod koda C i obeležava se sa C. Ako je C linearni (n,k)-kod, dualni kod C je linearni (n, n k)-kod. Generišuća matrica H dualnog koda C naziva se kontrolna matrica koda C. Generišuća matrica G i kontrolna matrica H koda C povezane su jednakošću GH T =, odnosno C = {x Hx T = } koja se neposredno proverava na osnovu navedenih definicija. 4

Definicija 8 Neka je H matrica tipa m 2 m čije su kolone binarni zapisi brojeva, 2,..., 2 m. Ova matrica predstavlja kontrolnu matricu Hamingovog koda, a kod je dimenzija [2 m, 2 m m], gde je m prirodan broj. Skup C svih n torki (n = 2 m ) iz F n (F = GF (2)) koje su ortogonalne na sve vrste matrice H predstavlja Hamingov kod. Kontrolna matrica [7, 4] binarnog Hamingovog koda za ovaj specijalni slučaj gde je m = 3 ima sledeći oblik: a kod će izgledati: ( ), ( ) ( ), ( ) ( ), ( ) ( ), ( ) ( ), ( ) ( ), ( ) ( ), ( ) ( ), ( ) Za proveravanje grešaka pomoću matrice, neophodno je definisati pojam Hamingove distance. Definicija 9 Rastojanje d(x, y) reči x i y iz F n je jednako broju koordinata u kojima se reči x i y razlikuju. Lema Minimalna distanca izmedju dve kodne reči u Hamingovom kodu je 3. Dokaz: Neka su x i y dve kodne reči Hamingovog koda C sa kontrolnom matricom H. Kada x y C, C je linearan kod. Ako je d H (x, y) = onda matrica H(x y) je jedna od kolona matrice H. Sve kolone matrice H su različite od nule, ali ako je (x y) kodna reč, onda je H(x y) =. Kontradikcija. Ako je d H (x, y) = 2 onda je H(x y) = akko u matrici H postoje dve kolone koje su linearno zavisne. Pošto to ne važi, sledi da je d H (x, y) 3 za svaku x, y kodnu reč. Svaka kontrolna matrica Hamingovog koda će imati tri kolone koje su linearno zavisne, i iz te činjenice proizilazi da je Hamingova kodna distanca nekih kodnih reči 3. Ovim je tvrdjenje dokazano. On je linearan blokovski (n, n m) kod. Svaka nenulta n-torka koda sadrži bar 3 simbola jednaka, zato je kodovsko rastojanje koda jednako 3 i on može ispravljati jednu grešku. Broj n torki u kodu je 2 n m, a kugla poluprečnika sadrži n + n torku. Pošto je 2 (n m)(n+) = 2 n sve n-torke su pokrivene kuglama pa je Hamingov kod savršen. Za proizvoljno polje GF (q) sa q 2 elemenata konstrukcija matrice H je složenija. Broj kolona ove matrice iznosi qm q Matrica Hamingovog koda se koristi za proveravanje i ukazivanje na samo jednu grešku u primljenoj kodnoj reči. Pošto je Mx T = i ako je x = y gde je y primljena kodna reǒnda će važiti sledeće: My T = što znači da nije 5

došlo do greške u prenosu. Ukoliko Mx T, onda je greška na bitu čija pozicija odgovara broju koji je u binarnom zapisu dobijen množenjem M i x T. Za specijalan slučaj imamo Hamingovu matricu kod koje je m = 3 i primljenu kodnu reč []. = Iz ovoga se vidi da je greška na 5. bitu kodne reči jer je () 2 = 5. Za opšti slučaj treba dokazati sledeću teoremu. Teorema Proizvod matrica A[2 (m ), m] i B i je binarni zapis indeksa bita na kome se nalazi greška. Dokaz:Neka se greška nalazi na i tom mestu u kodnoj reči. Po definiciji Hamingove matrice A njena i ta kolona predstavlja binarni zapis broja i. Pošto je nula neutralni element za operaciju konjukcije, onda sve jedinice koje se nalaze na a ij poziciji postaju z. Posle operacije konjukcije, bitovi se sabiraju po modulu dva i to daje konačan rezultat.. Ukoliko je x i = (greškom prelazi u ), onda se na osnovi navedenog postupka za vrednost z j dobija. =, nakon greške to prelazi u ( = ) 2 m j= a ij b j = 2 2. Za x =, analogno prethodnom, važi =, gde zbog greške prelazi u =, pa se zbog promene nakon sabiranja po modulu 2 umesto nule dobija. Hamingov kod se koristi i za pronalaženje više od jedne greške u nekoj kodnoj reči. Koristi se način proširene Hamingove matrice. Ako na primer imamo primljenu reč (), gde su greške na. i 5. mestu, i ukoliko tu reč pomnožimo sa kontrolnom Hamingovom matricom dobićemo sledeće: = () je binarni zapis broja 4 i iz prethodnog sledi da je greška na 4. bitu, što ovde nije slučaj. Pošto se prethodno opisan način koristi za odredjivanje greške na jednom bitu mora postojati njena neka složenija kontrolna matrica 6

koja ukazuje na dve greške. Zato se konstruiše proširena Hamingova matrica koja će biti u mogućnosti da detektuje dve grške. Da bi se konstruisala potreban je još jedan bitovi parnosti bit x koji je odredjen nasledeći način: x = x + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 Sada kod ima dužinu 8, ali je i dalje linearan sa dimenzijom 4. Sada se konstruiše [8, 4] prošireni Hamingov kod koji za bilo koju dužinu dodaje novi bit parnosti. Proširena Hamingova matrica se lako konstruiše iz kontrolne matrice običnog Hamingovog koda tako što se nule dodaju sa leve strane, a jedinice na dno matrice. Imamo x i y binarne reči Hamingovog koda distance 3, gde x ili y imaju jedan paran, drugi neparan broj bitova parnosti. Uzmimo da x ima paran broj bitova parnosti. Ako su x i y kodne reči proširene Hamingove matrice, onda je x =, pošto x ima parni broj bitova parnosti, a y =, zato što je broj bitova parnosti u y neparan. Distanca izmedju x i y je veća od distance izmedju x i y, tako da je minimalna kodna distanca proširenog Hamingovog koda 4. Ako primimo reč koja u odnosu na poslatu reč ima distancu, onda možemo da ispravimo tu grešku jer se ona javlja samo na jednom bitu. Ukoliko se poslata i primljena reč razlikuju za 2, onda se ukazuje na to da su u prenosu nastale greške na dva bita u reči. Dekodiranje proširenom Hamingovom matricom je malo komplikovanije. Njegova kontrolna matrica proširenog Hamingovog koda je M, a H matrica običnog Hamingovog koda od kojeg je proširena matrica nastala i neka je y = (y, y,..., y n ) primljena reč. Pretpostavimo da se pojaqvila greška na samo jednom bitu i to na poslednjem. My T množenje je ekvivalentno M(y, y,..., y n ) T množenju. Poslednji red My T će biti zato što postoji samo jedna greška, tako da binarni zapis broja n odgovara koloni M koja je brojem r odredjena. Pretpostavimo da je greška na bitu parnosti. Tada je M (y, y,..., y n ) T =, tako da će prvih n kolona biti jednako, ali poslednja će imati vrednost jer je greška samo na bitu parnosti koji odgovara jednoj koloni matrice M. Na kraju pretpostavimo da su se javile dve grške u primljenoj reči. Bilo gde da su detektovani, patiti bitovi će biti tačni zato što će proizvod biti u poslednjoj vrsti i to neće biti kolona kontrolne matrice. Možemo generalisati konstrukciju linearnog q Hamingovog koda gde je [n, k] Hamingov kod linearni prostor nad poljem odredjenim nad q. Za dato r izaberimo r torku elemenata iz F q. Izaberimo još jednu r torku koja je linearno nezavisna od prve. To pravi 2 kolone. Nastavlja se sabiranje r torki sve dokle je moguće da one budu linearno nezavisne. Ove r torke se rasporedjuju kao kolone matrice M. Postoji q r takvih r torki. Broj kolona matrice M je qr q. Definišimo linearan kod čija kontrolna matrica ima sledeće dimenzije: (q r )(q ), qn q r. Kontrolna matrica je generišuća matrica dualnog koda, koji u ovom slučaju mora da ima dimenziju r, jer dimenzija našeg Hamingovog koda mora da bude: n r = qr q r. Za [4, 2] Hamingov kod (q = 3) kontrolna matrica će biti: 7

a kod će izgledati: [ 2 ] ( ), ( ), ( 2 2 2), ( 2), (2 2 ), ( 2 ), (2 2 ), (2 ), (2 2) Isti [4, 2] Hamingov kod se može predstaviti i sledećom matricom: [ ] a čiji je kod: ( ), ( 2 ), ( 2 2), ( ), (2 2 2), ( 2), (2 2 ), ( 2 2 ), (2 ) Dakle imamo proizvod My T za kontrolnu matricu M a primljenu reč y. Ako je proizvod nula, onda nema greške, a ako nije nula onda proizvod odgovara nekoj koloni matrice M. Ukoliko je proizvod αm i gde je α F q i i iz m i predstavlja redni broj kolone matrice M i uzmimo da je to vektor greške koji je kodu dodat prilikom prenosa poruke. To je vektor (... α... ), gde je α na i-tom mestu. Sledi da je vektor koji prestavlja primljenu reč y (... α... ). Definicija Kod koji ispravlja e grešaka(e kod) nazivamo e perfektni kod ako je C S e (x) F q n ili e ( ) n F q n = C (q ) i i i= Lema 2 Za Hamingov kod važi C = q n r. Dokaz: Od q elemenata možemo izabrati tačno q n n torki. Pošto vrednosti bitova parnosti kojih ima tačno m, zavise od vrednosti ostalih bitova, onda se broj n torki smanjuje 2 r puta. Teorema 2 Hamingov kod je perfektan kod. Dokaz: Imamo na osnovu definicije perfektnog koda da je ( ) n F q n = C (q ) i i i= i iz definicije Hamingovog koda da je C = q n r. Kombinacijom ovih dveju jednakosti dobijamo sledeće: F q n = q n r ( + n(q )) pa kako je n = qr q onda F q n = q n r ( + q r ) što je i trebalo dokazati. F q n = q n 8

4 Zaključak Hamingov kod ima veliku primenu u telekomunikacijama. Trenutno postoje pretpostavke da Hamingov kod može koristiti u detektovanju i ispravljanju grešaka na digitalnim slikama (fotografijama). To se može realizovati time što bi se Hamingov kod definisao uz još parametara koji bi omogućili ispravljanje ne samo jedne greške. Literatura [] Dr Dragoš Cvetković, Dr Slobodan Simić, Kombinatorika i grafovi, Računarski fakultet, Beograd, 26. [2] Gojko Kalajdžić, Linearna algebra, Procesor, Matematički fakultet, Beograd, 994. [3] Filip Dž. Devis (Philip J. Davis), The Mathematics of matrices, GINN and Company, 965. [4] Radosav v Z. Djordjević, Gradimir V. Milovanović, Linearna algebra, Edicija: Osnovni udžbenici, 24. [5] James Fiedler, Hamming Codes http://orion.math.iastate.edu/linglong/math69f4/hammingcodes.pdf. 9