Zavrsni rad

3,908 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,908
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
51
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zavrsni rad

  1. 1. UNIVERZITET U SARAJEVU<br />ELEKTROTEHNIČKI FAKULTET SARAJEVO<br /> PRIMJENA RS KODOVA NA PRENOSNIKE <br /> PODATAKA TIPA<br /> COMPACT DISC I DIGITAL VIDEO DISC<br />Mentor: Kandidat:<br />Prof.dr. Narcis Behlilović,dipl.el.ing. Aldina Bajraktarević <br /> Sarajevo, septembar 2010.<br />-928533-899795 UNIVERZITET U SARAJEVU<br />ELEKTROTEHNIČKI FAKULTET SARAJEVO<br /> PRIMJENA RS KODOVA NA PRENOSNIKE <br /> PODATAKA TIPA<br />-93911130534 COMPACT DISC I DIGITAL VIDEO DISC<br />Mentor: Kandidat:<br />Prof.dr. Narcis Behlilović,dipl.el.ing. Aldina Bajraktarević <br /> <br /> Sarajevo, septembar 2010.<br />SADRŽAJ<br />UVOD.........................................................................................................................................3 <br />POSTAVKA ZADATKA.........................................................................................................5<br />1.ELEMENTI TEORIJE KODIRANJA................................................................................6<br />2.KONSTRUKCIJA RS KODOVA......................................................................................10<br />3.OPŠTI PRINCIP KODIRANJA I DEKODIRANJA RS KODOVA............................ 14<br /> 3.1 KODIRANJE DIJELJENJEM POLINOMA.............................................................15<br /> 3.2 DEKODIRANJE (n,k) RS KODOVA..........................................................................16<br />4.PREDNOSTI RS KODOVA U ODNOSU NA OSTALE VRSTE KODOVA................18<br />5.HARDVERSKA REALIZACIJA KODIRANJA POMOĆU RS KODOVA.................22<br />6.ARHITEKTURE ZA IMPLEMENTACIJU RS KODIRANJA NA CD<br />PRENOSNICIMA PODATAKA...........................................................................................23<br />7.ARHITEKTURE ZA IMPLEMENTACIJU RS KODIRANJA NA DVD<br />PRENOSNICIMA PODATAKA...........................................................................................31<br />8.PRISUTNOST RS KODOVA U INDUSTRIJSKIM STANDARDIMA........................34<br />ZAKLJUČAK..........................................................................................................................38<br />REFERENCE..........................................................................................................................40<br /> <br /> <br /> <br />357505-97878 U V O D <br />Živimo u vremenu digitalnih informacija, gdje se svaki vid informacije (govor, tekst, video, muzika,...) pretvara u digitalnu formu. Prikupljanje, prijenos i pohranjivanje informacija postali su veoma važan i nezaobilazan segment svakog društva. Život čovjeka postao je nezamišljiv bez primjene digitalnih tehnologija, te su sve više prisutni korisnički zahtjevi tipa brže-bolje. Upravo ova činjenica rezultira svakodnevnoj težnji ka postupcima koji će obradu i prijenos informacija obavljati velikom brzinom uz dovoljno malu vjerovatnoću greške kao i uz minimalnu složenost upotrebljivih uređaja i algoritama, te minimalno vrijeme trajanja tih postupaka. Danas se uglavnom koriste digitalni sistemi u kojima informaciju predstavljamo u binarnom obliku, odnosno pomoću nula i jedinica. Prilikom prijenosa informacija može doći do greške nastale usljed šuma, različitih fizičkih oštećenja prenosnog medija kao i mnogih drugih faktora. Te greške je potrebno svesti na minimum, te obezbijediti što vjerodostojniji prijenos informacija. Teorija zaštitnog kodovanja bavi se konstrukcijom takvih postupaka obrade poruke koji će za date karakteristike komunikacionog kanala omogućiti prijenos dovoljno velikom brzinom sa dovoljno malom vjerovatnoćom greške, uz minimalnu složenost uređaja (prostorna kompleksnost) i minimalno trajanje obrade (vremenska kompleksnost) [18].<br />Postoji mnogo različitih vrsta kodiranja, ali nema opšteg koda koji bi zadovoljavao svaku primjenu. Kako su svojstva pogrešaka koje mogu nastupiti tokom prijenosa različita i kako ovise o mediju koji se koristi za prijenos (optički vodovi, bakrene parice, radio prijenos...) tako se razlikuju i tipovi kodiranja. Općenito, kodiranje koje se primjenjuje za određeni slučaj mora dati što je moguće bolji odnos između brzine prijenosa i vjerovatnoće greške. Vjerovatnoća greške je veličina kojom se određuje koliko je bita, riječi ili informacijskih blokova primljeno ispravno u odnosu na ukupno primljeni broj i definira se za jako dug niz podataka. Odnosno, to je prosječan broj krivo primljenih podataka u odnosu na ukupan broj primljenih podataka. Bitan podatak za odabir vrste kodiranja su informacijska svojstva komunikacijskog kanala. Veličina kojom se opisuju svojstva kanala je najčešće BER (Bit Error Rate). BER predstavlja broj pogrešno primljenih bita u odnosu na ukupan broj prenesenih bita. Na osnovu tog podatka se potom odabire kod, koji zadovoljava potrebe za<br />konkretan slučaj. Također pri odabiru koda trebamo znati da li želimo pogreške samo otkriti ili ih želimo moći i ispraviti. Kodovi se tako mogu podijeliti na kodove za otkrivanje i kodove za ispravljanje grešaka. Pri tome je vrlo bitno što želimo postići. Tako neki kod može poslužiti za korekciju npr. najviše jedne pogreške u kodnoj riječi, dok se istim kodom mogu otkriti maksimalno dvije greške. To znači da ako se odlučimo za korekciju grešaka isti kod daje slabije rezultate nego, ako samo želimo otkriti da je došlo do greške. Vjerodostojnost prijenosa informacija postižemo direktnom primjenom kodova za kontrolu nivoa grešaka. Detekcija i korekcija grešaka zasnovana je na principu redundanse (suvišnosti) , i to na način da se svakoj informacionoj poruci dodaje određeni broj redundantnih simbola. Međutim, dodavanjem redundanse smanjujemo brzinu prijenosa, tako da je potrebno pronaći kompromis koji bi zadovoljio princip ekonomičnog i brzog prijenosa. <br />Prvi konstruisani zaštitni kod bio je Hamingov (Hamming, 1950.), koji je mogao da ispravi jednu grešku u sekvenci od 7,15,31,63,... bita. Odmah je zatim Golej (Golay, 1949.) dao konstrukciju često korištenog optimalnog binarnog koda dužine 23 bita, sposobnog za ispravljanje 3 greške. Generalizaciju ovog postupka dao je Slepijan (Slepian, 1956.), uvodeći teoriju grupa u zaštitno kodovanje ( linearni kodovi). Miler (Muller, 1954.) i Rid (Reed, 1954.) su konstruisali novu klasu kodova koja se može dekodovati majoritetnom logikom. Istovremeno su uveli elemente teorije konačnih polja u teoriju zaštitnog kodovanja. Pojam cikličkog koda uveo je Prejndž (Prange, 1957.). Na osnovu teorije konačnih polja, Boze i Rej – Čaudhurt (Bose, Ray-Chaudhury, 1960.) i Okvingem (Hocquenghem, 1959.) konstruisali su klasu linearnih cikličkih kodova, tkz. BCH kodova, koji su sposobni da isprave kontrolisan broj grešaka nastalih u sekvenci zaštičenih simbola određene dužine [11].<br />Rid i Solomon (Solomon, 1960.) konstruisali su specijalnu klasu BCH kodova, tkz. RS kodove, koja je jedna od najviše korištenih klasa zaštitnih kodova uopšte. Piterson (Peterson, 1960.) dao je elegantan postupak dekodovanja BCH i RS kodova, koji su zatim Gorenštajn i Cirler (Gorenstein, Zierler, 1961.), Šjen (Chien, 1964.), Forni (Forney, 1965.), Berlekemp (Berlekamp, 1968.) i Mesi (Massey, 1969.) usavršili do te mjere da je postao standard za ocjenu kompleksnosti dekodovanja. RS kodovi i Berlekemp-Mesi algoritam dekodovanja vrhunac su algebarske teorije zaštitnog kodovanja.<br />Teorija razvoja kodova za detekciju/korekciju grešaka počela je prije više od 50 godina, i svoje porijeklo vuče od radova američkog matematičara Kloda Šenona (Claude Shannon), kao što je već rečeno. On je uveo jedan sasvim novi pristup u razmatranju komunikacionih problema nastalih pri prijenosu informacija na daljinu, te dokazao teoremu, koja kaže da je moguće imati i dobru sposobnost koda da vrši korekciju grešaka i visoku brzinu prijenosa, tj. da nam uopće ne treba prethodno spomenuti kompromis. Preciznije rečeno, Šenonova teorema tvrdi da postoji kod koji omogućava prijenos informacija brzinom bliskoj kapacitetu kanala koliko god želimo, i pri tome čineći vjerovatnoću greške manjom od nekog unaprijed odabranog malog pozitivnog broja. Dokaz teoreme je mnogo nekonstruktivan i još uvijek predstavlja veliki izazov i težnju. Navedeno je uvjetovalo naglom razvoju algebarske, a paralelno njoj i probabilističke teorije zaštitnog kodiranja [11].<br />Ova teorija počela je svoj razvoj Eliasovom (Elias, 1955.) definicijom konvolucionih kodova i konstrukcijom Vozenkraftovog (Wozencraft, 1957.) algoritma sekvencijalnog dekodovanja kodova sa strukturom stabla. Bolje algoritme sekvencijalnog dekodovanja dali su Fano (Fano, 1963.), i Jelinek (Jelinek, 1969.). Za podklasu kodova sa strukturom stabla, trelis kodove, u koju spadaju i konvolucioni kodovi, Viterbi (Viterbi, 1967.) konstruisao je prost optimalni algoritam dekodovanja, koji je postao standard, kao i pomenuti algoritam dekodovanja BCH i RS kodova.<br />U ovom radu nas zanimaju prvenstveno RS kodovi. Decembra 1958.godine I.S.Reed i G.Solomon su objavili rad na temu „Polinomijalni kodovi nad određenim konačnim poljima“ u M.I.T Lincoln Laboratory [9]. Ovaj rad opisuje klasu kodova za korekciju greške koji su nazvani Reed-Solomon (RS) kodovi. Na početku, bez obzira na svoje pogodnosti, nisu ušli u praktičnu promjenu, razlog tome je što je digitalna tehnologija bila tek u početnom stadiju svoga razvoja. Tek 30-ak godina kasnije, pronalaskom optičkih disk sistema, te razvojem hard-disk pogona, digitalne televizije, RS kodovi našli su punu primjenu u praksi i postali neodjeljivi dio digitalnih sistema [18]. RS kodovi spadaju u klasu nebinarnih blok kodova.<br />Imaju veliku primjenu, jer su skoro „savršeni“, te već duži period su jedni od najrasprostranjenijih kodova, čak oko 80 % primjenjenih kodova danas pripada ovoj vrsti.<br /> POSTAVKA ZADATKA<br />Ukazati na osnovne karakteristike RS kodova i njihove prednosti u odnosu na ostale vrste algebarskih kodova. Diskutovati šeme za hardversku realizaciju kodiranja pomoću RS kodova. Istražiti prisutnost RS kodova u industrijskim standardima.<br />Analizirati arhitekture za implementaciju RS kodiranja na CD i DVD prenosnicima podataka.<br />Mentor:<br />Prof.dr.Narcis Behlilović,dipl.el.ing<br />.........................................................<br /> 1. ELEMENTI TEORIJE KODIRANJA<br />Pretpostavimo da želimo poslati neku poruku prijemnoj strani, te da se tokom prijenosa jedan dio poruke izmijenio, odnosno da je došlo do greške prilikom slanja. Postavlja se pitanje, šta uraditi da prijemna strana doista dobije tačnu poruku? <br />Ukoliko se donese odluka da se vrši dupliciranje originalne poruke ili možda dodavanje redudanse, neće se postići željeni cilj, jer se neželjeni signal tokom transmisije pojavljuje slučajno i proporcionalno po cijeloj dužini poruke. I dalje ostaje pitanje šta uraditi?<br />Razmatranjem navedenog problema uvidjeti će se da se isti problem javlja kod pohranjivanja velike količine podataka na CD-ovima, i tada se očekuje da će dio informacija vjerovatno biti izgubljen. Teorija kodiranja predstavlja rješenje navedenih problema. Pored kodova za detekciju i/ili korekciju grešaka, teorija kodiranja bavi se i metodama prikrivanja grešaka tkz. interpolacija.<br />Kodovi za detekciju i/ili korekciju podrazumjevaju tehniku „inteligentnog“ dodavanja redundantnih simbola korisnim podacima preko uređaja kojeg nazivamo koder za kontrolu nivoa grešaka sistema. Osnovna svrha kodiranja sa kontrolom grešaka je smanjiti vjerovatnoću primanja poruke koja će se razlikovati od originalne, tj. reduciranje šanse pogrešnog dekodovanja primljene poruke. Ovo pomaže povećanju pouzdanosti prilikom dekodiranja.<br />Kodovi za detekciju i/ili korekciju grešaka, kao što je već spomenuto, često se implementiraju zajedno sa dodatnim tehnikama za kontrolu nivoa grešaka, koji omogućavaju pouzdan i po mogućnosti brz prijenos informacija. Analizirati će se ukratko osnovni princip rada uopštenog sistema za kontrolu grešaka kod digitalnog komunikacionog sistema [18].<br /> zahtjev za retransmisijom<br />Prihvatanje grešakaKorekcijagrešakaRedundantno kodiranjeKodnamodulacijaKANALDemodulacijaDetekcijagrešaka<br /> Slika 1.Osnovni procesi koji se dešavaju u sistemu kontrole grešaka<br />Izvorna informacija sastavljena od binarnih simbola ili alfa-numeričkih simbola (simboli iz q-arnog alfabeta, q>2) dovodi se na ulaz redundantnog kodera koji vrši pripremno kodiranje podataka za modulator, tj. kodiranje plus dodatno procesiranje (uopšteno dodavanje redundantnih simbola izvornim simbolima informacije). Ovi procesirani podaci se proslijeđuju modulatoru u formi kodnih riječi. Tada modulator transformiše signal-vektor u talasni oblik signala koji je dobro prilagođen prijenosu kroz kanal. Nakon što je bio prenesen kroz kanal, signal je vjerovatno bio kontaminiran sa šumom. Zbog toga demodulator sa odgovarajućom izvjesnošću daje kodne riječi koje mogu uzrokovati greške u originalnoj poruci. Prisustvo grešaka prilikom prijenosa se detektuje nakon prihvatanja ovih podataka. Detekcija grešaka rezultuje u primjeni nekih tehnika kontrole grešaka zavisno od kodne strategije koju dekoder koristi. Ovo je uopšteni proces za bilo kakav komunikacijski sistem, odnosno sistem pohrane informacija. Svaka od ovih strategija se u odgovarajućoj mjeri ostvaruje u zavisnosti od tipa primjene. Međutim, postoje odgovarajuća ograničenja vezana za efikasnost sistema koji koristi samo detekciju plus retransmisiju. Kao prvo, kratki kodovi za detekciju grešaka nisu efikasni detektori grešaka, dok s' druge strane ako bi koristili duge kodove retransmisija bi se morala obavljati suviše često. Zato se danas u praksi najčešće koriste tkz. hiridni sistemi kontrole grešaka (HEC) koji koriste kombinaciju korekcije najfrekventnijih uzoraka greške, i detekciju i retransmisiju manje frekventnijih uzoraka greške. Pored detekcije i korekcije često je i tehnika prikrivanja grešaka vrlo važna u nekim sistemima, npr. kod digitalnih audio sistema.<br />U nastavku će biti objašnjeni osnovni principi zaštitnih kodova za kontrolu grešaka.<br />Kako je već opšte poznato postoje dva različita tipa kodova koji su uobičajni u ovim dizajnima: blok kodovi i konvoluconi kodovi. Uopšteno rečeno, kod se naziva blok kodom ako se kodirane informacione sekvence mogu podijeliti na blokove dužine n simbola, koji se neovisno dekodiraju. Ovi blokovi dužine n simbola se nazivaju kodne riječi.<br />Uz pretpostavku da postoji tačno M različitih kodnih riječi, tada se može reći da zaštitni blok kod ima dužinu blokova veličine n i veličinu M, tj. to da je (n,M) blok kod. Kodna brzina q-arnog (n,M) koda je i data je u simbolima po vremenu. Npr. za q=2, blok kod prerasta u binarni zašitni blok kod. <br />Pogledaćemo sada princip kodiranja zaštitnih blok kodova. Smatra se da koder blok koda vrši kodiranje neke proizvoljno izabrane poruke na način što informacionu sekvencu simbola poruke dijeli na blokove od k simbola, pri čemu se simboli biraju iz nekog fiksnog alfabeta Q koji se sastoji od q različitih simbola, gdje je q pozitivan cijeli broj. Svaka od ovih poruka je predstavljena kao k-torka simbola ili u vektorskoj formi kao , pri čemu imamo da je ukupan broj svih mogućih vektor-poruka tačno . Zatim koder svaku od ovih poruka neovisno transformiše (preslikava) u kodnu riječ (kodni vektor) , n-torku simbola iz alfabeta Q. Znači,različitih vektor-poruka, se preslikava tačno u različitih kodnih riječi na izlazu kodera [1]. Pošto je n>k , to je skup svih kodnih riječi striktno podskup svih mogućih blokva dužine n, za isti q-arni alfabet ().<br />Dakle, kodiranje pomoću zaštitnog blok koda nije ništa drugo do preslikavanje neke poruke m (k-torke simbola) u tačno određenu kodnu riječ C(m) (n-torku simbola), gdje je C neka funkcija kodiranja. Dužina kodne riječi n je obavezno veća od k. Poruka i kodna riječ su definisane nad istim poznatim q-arnim alfabetom Q. Skup od kodnih riječi dužine n nazivamo (n,k) blok kodom. Kodna brzina ovog koda je data kao R=k/n u simbolima po vremenu. S obzirom da n-simbolne izlazne riječi zavise samo od k-simbolnih vektora poruke, koder je tkz. koder bez memorije i može se realizovati preko kombinacionog logičkog kola. Koder konvolucionih kodova, isto tako, k-simbolnih blokova poruka formira n-simbolne kodne sekvence, gdje se simboli koriste da označe sekvencu blokova umjesto jednog bloka simbola. U ovom slučaju svaki kodirani blok zavisi ne samo od odgovarajućeg k-simbolnog bloka poruke, koji se trenutno dovodi na ulaz kanala, već i od prethodno poslatih blokova poruka. Zato se za konvolucioni koder kaže da ima memoriju reda m. Skup kodiranih sekvenci se označava kao (n,k,m) konvolucioni kod [18]. Kodna brzina je opet data kao R=k/n. Pošto konvolucioni koder posjeduje memoriju, on se implementira preko sekvencijalnog logičkog kola. Vidjeli smo da kodiranje zaštitnog blok koda predstavlja neke k-torke u tačno određenu n-torku C(m), određenu pravilom preslikavanja C. Nakon transmisije ove kodne riječi kroz kanal, na mjestu prijema dobivamo prijemnu riječ R dužine n, koja se u opštem slučaju razlikuje od C(m). Kao primjer, uzmimo da se prilikom transmisije kodne riječi kroz kanal, izmjenilo najviše t od n simbola. Šta bi se željelo postići sa primjenom dekodiranja zaštitnih blok kodova?<br />Iz primljene riječi R, a znajući pravilo kodiranja, željelo bi se sa određenom sigurnošću odrediti koja je originalna poruka bila odaslana. Označimo skup svih kodnih riječi sa K. Cilj nam je da proizvedemo takav skup K, da za bilo koje dvije kodne riječi, koje pripadaju navedenom skupu, vrijedi da nisu „bliske“ jedna drugoj. U nastavku objasnimo pojam „bliskosti“. U cilju ispitivanja performansi nekog zaštitnog blok koda, nezavisno od vrste kodnog kanala i postupka dekodiranja, definiše se jednostavna i opšta mjera kvaliteta. Ta mjera predstavlja Hemingovo(Hamming) rastojanje [2].<br />Po definiciji Hemingovo rastojanje predstavlja tipičnu mjeru za određivanje „bliskosti“ dvije kodne riječi jednake dužine, i jednostavno označava broj mjesta na kojima se one razlikuju. Sa pojmom Hemingovog rastojanja veže se drugi veoma važan pojam, a to je Hemingova težina , koja po definiciji odgovara broju nenultih mjesta n-torke c. Također definišimo i pojam Hemingove distance. Hemingova distance predstavlja minimalno kodno rastojanje između kodnih riječi nekog blok koda [6]. Odnos između minimalnog Hemingovog rastojanja i minimalne Hemingove težine , kod linearnog blok koda C, određen je sljedećom teoremom:<br />TEOREMA 1.: <br /> U jednom linearnom blok kodu C, minimalno Hemingovo rastojanje <br /> zadovoljava slijedeću relaciju: <br /> <br /> dakle jednako je minimalnoj Hemingovoj težini nenultih elemenata.<br />Ono što sada predstavlja predmet pažnje je koliki je maksimalan broj grešaka t na pojedinim pozicijama, pri kojem je kodna riječ jednoznačno dekodirana?<br />Ako pogledamo primljenu riječ R, u kojoj se pojavilo najviše t grešaka, tada sigurno odaslana kodna riječ C(m) mora postojati unutar Hemingove distance t u odnosu na R. Dvosmislenost u dekodiranju se pojavljuje kada postoje barem dvije kodne riječi, obje distance t ili manje u odnosu na primljenu riječ R. Pošto je Hemingovo rastojanje metrika, koristimo treću osobinu metrike-nejednakost trougla, da saznamo da distanca između neke kodne riječi prema primljenoj riječi, plus distanca između primljene riječi i bilo koje druge kodne riječi, mora biti manja ili jednaka distanci između kodnih riječi. Odnosno, pošto ova nejednakost mora vrijediti za bilo koju distancu između kodnih riječi, pa i za minimalnu Hemingovu distancu, datu kao distancu koda, onda zamjenom gornje granice sa distancom d dobijemo nejednakost:<br />, gdje su bilo koje kodne riječi iz K. Pretpostavimo da je poslana neka kodna riječ , i da je nastalo nekih grešaka tokom prijenosa, te da se na izlazu kanala dobila neka riječ R. Uz pretpostavku da postoji još barem jedna kodna riječna distanci r od R, može se odrediti maksimalan broj grešaka t koji se može pojaviti u kodnoj riječi, a koji je vezan sa d. Jer iz nejednakosti sada slijedi da je: Pošto je to onda znači, ugrubo rečeno, da se može pojaviti najvišegrešaka u predajnoj kodnoj riječi, pa da dekodiranje postane dvosmisleno. Dalje zaključujemo da je korekcija grešaka moguća samo u slučaju kad je maksimalan broj grešaka t manji od polovine distance koda d, jer će to osigurati da je primljena riječ najbliža kodnoj riječi koja je poslana, nego bilo koja druga kodna riječ. Preciznije rečeno, u slučaju da se pojavi najviše grešaka, gdje uglaste zagrade predstavljaju cjelobrojni dio realne vrijednosti , može se odrediti koja je kodna riječ bila poslata. Što se tiče problema detekcije grešaka koje su se desile tokom prijenosa, problem se svodi na određivanje minimalnog broja grešaka koji se mora pojaviti, pa da poslana kodna riječ bude primljena kao neka druga kodna riječ.<br />Zaključak je veoma jednostavan, jer s obzirom da distanca koda određuje minimalan broj pozicija na kojima se predajna kodna riječ razlikuje od bilo koje druge kodne riječi, to onda znači da se prilikom prijenosa mora pojaviti najmanje d grešaka u predajnoj kodnoj riječi, pa da bude primljena kao neka druga kodna riječ [2]. Ovo znači da ako je broj pogrešaka u predajnoj kodnoj riječi bio d-1 ili manji, prisustvo ovolikog broja pogrešaka će uvijek biti detektovano, jer je broj grešaka nedovoljan da konvertuje jednu kodnu riječ u drugu. Dakle, d-1 je detekciona moć koda, gdje d označava distancu koda.<br /> 2. KONSTRUKCIJA RS KODOVA<br />RS kodovi se konstruišu i dekodiraju na osnovu algebre konačnih polja.<br />Definicija 1: Skup F nad kojim su definisane dvije binarne operacije: sabiranje(+) i množenje(*) zove se polje ako su ispunjeni slijedeći uslovi:<br />1.F je Abelova grupa u odnosu na sabiranje (tj. operacija (+) je komutativna i važi a+b=b+a);<br />2.F je zatvoreno u odnosu na množenje (tj. za svako a,b Є F važi a*b Є F) i podskup svih nenultih elemenata iz F čini Abelovu grupu u odnosu na množenje;<br />3.množenje je distributivno u odnosu na sabiranje (tj. za svako a,b,c Є F važi a*(b+c)=a*b+a*c).<br />Algebarska struktura tipa polja kod kojeg je broj elemenata u skupu ograničen naziva se konačno polje ili polje Galoa. Polje Galoa od q elemenata označava se sa GF(q)={0,1,}. Broj elemenata u konačnom polju se određuje na osnovu , gdje je p prost broj, a m pozitivan cijeli broj [8]. U praktičnoj primjeni RS kodova poseban značaj imaju kodovi kod kojih je . Svako konačno polje ima najmanje jedan primitivan element α. Za element α se kaže da je primitivan ukoliko je njegov rang tj. najmanji cijeli pozitivan broj e takav da je , jednak dužini kodne riječi. Svi nenulti elementi polja GF(q) mogu se predstaviti kao q-1 uzastopnih stepena od α, tj. . Primitivni element α je korijen nekog primitivnog nesvodljivog polinoma p(x). Polinom p(x) stepena m nad poljem GF(q) je nesvodljiv nad GF(q) ukoliko nije djeljiv bilo kojim drugim polinomom nad GF(q) stepena manjeg od m, ali većeg od nule. Neki nesvodljivi polinomi su i primitivni. Nesvodljivi polinom p(x) iz GF(q) stepena m naziva se primitivnim ukoliko je najmanji prirodan broj n, za koji je p(x) djelioc (bez ostatka) polinoma , takav da je n=q-1 [6]. Informaciona riječ se predstavlja u formi , gdje predstavlja k informacionih simbola iz konačnog polja GF(q). Ovi simboli se koriste za konstruisanje polinoma:<br />. Kodna riječ RS koda , od informacione riječi generiše se određivanjem p(x) za svaki od q elemenata u konačnom polju GF(q), da bi se dobila kodna riječ: .<br />Kompletan skup kodnih riječi RS koda je konstruisan na tome da k informacionih simbola može uzeti sve moguće vrijednost, tj.:<br /> (*)<br />U relaciji (*) m je k-torka (k simbola), a svaki simbol se predstavlja povorkom od m bita.<br />RS kodovi generisani na ovaj način su linearni, pošto je vektorska suma bilo koje dvije informacione riječi dužine k, riječ dužine k. Broj informacionih simbola k naziva se dimenzija RS koda.<br />Također kodna dužina od n simbola jednaka je q, jer svaka kodna riječ ima q koordinata. Kada govorimo o RS kodovima, najčešće ih označavamo preko dužine n i dimenzije k, odnosno kao (n,k) kodovima. Početni pristup u konstrukciji koda kojeg su zamislili Reed i Solomon pao je u zaborav nakon otkrića generatorskog polinoma, tj. pristupa cikličnom kodu. Ciklički kod je linearni blok kod C dat sa parametrima (n,k) u kojem je svaki ciklički pomjeraj unutar neke kodne riječi iz C također kodna riječ istog koda C. Konstrukcija RS kodova preko generatorskog polinoma je metod koji se danas najviše koristi za generisanje ovih kodova. Ciklični RS kodovi sa simbolima kodnih riječi iz GF(q) imaju dužinu q-1, odnosno imaju jednu manje koordinatu nego što je to bio slučaj sa početnim pristupom. Ciklični RS kod se može proširiti da ima dužinu q ili q+1, ali u oba slučaja, rezultujući kodovi više nisu ciklični. Kako je danas najpopularniji način generisanja preko generatorskog polinoma, može se reči da većina RS kodova sa simbolima na konačnom polju GF(q) ima dužinu q-1.<br />Kao primjer, navedimo konačno polje GF(256), koje se koristi u mnogim aplikacijama, zato što se svaki od elemenata polja može prezentovati kao 8-bitna sekvenca ili bajt. RS kodovi dužine 255 i njihove skraćene verzije su danas vrlo popularni korekcioni kodovi. RS kodovi se mogu skratiti postavljanjem nula umjesto informacionih simbola u koder. Ove nule se ne prenose, a u dekoderu se ponovo postavljaju. Konstrukciju cikličnog RS koda prikažimo na sljedeći način: Pretpostavimo da se želi konstruisati RS kod dužine q-1 sa simbolima iz GF(q), a koji će moći ispravljati t grešaka. Generatorski polinom RS koda koji ispravlja t grešaka, ima kao korijene, 2t uzastopnih stepena nekog primitivnog elementa . Prema tome, generatorski polinom ima slijedeći oblik:<br />,<br />gdje je h cjelobrojna konstanta koja se nekada naziva i stepen prvog od uzastopnih korijena polinoma g(x). Različiti generatorski polinomi se formiraju sa različitim vrijednostima h. Pažljivim odabirom h, može se značajno uticati na smanjenje kompleksnosti kodera i dekodera. Uglavnom, ali ne i uvijek, uzima se da je h=1.<br />Primjer 1.<br />Generatorski polinom za RS kod (7,5) formiran nad poljem , sa primitivnim polinomom ima oblik : .<br />Za slučaj h=1 i h=3, generatorski polinomi su dati kao:<br />Validan kodni polinom c(x)=m(x)*g(x) može imati bilo koju vrijednost stepena od 2t do <br />q-2. Primjetimo da kodni polinom stepena q-2 odgovara kodnoj riječi od q-1 koordinate. Slijedi da dimenzija koda generatorskog polinoma stepena 2t iznosi k=q-2t-1.<br />Dakle, RS kod kodne dužine q-1 i dimenzije k može ispraviti do t grešaka, gdje je . U ovom slučaju uglaste zagrade predstavljaju cjelobrojnu vrijednost manju ili jednaku od vrijednosti u zagradi.<br />1964.godine Singleton je dokazao da je sposobnost da se ispravi slučajnih simbolnih grešaka najveća moguća sposobnost korekcije grešaka koju može imati bilo koji blok kod date dužine i dimenzije. Ova optimalna sposobnost korekcije slučajnih grešaka je nazvana Singletonova granica. Kodovi koji dostižu ovu granicu nazivaju se kodovi razdvojivi maksimalnom udaljenosti (MDS-maximum distance separable). RS kodovi spadaju u ovu klasu, oni imaju niz važnih osobina, što je rezultiralo njihovoj velikoj primjeni u praksi. Maksimalna sposobnost korekcije paketa grešaka za linearni (n,k) kod, je određena Riegerovom granicom koja iznosi . Ovdje b predstavlja dužinu paketske greške u bitima ili simbolima za nebinarne kodove. Očigledno za RS kodove maksimalna mogućnost korekcije slučajnih grešaka podudara se sa sposobnošću korekcije paketa grešaka, jer je: = b simbola.<br />Zbog toga su RS kodovi „najmoćniji“ blok kodovi i za ispravku slučajnih grešaka, kao i za ispravku paketa grešaka. RS kodovi mogu biti i skraćeni, kako smo maloprije spominjali, na način da ispuštaju neke informacione simbole. Bitno je naglasiti da ovo skraćivanje ne utiče na Hemingovo rastojanje RS koda. Hemingovo rastojanje kodnih riječi , odgovara broju mjesta na kojima se razlikuju N-torke .Skraćeni RS kodovi spadaju u MDS klasu kodova, međutim skraćeni kodovi uglavnom više nisu ciklički kodovi. Svaki validan kodni polinom mora biti multipl generatorskog polinoma. Slijedi da svaki validni kodni polinom mora također imati kao korijene 2t uzastopnih stepeni elementa α. Ovo omogućava da se na lagan način utvrdi da li je primljena riječ validna kodna riječ ili nije. Treba samo provjeriti da li dati polinom ima navedene korijene. Ovakav pristup vodi kao veoma efikasnim dekodirajućim algoritmima. U većini slučajeva, RS kodovi se formiraju nad konačnim poljima , zbog jednostavnosti njihove implementacije.<br />Svi RS kodovi nad za m≤4 prikazani su u slijedećoj tabeli:<br />mNktR231133.3%375171.4%473242.9%471314.3%41513186.7%41511272.3%4159360.0%4157446.7%4155533.3%4153620.0%415176.7%<br />Tabela 1. Prikaz RS kodova nad ) za m≤4<br />U datoj tabeli 1. R označava kodnu brzinu u procentima. Kodna brzina predstavlja odnos broja informacionih simbola k i dužine koda n, tj. R=k/n.<br />Sposobnost korekcije slučajne simbolske greške označili smo sa t, a računamo ga kao .Iz tabele se primjećuje da je kod (3,1), najkraći RS kod koji je sposoban da uklanja greške. Također, primjećuje se da sa porastom m, eksponencijalno raste i broj mogućih RS kodova.<br />U nastavku će biti navedene osobine RS kodova. Kao što je već ranije spomenuto, RS kodovi pripadaju klasi linearnih blok kodova, i to podklasi cikličnih BCH kodova. Informacija da su RS kodovi linearni znači da se njihove kodne riječi mogu predstaviti kao linearna kombinacija k nezavisnih vektora ( kodnih riječi ) sa elementima iz konačnog polja GF(q), a informacija da RS kodovi pripadaju podklasi BCH kodova znači da se u cilju njihove lakše i jednostavnije hardverske implementacije primjenjuju cikličke strukture, i to u vidu linearnih šift registara sa povratnim spregama. Po definiciji RS kodovi su podklasa q-arnih BCH kodova sa slijedećim karakteristikama [6] :<br />q≠2, s=1, pa se svodi na q elemenata u polju, što praktično znači da se RS kodovi formiraju nad konačnim poljem GF(q) ;<br />dužina bloka RS koda je n=q-1 ;<br />broj redundantnih simbola je n-k=2t ;<br />minimalna distanca RS koda iznosi d=2t+1.<br />Tipična RS kodna riječ izgleda kao na slici 2:<br /> k 2t<br /> PODACI REDUNDANSA <br /> <br /> n<br /> Slika 2. Tipična RS kodna riječ<br />Oblik kodne riječi sa prethodne slike naziva se sistemski oblik kodne riječi, to je ustvari način prikazivanja tako da originalni podaci ostaju nepromijenjeni, a parity simboli se ne miješaju sa bitima podataka, već se samo dodaju da popune kodnu riječ. Upravo broj ovih parity simbola, vezan je za količinu uložene procesirajuće „snage“ koja je potrebna za kodiranje i dekodiranje RS kodova [8].<br />Veće t znači da se veći broj simbolnih grešaka može ispraviti, ali je uopšteno potrebna veća procesirajuća snaga nego za manje t. Jednosimbolna greška kod RS koda nastaje u slučaju da je samo 1 bit unutar simbola pogrešan ili kada su svi biti unutar simbola pogrešni. U najgorem slučaju, RS dekoder koriguje samo t bitskih pogrešaka, a u najboljem slučaju t simbolnih pogrešaka. Iz ovoga ponovo vidimo da je maksimalna sposobnost slučajnih grešaka ustvari jednaka maksimalnoj sposobnosti korekcije paketskih grešaka, što je prethodno konstatovano. <br /> 3. OPŠTI PRINCIP KODIRANJA I DEKODIRANJA RS KODOVA<br /> RS kodovi su blok kodovi za ispravljanje grešaka u mnogim sistemima, kao što su:<br />uređaji za pohranu podataka tipa CD i DVD;<br />bežične i mobilne komunikacije; <br />satelitske komunikacije;<br />digitalna televizija (HDTV/DV, DVC);<br />sistemi raširenog spektra (DS-SS, FH-SS);<br />sistemi sa povratnom spregom;<br /> xDSL (ADSL, VDSL, HDSL, SDSL, kablovski modemi,... <br />Papirni bar kodovi (PDF-417, PostBar, MaxiCode ,...) <br /> <br /> <br />3062605-3175<br /> Slika 3. Neki od primjera primjene RS kodova<br />Princip kodiranja, uopšteno rečeno, vrši se na sljedeći način: RS koder uzima blok digitalnih podataka te dodaje redundantne bite. Greške se naravno javljaju tokom prijenosa zbog niza razloga, neki od njih su šum, interferencija, ogrebotine na površini CD-a, prašina na CD-u,...<br />RS koder obrađuje svaki blok u cilju korekcije, te da na taj način povrati originalni podatak. Što se tiče broja i tipa grešaka koje se mogu ispraviti, to zavisi od samog RS koda [3]. Tako prilikom dekodiranja primljene riječi postoje 3 mogućnosti:<br />Ako je 2s+r <2t (s-greške, r-brisanje ), tada će originalna odaslana kodna riječ uvijek biti korigovana.<br /> Dekoder će detektovati da nije u stanju rekonstruisati odaslanu kodnu riječ i obavijestiti o tome.<br />Dekoder vrši pogrešno dekodiranje i „rekonstruiše“ pogrešno kodnu riječ bez ikakve obavijesti.<br />Neka je informaciona sekvenca od k simbola iz polja predstavljena sa . Tada je polinomijalna prezentacija informacionog vektora data sa: . Jedan od načina za formiranje kodne riječi c(x) je množenje m(x) sa g(x), tj. c(x)=m(x)g(x). U ovoj proceduri kodiranja rezultujući kod nije u sistemskom obliku, jer k informacionih simbola nije eksplicitno izraženo u kodnoj riječi. U okviru procesa dekodiranja, se informaciona riječ m(x), ne može dobiti direktno iz kodne riječi c(x). Radi lakšeg shvaćanja pogledajmo slijedeći primjer:<br />Primjer 2. Neka imamo RS kod (15,9), informacioni polinom predstavlja informacionu riječ , koja zapisana u binarnom obliku glasi: (0000 0000 0000 0000 0000 0000 0000 1011 0000). <br />Nesistemskim kodiranjem se dobiva kodni polinom:c(x)=m(x)g(x)=r, koji predstavlja kodnu riječ . Iz ovog primjera je evidentno da se informaciona riječ m(x) ne može direktno vidjeti iz kodne riječi c(x). Također, iz primjera je vidljivo da je otežano snalaženje u nesistemskim strukturama, pa će se u nastavku, u cilju lakšeg dekodiranja koristiti kodovi sa sistemskom strukturom. Tri uobičajne metode za generisanje sistemskih RS kodova su kodiranje dijeljenjem polinoma, kodiranje u frekventnom domenu, sistemsko RS kodiranje korištenjem generatorske matrice. U nastavku biće spomenuto samo najčešće upotrebljivo kodiranje dijeljenjem polinoma.<br /> 3.1 KODIRANJE DIJELJENJEM POLINOMA<br />Za sistemsko kodiranje RS koda, prvo se generira polinom kodne riječi korištenjem algoritma dijeljenja. Dijeleći šiftovani informacioni polinom sa g(x) dobije se , gdje je polinom stepena manjeg od d-1, tj.<br />. Očigledno, vektor kodne riječi je dat sa : , tako da je informaciona riječ prepoznatljiva u kodnoj riječi. Slijedi primjer, tačnije rečeno, realizacija prethodnog primjera, ali sada u novom domenu: Sistemski kodni polinom c(x) za dati informacioni polinom m(x) računamo kao:<br /> Primjetimo da se informacioni simboli pojavljuju nepromijenjeni u kodnoj riječi.<br /> Ovaj algoritam se može rekapitulirati sljedećim koracima:<br />Množenje ili šiftovanje informacionog polinoma m(x) sa .<br />Pomoću algoritma dijeljenja dobije se polinom razlike p(x).<br />Kombiniranje p(x) i da bi se dobila kodna riječ c(x).<br /> Blok dijagram ovakvog kodera prikazan je na narednoj slici:<br /> Slika 3.1 Blok dijagram RS kodera<br />Gornji koder zavisi od strukture kola neophodnog za dijeljenje polinoma. Implementacija dijeljenja, odnosno generisanje polinoma p(x) je prikazano na slici 3.1.1. Kompleksnost strukture ovisi od tipa množača koji se koristi [14].<br /> Slika 3.1.1 Računanje polinoma p(x)<br />Legenda:<br /> 3.2 DEKODIRANJE (n,k) RS KODOVA<br />Dekodiranje RS kodova je kompleksnije i teže za implementaciju nego njihovo kodiranje, jer zahtjeva intenzivnije procesiranje, kao i više pomičnih registara i mikroprocesora [12]. Danas su u primjeni mnogi algoritmi i komercijalni uređaji koji vrše RS dekodiranje. U nastavku slijedi uopšteni proces dekodiranja, tj. šta dekoder uopšteno treba da uradi da bi korigovao greške u primljenoj riječi. Primili smo neku kodnu riječ r(x)=c(x)+e(x), gdje je polinom greške. RS dekoder uopšteno pokušava da identifikuje pozicije i vrijednosti (magnitude) do t grešaka (ili do 2t brisanja) i da ih potom ispravi. Na početku izračunava sindrome grešaka, što je slično izračunavanju parity simbola. RS kodna riječ sadrži 2t sindroma koji ovise jedino od uzorka greške e(x), tj. ne i o poslanoj kodnoj riječi. Sindromi se izračunavaju tako da zamjenimo 2t korijena generatorskog polinoma g(x) u r(x).<br />Nakon toga trebaju se odrediti lokacije simbolnih grešaka, gdje je potrebno riješiti sistem od najviše t nepoznatih. Kao što je uočljivo,postoje dva koraka za rješenje datog zadatka, a to su :<br />Pronalaženje polinoma lokatora greške<br />Ovo obavljamo korištenjem Berlekamp-Masseyjevog algoritma ili Euklidovog algoritma. Euklidov algoritam je u principu šire primjenjiv u praksi zbog dosta jednostavne implementacije i podrške visokom bitskom protoku, dok je Berlekamp-Masi algoritam vodi do mnogo efikasnijih hardverskih i softverskih rješenja<br />Pronalaženje korijena polinoma lokatora greške<br />Ovo se obavlja korištenjem Čienovog(Chien) algoritma pretraživanja.<br />Nakon što se odrede lokacije grešaka unutar kodne riječi, potrebno je naći vrijednosti (magnitude) grešaka. Široko rasprostranjen algoritam za ovu namjenu je Fornijev (Forney) algoritam.<br /> Dekodiranje se obavlja na različite načine, kao što su :<br /><ul><li>Dekodiranje RS kodova uz korekciju samo grešaka.</li></ul>Ovo dekodiranje je predstavljeno pomoću lokatora greške i ovdje se koriste dva algoritma: Petersonov i Berlekamp-Masseyjev. Koji će se koristiti ovisi od broja grešaka t . <br /><ul><li>Dekodiranje RS kodova za ispravak pogrešaka i brisanja.</li></ul>Za ovu vrstu dekodiranja koristi se Euklidov algoritam za traženje najvećeg zajedničkog djelitelja. Dekodiranje na bazi Euklidovog algoritma je manje efiksano, ali je lakše za razumjevanje od Berlekamp-Masseyjevog algoritma.<br />Cjelokupan proces dekodiranja RS kodova za korekciju kako slučajnih simbolnih grešaka, tako i simbola brisanja, uz primjenu Euklidskog algoritma, može se sagledati kroz narednu blok šemu:<br /> Slika 3.2.1 RS dekoder<br />Sam RS dekoder se u suštini sastoji iz tri komponente. U prvom bloku se vrši izračunavanje sindroma, tj. određuju se koeficijenti sindromnog polinoma iz primljenih kodnih riječi.<br />Drugi blok predstavlja blok Euklidskog algoritma, koji se prvenstveno koristi za rješavanje ključne jednačine za erata lokator i erata procjenjivač A(x). U trećem bloku ova dva polinoma (njihovi koeficijenti) koriste se za pronalaženje odgovarajućih lokacija slučajnih pogrešaka i odgovarajućih magnituda brisanja i grešaka prema Čienovom algoritmu pretraživanja, odnosno Fornijevom algoritmu za određivanje magnituda grešaka. Kao što se vidi na slici 3.2.1, dodat je i FIFO blok, da na pravilan način zakasni primljenu riječ, uzimajući u obzir potrebno vrijeme procesiranja ova tri bloka.<br /> 4. PREDNOSTI RS KODOVA U ODNOSU NA OSTALE VRSTE KODOVA<br />Bez obzira na relativno složene procedure kodiranja, posebno dekodiranja RS kodova, njihove performanse su značajne i vidljive u vidu širokog spektra aplikacija gdje se primjenjuju.<br />Najšira primjena RS kodova je u oblasti zaštite od paketskih grešaka kod CD-ova, CD-ROM-ova, DVD-ova, Blue-ray diskova, u tehnologijama kao što su DSL i WiMAX, u broadcast sistemima DVB ATSC, satelitskim komunikacijama [15], kao i kompjuterskoj aplikaciji RAID 6. Upravo širok spektar primjene RS kodova, nastao je usljed činjenice da su RS kodovi, kodovi sa maksimalnim rastojanjem (MDS), te im je korekciona sposobnost slučajnih grešaka jednaka maksimalnoj sposobnosti korekcije paketskih grešaka. Ovo opet znači da su RS kodovi jedni od „najmoćnijih“ kodova kako za ispravljanje slučajnih grešaka, tako i za ispravljanje paketskih grešaka. Zbog osobine da rade sa simbolima, a ne pojedinim bitima, RS kodovi su posebno pogodni za korekciju paketskih grešaka.<br />Od blok kodova najčešće se koriste RS kodovi , jer se mogu uspješno primjeniti u borbi protiv kombinacije slučajnih grešaka ili paketa grešaka. Također, mogu da imaju velike dužine blokova. Najveći nedostatak RS kodova ogleda se u tome da sadašnja generacija dekodera ne može uspješno koristiti bit orijentisano fino odlučivanje. Oni mogu da vrše i brisanje sa indikacijom od kada je neki karakter nepouzdan. Fino odlučivanje kod RS kodova primjenjuje se na nivou bajta. Konvolucioni kodovi su lošiji za pakete grešaka u odnosu na RS kodove. Međutim, primjenom interlivinga greške se mogu učiniti manje-više slučajnim i manje-više optimalnim za primjenu konvolucionih dekodera. Primjena interlivinga neminovno unosi kašnjenje u sistem što može biti ograničavajući faktor. U slučaju da se mogu prihvatiti kašnjenja iznad 10 000 bita i, ako je dužina paketa smetnji manja od dozvoljenog kašnjenja, primjena dugih RS kodova sa interlivingom daje znatno bolje rezultate u odnosu na konvolucione kodove sa primjenom interlivinga. Međutim, ako je kašnjenje i dužina usnopljenih smetnji ograničena na nekoliko stotina bita tada je jedino rješenje konvolucioni kod sa Viterbijevim dekoderom. Za digitalizovani govor konvolucioni kod je bolji, jer je govor razumljiv i pri vjerovatnoći greške od . Za blokove kojima se prenose računarski orijentisani kontrolni podaci, blok kodovi su bolji, jer se zahtjeva da vjerovatnoća greške bude od do . Dekoderi konvolucionih kodova imaju veliki broj operacija po jednom bitu. Većina operacija obuhvata sabiranje i upoređivanje realnih brojeva. Nasuprot njima, blok kodovi imaju manji broj operacija po bitu, ali je uključena aritmetika realnih brojeva. U principu je dekoder konvolucionih kodova složeniji ukoliko mu se redundansa smanjuje, dok se kod blok kodova kompleksnost smanjuje kada se redundansa smanjuje. Ovo praktično znači da gornja ograničenja određuju maksimalnu brzinu dekodera konvolucionih kodova. Maksimalna brzina dekodera konvolucionih kodova su 20-30 Mbit/s, dok RS blok dekoderi rade na kanalima sa brzinama koje premašuju 2 Gbit/s, što nam dodatno govori o prednosti RS kodova. Znači RS kodovi su veoma pogodni za primjenu pri prijenosu podataka velikom brzinom. Poznato je da je Viterbijev algoritam ekonomičan za male dužine ograničenja. Sekvencionalno dekodovanje pruža mogućnost korištenja većih dužina, ali ima neželjenu osobinu da varijansa broja operacija po bitu pri dekodovanju teži beskonačnosti. Zbog toga se može desiti da sekvencionalno dekodovanje zahtjeva brzinu rada znatno veću od brzine kojom simboli pristižu iz kanala. Ovo zahtjeva primjenu veoma velikih bafera i unosi veliko kašnjenje dekodovanja, što je najčešće neprihvatljivo. Za veće dužine veoma su pogodni RS kodovi. Za prijenos podataka, npr. vrlo dobar je RS kod sa parametrima [(256,224)], R=7,8 i m=8 bit/simbol. Ostali razlozi zbog kojih je RS kod pogodan za ovu primjenu su:<br />- RS kod je orijentisan za primjenu na karakterima, a ne na bitima. Npr., RS kod sa parametrima [(255,223)] koduje 223 bajta u 255 bajtova i koder i dekoder rade na bajtovski orijentisanom aritmetikom. Dekoder obrađuje 255 podataka umjesto 255x8 ako bi radilo na nivou bita, jer je bajt kombinacija od 8 bita. Ovakav pristup znatno smanjuje složenost hardvera. Također, postoje algoritmi dekodovanja za RS kodove koji su veoma efikasni i znatno smanjuju broj operacija. To je omogućilo povećanje dužine bloka koji se primjenjuje. Također broj operacija po dekodovanom bitu raste sa brojem redundantnih simbola. Manje redundantan RS kod ima manje složen hardver.<br />Ako nivo šuma kod RS kodova poraste tako da kod ne može da ispravlja greške, dekoder prepoznaje nemogućnost dekodovanja podataka. Ta osobina je veoma korisna u slučaju razmjene podataka među računarima.<br />Prednost korištenja Reed-Solomon kodova je ta da je vjerovatnoća pojave zaostalih grešaka u dekodiranim podacima (vjerovatnoća pogrešnog dekodiranja) obično mnogo manja nego ista vjerovatnoća u nedekodiranom sistemu, što je prikazano na slici 4 [1].<br /> Slika 4. Odnos ulaznog BER-a prema izlaznom BER-u<br />Smanjenje vjerovatnoće pogrešnog dekodiranja se osmatra kroz smanjenje mjere bitskih pogrešaka (BER) na izlazu dekodera u odnosu na BER na izlazu kanala. Ovo se dalje opet opisuje kao kodno pojačanje, gdje smo željeni efekat (traženi BER) postigli bez podizanja snage predajnog signala, već kroz primjenu RS kodiranja i dekodiranja. Postotci na slici 4. predstavljaju količine unesene redundanse. Ušteda u utrošenoj snazi signala predstavlja „kodno pojačanje“. <br /><ul><li>RS kodovi kao i podaci imaju strukturu. Pri prijenosu podataka koji najčešće imaju definisane ramove ili pakete, tačnost prenosa po bitu je manje značajna od tačnosti prijenosa blokova.
  2. 2. Orijentacija RS kodova na strukturu simbola čini da oni apsorbuju kratke pakete grešaka. Ako u nekom simbolu ima nekoliko pogrešnih bita nema razlike u odnosu ako je jedan bit pogrešan.
  3. 3. RS kodovi se veoma lako mogu prilagoditi multipleksnom signalu.</li></ul>-22860099060<br />Slika 4.1 Zavisnost vjerovatnoće greške po bitu od odnosa smetnja/signal<br />1.bez kodovanja<br />2. trostruko ponavljanje<br />3. Golejov kod sa parametrima [23,12]<br />4. blok kod sa parametrima [127,36]<br />5. RS kod sa parametrima [63,21]<br />6. RS kod sa parametrima [31,15]<br />Na prethodnoj slici [7] predočena je još jedna prednost RS kodova nad ostalim kodovima:<br />Ako je bitska kodna brzina 1/2 , za relativno male vrijednosti odnosa J/S najbolje rezultate daje RS kod, mada te prednosti iščezavaju pri velikim odnosima J/S.<br />U satelitskim komunikacijama, osnovna prednost digitalnog prijenosa ogleda se u primjeni zaštitnog kodovanja koje može znatno podići kvalitat prijenosa. Uopšteno gladano, problemi primjene zaštitnog kodovanja u satelitskim komunikacijama su isti kao i za ostale digitalne sisteme, s tim što postoje dodatna ograničenja, kao što su kašnjenje, interferencija, nelinearnost,... Američka agencija, koja pripada Nacionalnoj upravi za astronautiku i svemirska istraživanja (NASA), izdala je standarde za satelitske komunikacije za vezu između zemlje i vasionskih brodova. Standard preporučuje primjenu konvolucinih kodova u slučaju malog odnosa signal/šum, a blok-kodove u slučaju velikog odnosa signal/šum, dok Hamingove kodove preporučuje za prijenos komandi.<br />Rad na kodovanju je unaprijedio CCSDS (Consultative Committee for Space Data Systems).<br />Kod koji je preporučio komitet, o kojem će u nastavku biti više riječi, prikazan je na narednoj slici:<br /> Slika 4.2 Struktura koda preporučenog od strane CCSDS<br />RS kod sa parametrima [204,192], sa 8 bita po simbolu za Gausov šum, popravlja vjerovatnoću greške od na . Brzina iznosi 51 Mbit/s, tako da se oprema koja radi sa 48 Mbit/s može adaptirati na tu brzinu. Dekoder može da radi u realnom vremenu i u uslovima lošeg kanala.<br /> <br />Slika 4.3 Performanse RS koda sa parametrima [204,192], brzine 16/17<br />Sa slike 4.3 [7] primjeti se da je razlika između teorijskih i mjerenih rezultata u opsegu od do posljedica primjene bafera. Za vjerovatnoću greške manju od 7x, mjereni i teorijski rezultati veoma dobro se poklapaju.<br />Slika 4.4 Poređenje RS koda sa parametrima [204,192] sa konvolucionim kodom dekodovanim Viterbijevim dekodovanjem, sa R=1/2, M=6<br />Slika 4.4 [7] pokazuje da za vjerovatnoću greške manju od RS kodovi daju lošije rezultate u odnosu na konvolucione kodove sa Viterbijevim dekoderom, kodne brzine ½ i M=6. Za tako male vjerovatnoće greške treba primjeniti konvolucione kodove sa većim M, koji na sadašnjem nivou tehnologije zahtjevaju primjenu sekvencijalnog dekodovanja. Radi smanjenja frekventnog opsega koriste se RS kodovi velike brzine, tj. male redundanse. Kodovi veće brzine mogu se dobiti povećanjem brzine koda. Sve ove osobine uticale su na to da danas RS kodovi imaju širok dijapazon implementacija, od uređaja koji se koriste u svakodnevnoj upotrebi (npr. CD, DVD,...), do najsavremenijih komunikacija, satelitskih komunikacija i digitalnih tehnologija (npr. HDTV,...). <br />RS kodovi u visokom stepenu imaju osobine komplementarne konvolucionim kodovima. Ako je projektant u nedoumici da li će primjenom konvolucionih kodova riješiti određeni problem, postoji velika vjerovatnoća da će to sa RS kodovima uspješno učiniti.<br /> 5.HARDVERSKA REALIZACIJA KODIRANJA POMOĆU RS KODOVA<br />Implementacija dijeljenja, uključujući i slanje k informacionih, te potom i n-k=2t kontrolnih -arnih simbola u kodni kanal, može se ostvariti putem blokovske strukture prikazane na slijedećoj slici 5.1. Pri slanju k informacionih simbola u kodni kanal, oba prekidača su u položaju 1, dok su tokom slanja n-k kontrolnih simbola u kodni kanal, oba prekidača u položaju 2.<br /> <br /> Slika 5.1 Blok struktura Reed-Solomon kodera<br />Pojedini simboli imaju slijedeća značenja:<br />Problem nije sabiranje dva elementa iz polja, jer se vrši sabiranje njihovih binarnih reprezentacija ( po modulu 2), pa ćemo kao rezultat dobiti opet element od m bita. Ono što predstavlja problem je množenje dva elemanta iz , a da rezultat opet bude element od m bita. U tu svrhu koriste se posebni tipovi množača, koji množe na nivou bita i koriste posebne baze za predstavljanje elemenata iz i to su Berlekampov (Berlekamp) bit-serijski množač dualne baze ili Masi- Omura (Massey-Omura) množač. Koji će se koristiti zavisi od konkretne primjene i pogodnosti jednog ili drugog.<br /> 6. ARHITEKTURE ZA IMPLEMENTACIJU RS KODIRANJA NA CD<br /> PRENOSNICIMA PODATAKA<br />Kompakt disk-digitalni audio (CD-DA) standard razvijen je od strane Philips-a i Sony-a i pušten na tržište 1982. godine. CD-ovi su postali mnogo superiorniji u odnosu na gramofonske ploče i kasete na više načina. Spomenimo samo neke:<br /><ul><li>Mnogo bolji kvalitet zvuka bez klikova, šištanja ili nekih drugih defekata;
  4. 4. Brzi slučajan pristup bilo kojoj „stazi“ na disku;
  5. 5. Duže vrijeme trajanja (reprodukcijom se kompakt disk ne troši);
  6. 6. Veličina diska: samo 12 cm u prečniku, te zauzimaju malo fizičkog prostora;
  7. 7. Lagani za prenositi s obzirom na materijal od kojeg se proizvode [10].</li></ul>Svatko od nas bi intuitivno rekao da niz nula i jedinica treba pretvoriti u niz ispupčenja na disku i time završiti posao stvaranja diska. To nažalost nije tačno, što je vidljivo na slijedećoj slici [11]. Greške koje nastaju pri čitanju su bilo toliko izražene da je bilo potrebno uz korisničke kodove (datoteke, glazbeni zapisi) ubaciti dodatne informacije koje su omogućile ispravljanje pogrešaka, ali i sinkronizaciju, kontrolu, informacije za prikaz na zaslonu uređaja za reprodukciju ili za prikaz sadržaja CD-a itd.<br /> Slika 6. Stvaranje podataka pri pripremi za proizvodnju diska<br />Naziv kompakt disk koristi se zato što su ovi diskovi „gusto“ napunjeni podacima (kompaktni) i kompaktne su veličine. CD-ovi koriste posebne digitalne tehnike za snimanje stereo zvuka. Za razliku od gramofonskih ploča i kaseta, gdje se talasna audio forma snima u originalnom audio obliku i gdje će se bilo kakvi defekti i nesavršenosti čuti u obliku šuma (šuštanja), kod kompakt diskova toga nema i ovdje se audio pohranjuje na medij ne kao analogna forma već kao cifra, koja predstavlja vrijednost audio signala u datom trenutku vremena. Ovaj broj mora biti mnogo precizan da bi se izbjegle moguće unesene greške. Da bi CD tehnologija bila moguća potrebno je uvesti još tri dodatne tehnologije (tehnike) za realizaciju optičkog snimanja odnosno reprodukcije.<br />To su:<br />Impulsno-Kodna Modulacija(PCM) koja se koristi za digitalno snimanje audia na CD, odnosno za konverziju audio signala u digitalni bitski protok.<br />Kodovi za detekciju/korekciju grešaka (EDC/ECC), prvenstveno RS kodovi.<br />Laseri različitih talasnih dužina za optičko snimanje, tj. čitanje sa diska.<br />PCM metod podrazumjeva u suštini tri odvojene radnje koje se koriste za digitalizaciju bilo kojeg slučajnog kontinualnog signala i to su: odmjeravanje, kvantovanje i kodovanje. U praksi, opseg amplitudskih vrijednosti i brzina odmjeravanja moraju biti dovoljno veliki da bi osigurali preciznost reprodukcije originalne analogne forme iako se postupkom digitalizacije uvijek vrši nepovratna greška. S obzirom na gornju granicu tonova koje ljudsko uho može registrovati, to su tonovi frekvencije reda 20 kHz, signal mora biti odmjeravan 40000 puta u sekundi ili više (s obzirom da su potrebna minimalno dva odmjerka za svaku polovinu sinusnog talasa). Da bi se reducirala izobličenja i šum kvantizacije prilikom reprodukcije svaki odmjerak mora biti predstavljen sa 16-to bitnim brojem, što daje 65536 različitih vrijednosti (0 do 65535) po odmjerku. Ovo je dovoljan opseg od najtiših do najglasnijih zvukova bez primjetne distorzije. CD sistemi koriste brzinu odmjeravanja audia od 44100 puta u sekundi, zbog posebnog filterskog dizajna gdje se uvodi 10%-tna margina s obzirom na zahtjevanu Nyquistovu brzinu. Frekvencija od 44 kHz je maksimalna frekvencija odmjeravanja za audio frekvencije od 20 kHz (20 kHz x 2+20 kHz x 2 x 0,1=44 kHz). Frekvencija odmjeravanja od 44,1 kHz je odabrana zbog toga što je ista korištena kod DAT rekordera sa trakom kao medijem za snimanje i reprodukciju, a u cilju kompatibilnosti sa sličnim kvalitetom zvuka. Iz sličnih razloga izabrana je i kvantizacija od 16 bita. Ona može da pokrije teoretski dinamički opseg za sistam sa maksimalnom amplitudom od oko 97,8 dB. Kodiranje amplitudskih nivoa je sa komplementom-dvojke, tj. pozitivni peak se kodira kao 0111 1111 1111 1111, a negativni peak se kodira kao 1000 0000 0000 0000.<br />Što se tiče formata signala, za CD sistem je usvojen standard posebnog koda za korekciju grešaka nazvan unakrsno-isprepleteni Reed-Solomonov kod (CIRC).<br />CIRC uključuje ustvari dva RS koda koji su unakrsno isprepleteni (izmješani). Ukupni bitski protok podataka koji uključuje CIRC, sinhro riječi i podkod je 2,034 Mbit/s. Prije nego što se ovakav bitski niz „pohrani“ na disk, vrši se njegovo prekodiranje putem modulacionog metoda 8-u-14 modulacije (EFM), i tu se 8 bita podataka konvertuje u 14+3=17 kanalskih bita poslije modulacije. Zbog toga stvarni bitski protok po jednom kanalu je dat kao 2,034 Mbit/s x 17/8=4,3218 Mbit/s. Vrijeme reprodukcije s druge strane zavisi od prečnika diska, razmaka između staza podataka i linearne brzine.<br />CD sistem je dizajniran za 60 minutnu reprodukciju, ali snižavanjem linearne brzine na najmanju vrijednost moguće je i duže vrijeme reprodukcije od 74,7 minuta. S obzirom da CD može da pohrani i do 74 minute muzike, totalna količina digitalnih podataka koja se mora pohraniti na disk je : <br />44 199 uzoraka/kanalu/sekundi x 2 bajta/uzorku x 2 kanala x 74 minute x 60 sekundi/minuti = <br />783 216 000 bajta. Da bi se više od 783 MB smjestilo na disk prečnika samo 12 cm, očigledno je potrebno da individualni bajti budu veoma mali, što predviđaju i bazne specifikacije iz tabele 2:<br />METOD SNIMANJA PODATAKADetekcija signalaOptičkiGustina linearnog zapisa43 kbit/inch (1.2 m/s)Gustina površinskog zapisa683 Mbit/inchAUDIO SPECIFIKACIJEBroj kanala2 stereo kanalaVrijeme reprodukcije~ 60 minFrekventni opseg20÷20 000 HzTotalna distorzija harmonika> 90 dBSeparacija kanala< 0,01%> 90 dBFORMAT SIGNALAFrekvencija odmjeravanja44,1 kHzKvantizacija16-bitna linearna po kanalu2-komplementModulacijaEFMKanalski bitski protok4,3218 Mbit/sKorekcija grešakaCIRCBrzina prijenosa informacija2,034 Mbit/sRedundansa30%DISK SPECIFIKACIJEPrečnik diska120 min Debljina diska1,2 mmPrečnik centralne rupe15 mmProgramsko područje50÷116 mmBrzina skeniranja1,2-1,4 m/sBrzina obrtanja diska500÷200 r/min (r-broj revolucija)Razmak između staza podataka1,6 mDimenzije „udubljenja“0,11 x 0,5 x 0,9 ÷3,2m<br /> Tabela 2. Bazne specifikacije za CD sistem<br />CD-ovi su danas jedni od najjeftinijih i najzastupljenijih medija. Da bi objasnili zašto je to tako, pogledajmo najprije od čega je sačinjen disk. CD uopšteno rečeno je komad plastike oko 1,2 mm prvenstveno da bi se smanjio uticaj prašine i otisaka prstiju na tačnost reprodukcije signala. Većina kompakt diskova sastoji se od osnove providnog substrata koji praktično predstavlja smjesu polikarbonske plastike i stakla, a mora da zadovolji različite optičke i mehaničke zahtjeve u pogledu odsutnosti od defekata i pouzdanosti [11, 13].<br /> Slika 6.1 Građa CD-a<br />Kod CD-a se primjenjuje EFM modulacija (engl. eight to fourteen modulation) koja je već prethodno spomenuta. Zbog tačno propisanih postupaka te modulacije, ispupčenja mogu imati samo tačno definirane dužine. To naravno mora biti strogo definirano zbog toga što elektronika prilikom čitanja iz dužine ispupčenja mora generirati različite kodove. Na slici 6.2. su prikazana sva moguća različito dugačka ispupčenja T3 do T11, druga nisu dozvoljena.[11]<br /> <br /> Slika 6.2. Dozvoljene dužine ispupčenja kod CD-ova<br />Za kodiranje audio podataka CD-a su primijenjeni RS (Reed-Solomonovi) kodovi koji se temelje na Galois-ovim konačnim poljima odnosno Lagrangeovim polinomima.<br />Kod CD-a primijenjeni kodovi temelje se na simbolima dužine 8-bita, dakle bajtima. Njih identificiramo kao elemente F256 konačnog polja u kojem ima 256 elemenata i sa kojima možemo provoditi algebarske operacije. Možemo ih obilježiti kao RS (256,n,m) kod. "n" je pri tome broj korisnih informacija, "m" je paritetni, korekcijski kod koji omogućuje ispravak pogreške nastale čitanjem ili mehaničkim oštećenjem CD-a. <br />RS kodovi imaju svojstvo da mogu ispraviti pogreške čitanja (umjesto nule je pročitana jedinica) ili gubitak koda kada nije pročitano ništa. Kodovi mogu ispraviti (m-n) gubitaka, a u slučaju pogrešaka čitanja (m-n)/2 pogreške. Kod toga su moguće i kombinacije, npr. ispraviti jedan bajt i otkriti 3 pogreške. Važna spoznaja kod razvoja CD-a je bila da pogreške čitanja nisu statistički ravnomjerno raspoređene po disku. One su daleko više rezultat mehaničkih oštećenja, prašine i sl., te zbog toga gotovo u pravilu nastaju oštećenja skupine susjednih bita ili bajtova, a ponekad i cijelih susjednih okvira. Takve pogreške se nazivaju eng. burst. <br />Sa druge strane, kod ispravljanja pogrešaka, korekcioni kodovi mogu ispraviti samo ograničeni broj pogrešaka. Ako su uništeni cijeli blokovi informacija, dekoder je nemoćan i to ne može ispraviti. Zbog toga se primjenjuje postupak preslaganja, ili ispremještanja, eng. interleaving. Kod toga se kodovi informacija na vrlo profinjen način ispremještaju i predaju C2 dekoderu koji umjesto jedne dugačke, dobije pregršt malih, ali raspršenih pogrešaka koje lako korigira. Načelan prikaz takvog postupka je prikazan na slici 6.2.3 [11], gdje je natpis "TEC CHANNEL CD-ROM " bio prema nekom pravilu presložen, snimljen i loše pročitan. Nakon vraćanja teksta u prvobitni redoslijed, vidimo da se velika pogreška (4 upitnika u grupi), razbila u manja oštećenja, pojedinačne pogreške. Slika 6.2.3 je simbolična i služi samo za demonstraciju ideje eng. interleaving-a. <br />Slika 6.2.3 Sa interleavingom se dugačke pogreške, nastale zbog ogrebotina CD-a, rasprše na više manjih, što se zatim lakše ispravlja. <br />  <br /> Slika 6.3 Prikaz kodiranja informacija kod priprema za snimanje na CD<br />Na slici 6.3 [11] je prikazan proces snimanja jednog CD-a i to od mikrofona na dalje. Tu vidimo C2 koji preuzima paralelno organizirane podatke iz A/D pretvarača, te im nakon obrade dodaje 4 bajta Q-parity ili CIRC 2 korekcionih kodova. CIRC 1 i CIRC 2 kodove nekada nazivaju engl. Q i P-parity byts. Pošto postoje Q i P-subkanali te oznake bi neminovno vodile ka zamjenama i zabunama. U engleskoj literaturi se sreću i oznake EDC (error detection codes) i ECC kodovi (error correcting codes). Te oznake se obično primjenjuju kod CD-ROM-a koji ima tri stepena korekcionih kodova. Zbog toga uvodim nazive CIRC 1 i CIRC 2 koji su jednoznačni. <br />Prikaz audio podataka nakon kodiranja u C2 i dodavanja 4 bajta parity ili CIRC 2 korekcionog koda [11] :<br /> <br /> Slika 6.3.1 Prikaz audio podataka nakon kodiranja u C2<br />Na slici 6.4 [11] prikazan je RS-koder. Sa slike može se zapaziti ulazni i izlazni engl. scrambler i engl. interleaver. Te jedinice služe samo zato da preslože pojedine bajtove u druge, vremenski udaljene blokove. C2 scrambler zadržava (kasni) parne bajtove za dva bloka. Parni bajtovi audio signala iz prvog bloka dolaze u treći, oni iz drugoga u četvrti blok itd. Već tu se raspoznaje ideja koja stoji iza toga. Ako je zrnce prašine pokrilo audio zapis i to tako da se nije moglo pročitati ni bajt ni bajt +1, tada ih ovaj scrambler razdvaja i to tako da u njihovom originalnom bloku ostaje neparni bajt, a parni dolazi dva bloka kasnije. Ako bi na CD-u došlo do oštećenja manja je vjerojatnost da će biti istodobno oštećeni bajti udaljeni dva bloka. C2 kod je RS(256,24,28) kod. To znači da u konačnom polju od 256 elemenata, imamo blok, obično nazvan F1, dug 24 bajta, kojima C2 izračuna i pridodaje 4 paritetna bajta tako da se stvara blok F2 dug 28 bajta. Rezultat kodiranja koderom C2 je ulazna veličina za eng. interleaver i potom koder C1. C1 kod možemo obilježiti s RS(256,28,32), pri čemu sada 28 bajta dugim podacima dodajemo 4 paritetna bajta i i tako stvaramo 32 bajta dugu poruku. Blok dug 33 bajta (32 bajta audio sa 1 bajtom subkanal informacija) nazivamo F3.<br /> Slika 6.4 CIRC koder<br />Nakon kodera C2 u eng. interleaving sklopu vršimo premještanje bajtova tako da bajt jednog bloka, raspršimo u 28 dolazećih blokova koji su razmaknuti za 4 mjesta. Kod toga ostaje redni broj bajta u novom bloku sačuvan. Prvi bajt iz tog početnog bloka postaje prvi bajt u jednom nadolazećem bloku 1. Drugi bajt postaje drugi bajt u bloku 5, treći bajt postaje treći bajt u bloku 9 itd. Na taj način su prvi i dvadeset i osmi bajt nakon engl. interleaving postupka udaljeni 109 blokova. <br /> Slika 6.4.1 Engl.interleaving postupak<br />Sa prethodne slike [11] vidljivo je da su 28 bajta prvobitnog bloka raspoređeni u 1., 5., 9., 13... itd. blokove. Ako se pogleda jedan od njih, npr. blok broj 105, u njemu se vidi 28 bajta, koji potiču od 28 raznih blokova. Kada bi nakon snimanja na CD uslijed ogrebotina nastalo oštećenje nekoliko susjednih bajtova jednog bloka, kod de-interleavinga bi oni bili raspoređeni u 28 raznih blokova i to tako da u svaki novi blok odlazi samo jedan neispravan bajt. Tako ispremještan signal dobiva koder C1, koji sada iz 28 bajta izračuna svoja 4 bajta CIRC 1 ili parity koda i doda ih na kraj sada proširenog bloka od 32 bajta. To se vidi na slici 6.5 [11].<br />Slika 6.5 Prikaz audio podataka nakon kodiranja u C1 i dodavanja 4 bajta CIRC1 ili parity korekcionog koda<br />Da bi se kod još jednom zaštitio od pogrešaka koje mogu nastati u jednom takvom novom, presloženom bloku, dolazi do još jednog premještanja podataka i to tako da se za jedan blok zakasne svi neparni bajti iz skupa od 32 bajta.<br />Tek sada se oformio jedan okvir spreman za EFM modulaciju. Prije modulacije mu se dodaje 27 sinhronizacijskih bita i jedan kontrolni bajt koji nosi podatke subkanala. To je sada kompletan okvir za EFM modulaciju kako je to prikazano na slici 6.5.1 [11].<br /> Slika 6.5.1 Stvaranje frame-a za EFM modulaciju<br />Kod EFM modulacije, koja je u daljem tekstu detaljnije objašnjena, svaki se od 33 bajta pretvara u seriju od 17 bita tako da okvir sadrži ukupno 27 + 33x17 bita =588 bita.<br />Pročitani kodovi se privode EFM demodulatoru koji odbaci 27 sinhronizacijskih bita, a zatim 17-bitne izraze pretvori u 14-bitne time što je odbacio 3 razdvojna bita. <br />Nakon toga tih 14 bita pomoću određene tablice pretvori u izvorne 8 bitne audio bajte. <br />Slijedi kašnjenje parnih bajtova, pa tek tada stoji dekoderu C1 na raspolaganju prvobitno stvoren skup od 32 bajta. Proces dekodiranja je shematski prikazan na slici 6.5.2 [11]. Dekoderi su u nešto pojednostavljenoj formi prikazani na slici 6.6 [11]. <br /> Slika 6.5.2 Proces dekodiranja audio podataka snimljenih na CD<br /> Slika 6.6 CIRC dekoderi C1 i C2 sa deinterliverima i descremblerima ostvarenim u <br /> vidu raznih kašnjenja<br />C1 dekoder može na osnovu RS(256,28,32) svojstava ispraviti dva loše pročitana bajta ili detektovati 4 pogreške nastale zbog gubitaka koda. Kod CD-a se uglavnom koristi miješana strategija: korekcija jednog bajta i detekcija 3 pogreške. Vjerojatnost da C1 ne otkrije postojeću pogrešku u nizu bajta iznosi približno 2–19, što je vrlo mala vrijednost. On kontrolira 28 audio bajta na osnovu 4 paritetna CIRC1 bajta. Ako u nizu nije bilo pogrešaka ili je u nizu bio jedan pogrešan bajt, C1 ga odmah popravlja i propušta cijeli blok od 28 bajta dalje do de-interleavera. Ako su bila pogrešna 2 ili više bajta, C1 će svih 28 bajta označiti kao neispravne (eng. erasure) i poslati ih dalje. To uveliko olakšava posao C2 dekoderu. On ne troši svoj teorijski limit na traženje pogrešaka nego na njihovu korekciju. C1 se primjenjuje uglavnom da ispravi pojedinačne male, slučajne pogreške i da otkriva velike, dugačke eng. burst pogreške koje nastaju zbog ogrebotina CD-a. U procesu de-interleavinga se čini obrnuti proces od interleavinga. Stvaraju se prvobitni blokovi u kojima je redoslijed audio bajta isti kao što je to bilo u gornjem dijelu slike 6.4.1. Naravno, sada jedan blok sadrži bajtove iz 28 blokova koji su dio pojasa od 109 blokova. Ako je došlo do mehaničkog oštećenja diska, pročitane pogreške će biti usitnjene i raspršene u mnogo blokova. C2 dekoder ima lagan posao. Ako je C1 pri svojoj kontroli proglasio jedan blok neispravnim, tada je njegovih 28 bajta nakon de-interleavinga raspoređeno u 28 raznih blokova i to tako da svaki blok dobiva samo jedan neispravan bajt. Oni su tamo došli označeni kao neispravni, te će ih C2 pokušati nadomjestiti. To će biti lakše jer je jedna velika pogreška raskomadana i raspodijeljena u mnogo blokova. Zbog toga je vjerojatnost rekonstrukcije pomoću C2 dekodera velika.C2 može na osnovu svojstava RS(256,24,28) nadomjestiti do 4 izgubljena bajta (eng. erasure) ili je podešen tako da može u bloku nadomjestiti dva izgubljena bajta i ispraviti jedan pogrešno pročitan (koga nije otkrio C1). Ovakve strategije omogućuju ispravljanje pogrešaka dugih približno 4.000 bita. Tek ako treba ispraviti pogreške veće od ovih, C2 to nije u stanju pa se odsječak proglašava neispravnim. Do takve situacije dolazi statistički gledano rijetko, možda jedan put za vrijeme slušanja jednog CD-a. Već smo rekli da bi C1 mogao, teorijski gledano, ispraviti dvije pogreške. U većini slučajeva on ispravlja samo jednu. Dekoder je tako koncipiran da ispravlja sitne pogreške i otkriva velike pogreške. Zbog toga je vjerojatnost da ne otkrije pogrešku vrlo mala, tek 2-19. <br /> 7.ARHITEKTURE ZA IMPLEMENTACIJU RS KODIRANJA NA DVD <br /> PRENOSNICIMA PODATAKA<br />U CD sistemima koristi se kaskadna veza dva koda, EFM modulacija i prethodno spomenuti CIRC kod. Sam CIRC koristi se za detekciju i korekciju pogrešno primljenih informacija, dok se EFM koristi za transformaciju digitalnih audio podataka u sekvencu binarnih kanalnih bita koji su pogodni za pohranjivanje na disk. Naravno, EFM i CIRC tehnike kodiranja se ne koriste samo u CD sistemima za koje su prvobitno i bile namjenjene, nego također su primjenjive i u velikom broju različitih digitalnih audio playera, CD-ROM-ova, CD-interaktivnih disk sistema, MiniDiskova, itd. Kada spominjemo DVD format, kod njega su kao i kod CD-ROM-a podaci organizirani u sektore. Šesnaest sektora čini jedan ECC blok. Pod DVD formatom, se sektori od 2048 korisničkih podataka preslikavaju u 2418 bajta, tj. na 2048 bajta se dodaju još 52 sinhro bajta, 16 bajta zaglavlja i 302 parity bajta, koji su ustvari pretvoreni u 16x2418 kanalnih bita. Zatim je jedan korisnički bit pretvoren u 4836/2048=2.36 kanalni bit. U konvencionalnom CD-u, audio bit je pretvoren u 588/192=3.05 kanalni bit i zaključuje se da je efikasnost DVD formata unaprijeđena nad konvencionalnim CD-om za 22%. Novi format je efikasniji za 47% od CD-ROM-a. Čak iako je bio značajno manje napunjen podacima, kod za ispravljanje grešaka, RS-PC, može se prevazići sa dužim slučajnim uzorcima i sekvencama slučajnih uzoraka kao i rezultate sa više slučajnih grešaka. Greške pronađene u oba sistema, i CD i DVD, su kombinacija slučajnih i paketskih grešaka. Kako je ranije navedeno CD sistem koristi CIRC ECC. Interliving šema je usklađena za specifične zahtjeve CD compact disk audio sistema [4]. Naročito, usvojene cross-interliving tehnike čine mogućim da se greške efikasno maskiraju ako je korekcija nemoguća. Zavisno od broja i intenziteta grešaka koje treba prikriti, koristimo metode interpolacije i/ili prigušivanja audio signala. Prikrivanje grešaka omogućava tek blagu degradaciju kvaliteta zvuka. Izbjegavaju se oštri, iznenadni padovi kvalitete signala, tj. „klikovi“. Razumno podešavanje lijevog i desnog stereo kanala kao i audio uzoraka u parnim i neparnim brojevima vremenskih slotova unutar interliving šeme su ključni parametri za uspješnu strategiju brisanja. Kod DVD-a situacija je nešto drugačija, te treba uključiti ECC strategije znatno jačih korekcionih sposobnosti. Postoji više razloga za to, spomenimo samo neke:<br /><ul><li>Povećana fizička gustina smještanja podataka uzrokuje da fizičke nesavršenosti utiču na proporcionalno veću količinu bita;
  8. 8. Pošto su sistemske margine mnogo tjesnije nego kod CD-a (misli se na margine u smislu preciznosti laserske optike, udubljenja, razmaka između tragova,...), BER je kod DVD-a uopšteno veći nego kod CD-sistema;
  9. 9. S obzirom da su zahtjevi za prikrivanje grešaka uopšteno govoreći veći kod DVD-a, to pouzdanost dekodiranih podataka mora biti mnogo veća,...</li></ul>Kako je DVD disk smišljen da bude u osnovi multimedijalni disk, integritet njegovih podataka mora biti mjerljiv sa diskovima koji pohranjuju kompjuterske podatke. RS produktivni kod (RS-PC), kao i CIRC koristi kombinaciju dva RS koda označena kao C1 i C2. Kod CIRC-a je C1 kod sa parametrima (32,28), a C2 je kod (28,24). Četiri redundantna bajta se formiraju po pravilima za RS kod. Brzina CIRC koda je kao što smo već rekli (24*28)/(28*32)=0.75, tj. jedan parity bajt na svaka 3 korisnička bajta. Sam RS-PC kod je klasični produktni kod, dok kod CD-a dva koda kooperiraju. Dva koda RS-PC koda se mogu, kao što znamo zamisliti kao forma dvodimenzionalnog pravougaonika [16]. Kod RS produktivnog koda su kodovi C1 i C2 znatno veći nego što je to slučaj sa CIRC-om. Njihove osobine su: C1 je (208,192) kod, dok je C2 (182,172) kod. Kodna brzina produktnog koda je mnogo veća nego kod CIRC-a : (172*192)/(182*208)=0.872. Šesnaest sektora 2048 korisničkih bajta čine jedan korekcioni blok.<br />Kod RS produktnog koda, C1 i C2 kodovi su predstavljeni preko redova i kolona matrice.Kodovi C1 i C2 su kombinovani na takav način u RS-PC kodu, da se parity bajti generisani od strane C1 koda također mogu iskoristiti i od strane C2 koda.Dok RS produktni kod iskorištava sposobnost „kontrole parity bajta“, dotle CIRC nema tu mogućnost „duple“ kontrole. RS-PC ima posebnu prednost nad konvolucionom strukturom CIRC algoritma [5]. Naime, kod kros-interliving strukture podaci su razmješteni u beskonačan niz, a kodne riječi se formiraju u kolonama i dijagonalama, što je prikazano na slici 7.1. Blok-strukture, kao što je to slučaj sa RS-PC kodom, su mnogo bolje prilagođene podacima koji su smješteni u manjim segmentima. CIRC interliving struktura je posebno dizajnirana za veoma duge segmente podataka, koji nisu grupisani u blokove, kao digitalni audio ili video. Struktura kros-interlivinga se često koristi kod profesionalnih formata audio i video zapisa. Nedostatak produktnog koda u odnosu na CIRC strukturu je taj što zahtjeva duplo veći memorijski kapacitet, međutim naglo opadanje cijena elektronskih sklopova čine ovaj zahtjev manje bitnim nego u vremenu pojavljivanja CD-a na tržištu. Maksimalna prosječna dužina paketa grešaka koja se može korigovati je oko 500 bajta (2,4 mm traga) kod CIRC-a, odnosno oko 2200 bajta (4,6 mm traga) kod RS-PC koda. Produktni kod je u mogućnosti da reducira ulazni BER od 2 x 2-2 na mjeru od 2-15, što je za faktor 10 bolje nego kod CD formata.<br /> Slika 7.1 Blok dijagram CIRC kodera<br />Sektor podataka na DVD-u sastoji se od 2048 bajta korisničkih podataka, 4 bajta za identifikaciju (ID) i 2 bajta ID koda za detekciju grešaka (IED), 6 bajta upravljačkih informacija (CPR_MAI) i 4 bajta koda za detekciju grešaka (EDC), što je predstavljeno na slici 7.2. Sektor podatka sada ima 2064 bajta informacija tj. 172 bajta x 12 linija. Korisnički (glavni) podaci su skremblovani preko binarnog šift registra sa povratnom spregom (LFSR).<br /> Slika 7.2 Konfiguracija sektora podataka<br />Informacioni blok potreban za RS kodiranje formira se od 16 skremblovanih sektora podataka. Ukupno informaciono polje sastoji se od 172 bajta x 192 reda, što je ekvivalentno sa 172 bajta x 12 redova x 16 redova (slika 7.3).<br />Sam proces kodiranja se svodi na sljedeće: 16 bajta pariteta vanjskog koda (PO) dodaje se svakoj od 172 kolone da bi se formirao vanjski (208,192) RS kod nad GF(256). Nakon toga, se 10 bajta pariteta unutrašnjeg koda (PI) dodaju na svih 208 vrsta koje uključuju i PO bajte da bi formirali (182,172) RS unutrašnji kod nad GF(256).<br /> Slika 7.3 Konfiguracija DVD RS-PC koda<br />Da bi dobili PO i PI bajte, slijedeća procedura kodiranja se mora izvršiti: Prvo, u koloni j (za j=0...171), dodaje se 16 bajta (za i=192...207). Ovi bajti su određeni preko sljedećeg polinoma-ostatka , da bi formirali 172 kolone vanjskog RS (208,192) koda.<br />, gdje je , Slijedeći korak je da se redu i, (za i=0...207), doda 10 bajta (za j=172...181). Oni su definisani sljedećim polinomom ostatka , da bi formirali 208 redova unutrašnjeg RS (182,172) koda.<br />. Ovdje, naravno α predstavlja primitivni element primitivnog polinoma p(x)= . Ova dva koda, dakle formiraju produktni kod, tj. kaskadnu vezu. Vanjski RS (208,192) kod ima minimalnu distancu 17 i u mogućnosti je da koriguje do 8 bajta grašaka, dok unutrašnji RS (182,172) kod ima minimalnu distancu 11 i može da koriguje do 5 bajtnih grešaka. Rezultujući produktni kod je dvodimenzionalni (208 x 182, 192 x 172) kod čija je minimalna distanca 17 x 11=187 bajta. Zbog toga je ovaj produktni kod u stanju korigovati ((17 x 11) -1)/2=93 bajta slučajnih grešaka. S tim da prethodno spomenutih 8 i 5 bajta predstavljaju sposobnost korekcije paketa grešaka vanjskog odnosno unutrašnjeg RS koda. Inače prema formuli dužina paketa b koju ovaj kod može ispraviti zadovoljava relaciju: b≥max{208 x 5, 182 x 8}=1465 bajta=11720 bita. Vidjeli smo da svaki format zapisa (CD ili DVD) bez obzira na iste dimenzije i robusnost, zahtjeva različit pristup borbi protiv paketa grešaka odnosno višestrukih slučajnih grešaka. To je normalno s obzirom na različit koncept pohrane podataka kod CD formata tj. DVD formata. Kod CD-a se podaci zapisuju u jednoj dugoj spirali podataka, dok se kod DVD-a podaci smještaju u blokovima koji pokrivaju određenu površinu diska i čitaju se kao datoteke sa diska, te se zbog veće osjetljivosti na tipizirana vanjska oštećenja koriste napredne tehnike Reed-Solomon zaštite->RS-PC.<br /> 8.PRISUTNOST RS KODOVA U INDUSTRIJSKIM STANDARDIMA<br />053340<br />Koliko je velika primjena RS kodova govori nam i činjenica da danas, RS kodovi predstavljaju neophodnost u komunikacionim sistemima svemirskih letjelica. Kao rezultat toga, Konsultativni komitet za svemirske sisteme podataka (CCSDS), koji predstavlja većinu svemirskih agencija u svijetu, oformio je u maju 1984. godine formalne preporuke za standard kodiranja za komunikacioni kanal svemirskih letjelica [9]. CCSDS standard usvojen je od strane mnogih planetarnih misija, uključujući i NASA. CCSDS je predložio da RS kod koji se koristi u svemirskim letjelicama bude RS kod (255,223), formiran nad konačnim poljem . Generirajući polinom ovog polja je . Generatorski polinom za RS kod (255,223), dat je sa , pri čemu je α korijen jednačine p(x)=0. VLSI arhitektura za RS kod (255,223) je data na slici 8. Ovdje je sa Q označen sedmobitni pomični registar koji se može resetovati, a R je osmobitni pomični registar sa resetom i paralelnim unosom. Sklopovi , za k=0,1,...,30, predstavljaju osmobitne pomične registre sa resetom. Za komunikaciju u dubokom svemiru zahtjeva se koder male kompleksnosti pri kanalnom kodiranju. Generatorski polinom i konačno polje, koji su navedeni u prethodnom tekstu, odabrani su da bi se minimizirao hardver potreban za serijski koder, koji je Berlekamp predložio. Berlekamp je otkrio metodu koja je koristila serijski bit, konačno polje, aritmetiku da bi se pojednostavilo kodiranje RS kodova. Takav metod doveo je do korištenja dualne baze , u odnosu na standardnu bazu .Berlekampov bit serijski koder za RS kod (255,223) je prvo implementiran od strane Reeda i njegovog tima.<br /> <br /> Slika 8. VLSI arhitektura za RS koder(255,223)<br />Navedimo i kompakt disk sistem sa digitalnim zvukom kao još jedan svjetski standard za pohranjivanje i reprodukciju zvučnog signala. Sistem kodiranja kod kompakt diskova je postala najpoznatija aplikacija korekcionih kodova. Zajedno sa modulacijom i kanalnim kodiranjem koji mu slijede, ovaj sistem je dio takozvanog disk-master procesa. Tokom ovog procesa, informacije iz digitalnog, kasetnog video rekordera su kodirane u standardizovani CD format.<br /> Slika 8.1 Sistem kompakt diska digitalnog zvuka<br />Kod kompakt disk sistema, digitalne informacije se štite protiv kanalnih grešaka dodavanjem bajtova pariteta koji se dobiju nezavisno u dva RS kodera. Zbog toga što kanal uglavnom uzrokuje pakete grešaka, korekcija grešaka se vrši baš RS kodovima. Također, koristi se i tehnika interlivinga radi distribuiranja grešaka na duži vremenski period. Nizovi podataka koji ulaze u prvi koder, a izlaze iz drugog su skremblovani između dva kodera pomoću skupa linija za kašnjenje, kao što je prikazano na slici 8.2. Cilj skremblovanja jeste da se digitalni signal transformiše u povorku statistički nezavisnih impulsa, gdje su jednako zastupljena sva stanja. Rezultat procesa interlivinga jeste da su paketi grešaka rašireni kroz duži vremenski period, tako da se lako mogu korigovati koderima koji inače mogu ispravljati manji broj grešaka.<br /> Slika 8.2 Blok koder sa kros-interlivingom<br />CIRC koder sa prethodne slike koristi dva skraćena RS koda, C1 i C2. Oba koda koriste osmobitne simbole (bajte) iz kodnog alfabeta GF(256). Ovo je praktičan izbor 16-bitnih uzoraka koji izlaze iz A/D konvertora. “Prirodna“ dužina RS koda nad GF(256) je 255 simbola, što bi dovelo do dužine kodne riječi od 2040 bita, pa bi dekoder u ovom slučaju bio veoma kompleksan. Treba napomenuti da su dekoderi u CD-player-ima namjenjeni za maloprodaju, pa je prema tome veoma važno da su troškovi dekodera što manji. Slijedi, da su zbog jednostavnosti, RS kodovi znatno smanjeni: C2 je kod sa parametrima (32,28) formiran nad konačnim poljem GF(256). Današnji CIRC proces kodiranja je standardizovan, tako da CD kupljen na bilo kojem mjestu se može slušati na bilo kojem CD player-u. Međutim, CIRC dekodiranje nije standardizovano i zavisi od player-a do player-a. Ovo omogućava različitim proizvođačima da eksperimentišu sa dizajnom. Dekoder se sastoji od C2 dekodera, zatim sklopa za inverzni kros-interliving, i na kraju, C1 dekodera. Kako oba koda imaju minimalnu udaljenost koja iznosi 5, mogu se koristiti za korigovanje grešaka težine 2 ili manje. Uloga C2 dekodera je ispravljanje pojedinačnih grešaka. Ove greške uglavnom zavise od fizičkog stanja diska i načina na koji su podaci zapisani. Kada C2 dekoder vidi grešku veće težine, na izlazu daje 28 simbola brisanja. Zatim sklop za inverzni kros-interliving distribuira ova brisanja kroz 28 C2 kodnih riječi. C1 dekoder može se koristiti za korigovanje duplih grešaka, ili, u krajnjem slučaju implementacije najnižeg troška, za označavanje brisanja. C1 dekoder može ispraviti bilo koju kombinaciju od e grešaka i s brisanja, pri čemu je 2e+s<5. Općenito, C1 dekoder je bio dizajniran da ispravlja samo brisanja, zbog ekonomičnosti ovakvog rješenja. Greške koje C1 dekoder ispravlja uglavnom nastaju usljed ogrebotina i otisaka prstiju, što je predočeno na narednoj slici [11].<br />Slika 8.3. Nečistoće koje ometaju rad uređaja za reprodukciju CD-a<br />U slučaju da broj brisanja prevazilazi 4, C1 dekoder daje na izlazu 24 brisanja, koji odgovaraju 12 izbrisanih muzičkih uzoraka. One greške koje se ne mogu korigovati, ali se mogu detektovati, da uzorci ne bi bili nepouzdani, propuštaju se kroz algoritam prikrivanja grešaka. Sklop za prikrivanje grešaka vrši ili prigušivanje uzoraka ili interpolaciju uzoraka korištenjem susjednih tačnih uzoraka. Dodatne operacije interlivinga i kašnjenja su uključene u proces kodiranja i dekodiranja u svrhu pospješivanja operacija prikrivanja grešaka. Na primjer, uzorci susjedni u vremenu su dodatno razdvojeni koristeći dodatni interliving da bi se smanjio broj interpolacija. Gore navedeni CIRC proces dekodiranja može se prikazati na slijedeći način:<br /> Za C2 dekoder:<br />Ako se pojavi sindrom dvije, jedne ili nula grešaka,<br />Onda modifikuj najviše dva simbola,<br />Inače dodijeli indikatore brisanja svakom od 28 izlaznih simbola.<br /> Za C1 dekoder:<br />Ako se pojavi sindrom nula grešaka,<br />Onda nije potrebna nikakva korekcija grešaka,<br />Inače, ako je broj brisanja veći od 4,<br />Onda izjednači C1 indikatore brisanja sa C2 indikatorima.<br />Inače počni:<br /> Ako je broj brisanja jednak 4,<br /> Tada probaj dekodiranje 4 brisanja,<br /> Ako je broj brisanja jednak 3,<br /> Tada probaj dekodiranje tri brisanja i nijedne greške,<br /> Ako je broj brisanja jednak 2, <br /> Počni:<br /> Ako se pojavi sindrom dva brisanja i nula grešaka,<br /> Onda pokušaj dekodiranje dva brisanja i nula grešaka;<br /> Ako se pojavi sindrom dva brisanja i jedne greške,<br /> Onda pokušaj dekodiranje dva brisanja i jedne greške;<br /> Kraj.<br /> Ako je broj brisanja jednak 1,<br /> Počni<br /> Ako se pojavi sindrom jednog brisanja i nula greška,<br /> Onda pokušaj dekodiranje jednog brisanja i nula grešaka;<br /> Ako se pojavi sindrom jednog brisanja i jedne greške,<br /> Onda pokušaj dekodiranje jednog brisanja i jedne greške; <br /> Kraj.<br /> Ako je broj brisanja jednak 0,<br /> Počni<br /> Ako se pojavi sindrom nula brisanja i jedne greške,<br /> Onda pokušaj dekodiranje nula brisanja i jedne greške;<br /> Ako se pojavi sindrom nula brisanja i dvije greške,<br /> Onda pokušaj dekodiranje nula brisanja i dvije greške;<br /> Kraj.<br /> Ako bilo koji od gornjih procesa dekodiranja ne uspije,<br /> Onda postavi indikatore brisanja na svaki od 24 izlazna simbola;<br /> Kraj.<br />Algoritam dekodovanja uz korekciju grešaka i brisanja spomenut u prethodnom poglavlju, može se koristiti i ovdje. Zapravo, ova strategija dekodovanja može se koristiti kod svih RS kodova koji imaju minimalnu udaljenost jednaku 5. Ovo slijedi iz činjenice da proces dekodovanja ne zavisi od dužine kodne riječi. U nekim drugim aplikacijama koriste se isto dva RS koda, ali veće dužine, koji koriste prethodno navedeni algoritmi i uslove dekodovanja grešaka i brisanja. Performanse za CIRC sistem tipičnog player-a su prikazani u tabeli 4:<br />Tabela 4. CIRC performanse za tipični CD player<br />U CIRC sistemu, interliving se postiže na bazi simbol-po-simbol. Biti koji čine jedan simbol ostaju jedan pored drugog tokom cijelog procesa kodiranja, prijenosa i dekodiranja. Ovo omogućava CIRC sistemu da iskoristi sposobnost RS kodova da ispravljaju pakete grešaka. Sam kanal je binaran i kada se desi paket grešaka, on može uticati na mnoge uzastopno primljene bite. Kako za RS koder prilikom dekodiranja nije bitno da li greška u simbolu iznosi jednu bitsku ili maksimalno 8 bitskih grešaka, tako ova osobina omogućava korištenje velike mogućnosti RS kodova pri korekciji paketa grešaka. CCSDS je izdala preporuke za zaštitne kodove koji mogu da rade do 300 Mbit/s. Predložena je primjena Rid-Solomonovog koda sa velikom bitskom kodnom brzinom, jednakom 16/17. Prednosti tog koda nisu samo u maloj redundansi (oko 6%) već i u tome što se postojeća satelitska oprema može jednostavno adaptirati na nešto veću brzinu prijenosa, bez dodatnih modifikacija.<br /> ZAKLJUČAK <br />U cilju povećanja integriteta podataka, zahtjeva se sve veće smanjenje vjerovatnoće grešaka kako u telekomunikacijama, tako i u sistemima za obradu i uskladištenje podataka. U nekim primjenama, svaka greška u prijenosu mora se isključiti. Uopšteno rečeno, prisustvo grešaka degradira performanse sistema povečavajući vrijeme odziva i potrebu za intervencijom od strane operatera. U svom govoru pred AES-om prof. Kees A. Shouhamer Immink 1997. godine ukazuje na prošli razvoj, ali i na budućnost. Tada upozorava na mogućnosti formata DVD-a, te na daljnju generaciju optičkih medija koja će imati gustoće zapisa 20-40 GB oko godine 2006 (HD-DVD, Blue Ray). Danas smo svjedoci uvođenja na tržište Blue-Ray sistema koji zaista ima kapacitet preko 24 GB, a postoje naznake da će dvoslojna verzija dosegnuti kapacititet preko 40 GB. Na slici 9. [11] je objašnjeno koji tehnološki koraci su koliko doprinijeli da se kapacitet DVD-a poveća sedam puta u odnosu na CD. Na slici 9.1. [11] je prikazana vizija budućeg razvoja optičkih medija kako ju je vidio prof. Immink iz 1997. godine.<br /> <br /> Slika 9. Prikaz pojedinih faktora i njihovog doprinosa za povećavanje kapaciteta DVD-a. <br /> CD je referentna veličina.<br />Slika 9.1 Procjene budućeg razvoja optičkih medija prof. Imminka iz 1977. godine su se obistinile.<br />Osnovna svojstva tehnologije koja se danas koristi su prikazani na slici 9.2 [11]. Vidimo da je na disku pored područja za lead-in, lead-out i područja za pohranu podataka postoji i tkz. eng. replacement area, zamjensko područje, u koje se pohranjivaju podaci u slučaju neispravnosti nekog sektora u području za pohranu podataka. Uz to će elektronika u području lead-in pohraniti podatke o oštećenim sektorima na disku. Kopija te tablice će biti pohranjena u lead out području. Ova poboljšanja su važna jer će u velikoj mjeri odstraniti pogreške čitanja uslijed oštećenja diska. Zbog toga je Mt. Rainier biti daleko robusniji od nekadašnjih eng. packet-writing aplikacija.<br /> Slika 9.2 MT. Ranier organizacija diska<br />Nagli razvoj telekomunikacija imao je doprinos ne samo u razvoju novih načina komunikacije i prijenosa digitalnih informacija, nego i razvoju posebnih tehnika i medija koji se koriste za pohranu tj. snimanje podataka. Može se sa sigurnošću reći da takav paralelan trend napretka nikada neće prestati, s obzirom na najnovija dostignuća koja se postižu u oblasti gustoće nabijenosti podacima pomoću tkz. Blue-ray tehnologije gdje se očitavanje i snimanje podataka vrši na diskovima istih dimenzija kao i CD preko laserskih zraka koje rade u području talasnih dužina plave svjetlosti, dakle manjih talasnih dužina nego kod DVD (crvena svjetlost). Ova tehnologija samim tim omogućava još gušći zapis nego na DVD disk, čime se krenulo dalje u evoluciji optičke pohrane podataka i smješta otprilike do 30 GB na jednu stranu diska. Ono što treba napomenuti je da vrijeme CD formata polako izumire, s tim što je distribucija važnijeg softvera i dalje najjeftinija preko CD-ROM medija s obzirom da je jednostavnost i kompleksnost pravljenja kopija CD formata davno usavršena. Padanjem cijena DVD playera, uz istu jednostavnost replikacije, CD playeri i CD audio diskovi gube primat.<br />Međutim, ono što je najvažnije, gledajući sa aspekta zaštitnog kodiranja, je to da algebarska teorija kodiranja, odnosno, konkretno, Reed-Solomon kodovi nipošto neće biti napušteni dolaskom novih tehnologija pohrane podataka. Protočne RS koderske i dekoderske strukture mogu podnijeti Gigabitne protoke u sekundi i pri tome ne gušeći performanse sistema.<br />Trend razvoja telekomunikacija diktira sve većem prisustvu optičkih komponenti i same optičke komunikacije, a poznato je da se RS kodovi koriste kod optičkih komunikacija, kao i u optičkim mrežama,te nema razloga da njihova upotreba bude suvišna kod novih tehnologija optičke pohrane podataka.<br /> REFERENCE:<br /> [1] D.Cvetković, S.Simić, Diskretna matematika-Matematika za kompjuterske nauke, II <br /> izdanje Prosveta, Niš, 1996.<br />[2] Dušan B. Drajić, Uvod u teoriju informacija i kodovanje, II izdanje Akademska misao, <br /> Beograd, 2004.<br />[3] Irving S., Reed, Xuemin Chen, Error Control Coding for Data Networks, Kluwer <br /> Academic Publishers, USA, 1999.<br />[4] K.A.S. Immink, The Digital Versatile Disc (DVD): System Requirements and Channel<br /> Coding, SMPTE Journal, pp. 483-489, August 1996.<br />[5] H.C.Chang, C. Shung, A Reed-Solomon Product Code (RS-PC) Decoder for DVD <br /> Applications, Proceedings of IEEE International Solid-State Circuits Conference 98, pp. <br /> 24.7-1-24.7-12, Toronto,February 1998.<br />[6] Narcis Behlilović, Teorija korekcionih kodova, skripta za studente, ETF Sarajevo, 1999.<br />[7] Milorad Obradović, Dejan Lazić, Jovan Golić, Milan Milosavljević, Vojin Šenk, Zaštitno <br /> kodovanje sa statističkim prepoznavanjem oblika.<br />[8] An introduction to Reed-Solomon codes: principles, architecture and Implementation<br /> http://www.4i2i.com/reed_solomon_codes.htm<br />[9] http://en.wikipedia.org<br />[10] Reed-Solomon codes and CD encoding, by Stan Hanley<br />[11] Mirko Brand, Znanje je moć, 2006.<br />[12] E.R Berlekamp, Bit-serial Reed-Solomon encoder, IEEE Trans. on Inform Theory, <br /> novembar 1982.<br />[13] Moreire, J. C., and Farrell, P. G., Essentials of Error-Control Coding, John Wiley & <br /> Sons, Ltd, 2006.<br />[14] J.L.Massey, Shift register synthesis and BCH decoding, IEEE Trans. on Inform Theory, <br /> januar 1969.<br />[15] Wicker, S. B., I Bhargava, V. K., Reed-Solomon Codes and Their Applications, IEEE <br /> Press, New Jersey, 1994.<br />[16] Sweeney, P., Error Control Coding from Theory to Practice, John Wiley & Sons, Ltd, <br /> 2002.<br />[17] The Ubiquitous Reed-Solomon codes, by Barry A. Cipr<br /> http://www.cs.utk.edu/shuford/terminal/reed_solomon_codes.html<br />[18] I.S.Reed, X.Chen: „Error-Control Coding for Data Networks“, Kluwer Academic <br /> Publishers, USA, 1999.<br />

×