Podlady předmětu pro aademicý ro /4 Radim Farana Obsa Detece cyb, Hamminoa dálenost Kontrolní a samooprané ódy Lineární ódy Hamminoy ódy Opaoací ódy Cylicé ódy Detece cyb Množinu šec slo rodělíme na sloa ódoá a sloa neódoá t-násobná cyba mění ódoé sloo na neódoé, poud se dě ódoá sloa liší e íce než t nacíc Hamminoa dálenost je počet naů e terýc se dě ódoá sloa liší Hamminoa dálenost ódu d je nejmenší nic
Hamminoa dálenost 4 neódoá sloa d = ódoé sloo d = ódoé sloo Hammin, Ricard Wesley * 95 Cicao, Il USA + 7 998 Monterey, Cal USA ttp://cmbell-labscom/cm/cs/alumni/ammin/ Kód odaluje t-násobné cyby, poud je Hamminoa dálenost ódu d > t Onačení ódů blooýc: n, -ód počet naů počet informačníc naů 4, -ód má jeden ontrolní na, je scopen mít d = Opraoání cyb 5 neódoá sloa d = d = ódoé sloo d = ódoé sloo d = Kód oprauje t-násobné cyby, poud je Hamminoa dálenost ódu d > t Kód douroměrné ontroly parity Informační nay apíšeme do matice typu p, q Každému řádu přidáme jeden symbol ontroly parity řádu, podobně aždému sloupci ontrolu parity sloupce Paritě sloupce parit řádů pa na ontrola ontrol, olený ta, aby i parita ýsledné matice byla sudá Např pro p = 7 a q = obdržíme ASCII, -ód Tento ód oprauje jednoducé cyby Přílad ontrola parity řádů ontrola ontrol ontrola parity sloupce
Lineární ódy maticoé ódy 7 Kódoé sloo cápeme jao řádoý etor = [ ] Lineární ombinací liboolnéo počtu ódoýc slo nine opět ódoé sloo Kód je možno popsat pomocí enerující matice terou toří báe ódu G = = G Systematicé ódy 8 Informační sloo toří ačáte ódoéo sloa G = E B Určení informačnío sloa deódoání je triiální Je možno snadno určit ontrolní matici T ódu H = -B E A syndrom přijatéo sloa s = H T Nenuloý syndrom indiuje cybu Hamminoy ódy Opraují jednoducé cyby a jsou perfetní = při danýc lastnostec mají minimální možnou redundanci Kód s m ontrolními nay m =,, má délu n = m Sloupce ontrolní matice toří binární rooj čísel,,, m - Nenuloý syndrom je binárním roojem poice cyby 9
Cylicé ódy polynomicé ódy Jsou podtřídou lineárníc ódů Kódoé sloo cápeme jao ápis polynomu Cylicým posunem naů ódoéo sloa nine opět ódoé sloo n a a a a n a aa a a n Kromě enerující matice moou být popsány taé enerujícím polynomem Jsou scopny dobře deteoat opraoat i sluoé cyby Cylicé ódy Cylicý posun odpoídá násobení proměnnou Přesun oeficientu u nejyšší mocniny na ačáte ódoéo sloa yřešíme aedením: n n n,,, Dělení polynomu a polynomem b cápeme jao určení podílu q a bytu r a qb r a de r de b Oru polynomů modulo q Výnamný je pojem oru polynomů modulo q: T / q Kde je T - těleso nilé abecedy T, u binárníc ódů pracujeme s tělesem Z = {, }, q polynom proměnné nad tělesem T, oeficienty polynomu jsou pry tělesa T Záladní operace oruu polynomů modulo q jsou pa: Sčítání a + b stejné jao sčítání polynomů Násobení a b je ša definoáno jao byte po dělení polynomu ab polynomem q 4
5 Generující polynom Poud olíme q = n nine oru polynomů, e terém platí n = Polynomy patřící do tooto oruu pa definují jednotliá ódoá sloa cylicéo ódu Generující polynom cylicéo n, -ódu je polynom stupně n tomto ódu, terý je dělitelem polynomu n 4 Generující matice cylicéo ódu Generující matice cylicéo ódu nine cylicým posunem oeficientů enerujícío polynomu: n n n n G - - Její řády toří polynomy: 5 Kontrolní polynom Kontrolní polynom: Kontrolní matici cylicéo n, -ódu ísáme cylicými posuy oeficientů ontrolnío polynomu čtenéo od nejyšší mocniny: : n H n + Pro aždý polynom, pro terý platí: splňuje ontrolní matice podmínu: T T H
Realiace cylicýc ódů systematicé ódoání: ódoé sloo čteme popátu neboli polynomy apisujeme od nejyšší mocniny, tedy opačně než jsme je apisoali dosud Z informačníc bitů u u u ytoříme n n n polynom: u u u u Tento polynom dělíme enerujícím polynomem : u q r de je de r n Odečtením bytu nine ódoé sloo: q u r Realiace cylicýc ódů 7 Protože binární aritmetice platí, polynom u obsauje jen oeficienty u mocniny n nebo yšší, atímco byte oeficienty nižší, pa při onačení r r n r n r r n yšleme ódoé sloo u u u r r rn Kódoé sloo je dělitelné bee bytu Pod onačením CRC-ódy Cyclic Redundance Code mají široé použití n Typicé CRC ódy počet ontrolníc bitů onačení enerující polynom použití 8 LRCC 8 8 ontrolní Byte je součet datoýc Byte modulo CRC použíá se pro šestibitoé nay LCRC ontrolní součet dojic Byte Word modulo CRC 5 binární syncronní protool CRC reerní 4 SDLC 5 linoý protool IBM, standard CCITT SDLC reerní 4 CRC Eternet, HDLC, ZMODEM 8 7 5 4 8
Hardwaroá realiace cylicýc ódů pro Hamminů 7, 4-ód s enerujícím polynomem q je dělení enerujícím polynomem snadno realioatelné pomocí dou binárníc sčítače a tří posunýc reistrů 9 + r + r r u u u u q q q q Do obodu stupují oeficienty polynomu u = u + u 5 + + u a ystupují oeficienty podílu q = q + q 5 + + q Po ystoupení poslednío oeficientu ůstáají reistrec oeficienty bytu r = r + r + r Hardwaroá realiace cylicýc ódů Podíl q je pro nás nepodstatný, ajímá nás poue byte r, přesunem stupu informačníc bitů na onec obodu, ísáme byte r ined po průcodu informačníc bitů obodem r + r r + u u u Přílad Hamminů 7, 4-ód není cylicý Např cylicým posunem sloa prní řáde enerující matice dostaneme neódoé sloo jeo syndrom je Protože sloupce ontrolní matice Hamminoa ódu můžeme psát liboolném pořadí, uspořádáme je ta, aby nil cylicý ód H 7
Přílad Sloupce toří šecna sloa dély romě Místo slo budeme psát polynomy stupně nejýše pomocné proměnné její onačení je oleno důodu odlišení od proměnné Cceme najít pořadí, jaém apsat šecny nenuloé polynomy a + b + c jao sloupce c b a Přílad matice H ta, aby nil cylicý Z / q ód K tomu použijeme oru de je q polynom třetío stupně, taže pry oruu jsou práě naše polynomy Jao odná olba se uauje: q neboť platí Přílad 4 taže mocninami i yjádříme naše polynomy 4 5 8
9 5 Přílad Kontrolní matici H nyní uspořádáme podle těcto mocnin: 5 4 H Přílad Kód s touto ontrolní maticí sestáá e šec polynomů: pro teré platí: H 7 Přílad neboli oruu a tento ód je cylicý, přitom má ontrolní matice jao sloupce šecna nenuloá sloa dély, taže je to Hamminů 7, 4-ód / Z
8 Přílad Generující polynom je stupně 7 4 = a je to jediný taoý polynom Generující matice je tedy: G 9 Přílad Kontrolní polynom určíme e tau : n : 4 7 Ten určuje ontrolní matici: H