Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Lineaarinen lohkokoodaus, Block Coding

Samankaltaiset esitykset


Esitys aiheesta: "Lineaarinen lohkokoodaus, Block Coding"— Esityksen transkriptio:

1 Lineaarinen lohkokoodaus, Block Coding
Alkuperäisen lähdesymbolin pituus on k bittiä. Muodostetaan koodattu symboli lähetettäväksi siirtotielle ja silloin koodattu symboli on pituudeltaan n bittiä (luonnollisesti n>k). Tuloksena on (n, k)-lohkokoodaus. Bittien lisääminen vaikuttaa hidastavasti tiedonsiirtonopeuteen. Määritellään koodaussuhde (code rate) R=k/n. Kerrointa 1-k/n kutsutaan lohkokoodin redundanssiksi. Lineaarinen lohkokoodaus tMyn

2 Koodauksen suorituskyky (coding efficiency)
Tällä ilmaistaan miten hyvin virheitä pystytään havaitsemaan tai korjaamaan koodatusta informaatiosymbolista suhteessa ”ylimääräisiin” bitteihin. Jotkin koodaustavat soveltuvat paremmin virheiden havaitsemiseen kuin niiden korjaamiseen. Myös päinvastainen on totta. Lineaarinen lohkokoodaus tMyn

3 Jos halutaan lähettää bittejä, niin silloin voidaan esim
Jos halutaan lähettää bittejä, niin silloin voidaan esim. ryhmitellä bitit kolmen ryhmiksi. Mahdollisia informaatiosanoja tulee siis kahdeksan kappaletta: 000, 001, 010, 011, 100, 101, 110, 111. Informaatiosanat voidaan koodata kahdeksaksi koodisanaksi, joissa on redundanssia (käytetään kuhunkin koodisanaan esim. 5 bittiä). Näin saadaan aikaan laittomia bittikombinaatioita. Bittivirheet ovat kahden tyyppisiä: joko virhe voi sattua yksittäiseen bittiin täysin riippumatta virhe- todennäköisyydestä viereiseen bittiin, tai sitten voi tulla virheryöppyjä (useampi peräkkäinen bitti on virheellinen). Lineaarinen lohkokoodaus tMyn

4 Olkoot koodatut symbolit kaikki saman mittaisia.
Kahden koodatun symbolin etäisyys määritellään erilaisten bittien lukumääräksi vastinkohdissa, siis esim. koodisanojen 111 ja 000 etäisyys on 3 ja koodisanojen 010 ja 011 etäisyys on 1. Tarkastellaan vielä alkuperäistä esimerkkiä, informaatiosymbolit 000, … 111. Vierekkäisten symbolien etäisyys on 1. Jos siirtotiellä tulee yhden bitin virhe, esim. lähetetään 000 mutta vastaanotetaan 001, niin tuli ongelma! Symboli 001 on laillinen symboli, joten vastaanotin ei voi mitenkään arvata, että virhe on tapahtunut. Lineaarinen lohkokoodaus tMyn

5 Lisätään koodisanojen etäisyyttä siten, että minimietäisyys on 3.
Otetaan esimerkki koodatusta symbolijoukosta, jossa minimietäisyys minkä tahansa koodisanaparin välillä on vähintään 2, siis vaikkapa: 0000, 0011, 0101, 0110, 1001, 1010, 1100, 1111. Lähetetään esim ja vastaanotetaankin 0111 (yhden bitin virhe tapahtui matkalla). Vastaanotin huomaa, että koodisana on laiton, mutta ei pysty päättelemään, mikä olisi oikea, alkuperäinen, koodisana. Lisätään koodisanojen etäisyyttä siten, että minimietäisyys on 3. Lineaarinen lohkokoodaus tMyn

6 Nyt siis pystytään korjaamaan yhden bitin virhe/koodisana.
Jos tällaisessa tapauksessa tapahtuu yhden bitin siirtovirhe, niin vastaanotettu koodisana on 1 etäisyydellä alkuperäisestä lähetetystä koodisanasta, ja vähintään 2 etäisyydellä kaikista muista laillisista koodisanoista. Nyt siis pystytään korjaamaan yhden bitin virhe/koodisana. Lineaarinen lohkokoodaus tMyn

7 pystytään korjaamaan vastaavasti virhettä.
Yleistys: Jos koodisanojen minimietäisyys on , niin silloin voidaan havaita virhettä. Vastaavasti jos on parillinen, niin silloin voidaan korjata virhettä, ja jos on pariton, niin pystytään korjaamaan vastaavasti virhettä. Lineaarinen lohkokoodaus tMyn

8 Lineaarinen lohkokoodaus, systemaattiset algebralliset koodit
Systemaattiset algebralliset koodit voidaan generoida suoraan matriisilaskennan avulla: [v]=[u][G], jossa [u] on [1*k] vektori edustaen alkuperäistä informaatiota [v] on [1*n] vektori edustaen koodattua informaatiota [G] on [k*n] matriisi, jota käytetään koodattujen informaatiosanojen generointiin. Lineaarinen lohkokoodaus tMyn

9 Esimerkiksi (7, 4) lineaarinen koodi voitaisiin generoida matriisilla
. Jokaista koodingenerointimatriisia [G] kohden on olemassa pariteettitarkistusmatriisi [H]. Kun äskeistä esimerkkimatriisia [G] tarkastellaan, niin huomataan, että vasemmalla ”laidalla” on pariteettibittien generointiin tarvittava osuus. Lineaarinen lohkokoodaus tMyn

10 Oikealla ”laidalla” on yksikkömatriisi, siis uudelleenkirjoitettuna:
. Pariteettitarkistusmatriisi voidaan kirjoittaa tästä esityksestä aloittamalla yksikkömatriisilla ja jatkamalla matriisin [G] pariteettibittiosuuden transponoidulla muodolla. Lineaarinen lohkokoodaus tMyn

11 Jos merkitään niin silloin
Auki kirjoitettuna saadaan äskeisillä arvoilla = . Lineaarinen lohkokoodaus tMyn

12 Pariteettitarkistusmatriisilla on seuraava ominaisuus:
Tulkinta: kun kerrotaan mikä tahansa virheetön koodisana pariteettitarkistusmatriisin transponoidulla muodolla, niin tulokseksi saadaan nollavektori. Jos siirtotiellä on tapahtunut yhden bitin virhe, niin äskeinen tulo paljastaa virheen paikan ja siis yhden bitin virhe voidaan korjata! Vastaanotetun koodivektorin ja pariteettitarkistusmatriisin transponoidun muodon tuloa kutsutaan syndroomaksi (syndrome), koska se kertoo, mikä meni pieleen. Lineaarinen lohkokoodaus tMyn

13 Sitä mukaa kun k kasvaa, vaikeutuu käytännön toteutus:
Keksijänsä Richard W. Hammingin mukaan puhutaan suosituista Hamming-lohkokoodeista. Vaihtoehtoja on monta, esim. (7, 4), (15, 11), (31, 26), (63, 57), (127, 120), (255, 247), (511, 502). Hamming-koodit ovat tehokkaita, esim. (15, 11) koodauksen suhteeksi saadaan 11/15=73%. Sitä mukaa kun k kasvaa, vaikeutuu käytännön toteutus: Kestää kauemmin ryhmitellä informaatiobitit k:n pituisiksi lohkoiksi. Vastaanotossa yritetään etsiä vastaanotetuista mahdollisesta vaihtoehdosta lähin laillinen vaihtoehdosta. Kompleksisuus kasvaa eksponentiaalisesti! Lineaarinen lohkokoodaus tMyn

14 Hamming-lohkokoodit ovat osajoukko laajemmasta BCH-koodiperheestä.
BCH, Bose-Chaudhuri-Hocquenghem. Koodausmenetelmä kehitettiin vuosina 1959 ja 1960. Esim. BCH (127, 64)-koodaus pystyy korjaamaan 10 bittiä/koodisymboli… ja BCH (1023, 11) pystyy korjaamaan 255 bittiä/koodisymboli! Hintana on koodauksen suhde, 11/1023=1%!! Lohkokoodaus toimii parhaimmillaan ympäristössä, jossa virheet esiintyvät tasaisesti ja mielivaltaisesti vastaanotetuissa koodisymboleissa. Lineaarinen lohkokoodaus tMyn

15 Jos virheet sitä vastoin esiintyvät purskeisesti, niin silloin tarvitaan lisäksi limitystä (interleaving). Purskeisuus virhe-esiintymisessä on tyypillistä esim. mobiileissa toimintaympäristöissä: signaalin häipyminen ja monitie-eteneminen. Yksinkertainen tapa toteuttaa limitys onnistuu seuraavasti: käytetään puskurointia, ja kirjoitetaan koodatut symbolisanat matriisin riveihin. Dataa aletaan sitten siirtämään sarake kerrallaan. Lineaarinen lohkokoodaus tMyn

16 Reed-Solomon –koodit, Irving Reed, Gustav Solomon
R-S-koodit ovat osajoukko BCH-koodeista. Nyt operoidaan lohko- eikä bittitasolla. Alkuperäinen binaari-informaatio pakataan aluksi lohkoihin, esim. kukin lohko on pituudeltaan 8 bittiä. Valitaan k kappaletta näitä 8 bitin lohkoa, ja valitaan tämä uusi lohkokokonaisuus uudeksi jakamattomaksi yksiköksi. Tämä uusi yksikkö (jossa on k kappaletta 8 bitin lohkoja) koodataan siten, että syntyy n kappaletta 8 bitin lohkoja, luonnollisesti n>k. Tuloksena on R-S (n, k) -lohkokoodaus. Lineaarinen lohkokoodaus tMyn

17 Lineaarinen lohkokoodaus, sykliset koodit
Olkoot koodisana yleisessä muodossa Siirretään bittejä yhden position oikealle ja samalla laitimmainen bitti siirtyy toiseen laitaan, siis Jos kyseessä on syklinen koodi, niin äskeisellä siirrolla saatiin aikaan uusi kelvollinen koodisana! Lineaarinen lohkokoodaus tMyn

18 Esim. Polynomi voidaan jakaa tekijöihin
Teoreema 1: Jos g(x) on n-k -asteinen polynomi ja se on polynomin tekijä (factor), niin silloin polynomia g(x) voidaan käyttää generoimaan (n, k) syklinen koodi. Esim. Polynomi voidaan jakaa tekijöihin Siispä ensimmäisellä tekijällä voidaan generoida (7, 6) syklinen koodi ja kahdella jälkimmäisellä tekijällä voidaan generoida (7, 4) syklinen koodi. Lineaarinen lohkokoodaus tMyn

19 Teoreema 2: Jokainen i:nnen asteinen polynomi, joka on jakamaton, (irreducible = jaollinen tasan vain itsensä ja ykkösen kanssa) on polynomin tekijä. Tällaista jakamatonta polynomia voidaan käyttää generoimaan (2i+1, i+1) syklinen koodi. Esim. voidaan osoittaa, että polynomi on jakamaton. Teoreeman perusteella tämä polynomi on polynomin tekijä. Tästä tiedetään suoraan, että polynomilla voidaan generoida (7, 4) syklinen koodi. Lineaarinen lohkokoodaus tMyn

20 Jos polynomi v(x) edustaa koodisanaa (n, k) koodattuna, niin syklinen siirto oikealle j positiota voidaan toteuttaa kaavalla modulo , missä modulo tarkoittaa sitä, että jaetaan termi polynomilla ja otetaan vastaukseksi jakojäännös. Modulo-operaatio on tarpeen, jos on asteluvultaan n tai korkeampi. Jos koodi on systemaattinen, niin silloin oikealla laidalla olevat bitit edustavat alkuperäistä koodaamatonta informaatiosanaa u. Tätä voidaan kuvata polynomilla koska se kuvaa n-k position siirtoa oikealle. Lineaarinen lohkokoodaus tMyn

21 Modulo-operaatio tarkoittaa, että suoritetaan jakolasku
Otetaan tästä polynomista modulo g(x) ja merkitään jakojäännöstä r(x):llä: modulo g(x). Modulo-operaatio tarkoittaa, että suoritetaan jakolasku jossa q(x)=osamäärä ja r(x)=jakojäännös ja josta otetaan vain jakojäännös. Voidaan siis kirjoittaa lauseke Lineaarinen lohkokoodaus tMyn

22 Saatiin siis kelvollinen koodisana aikaan!!
Lisätään jakojäännös r(x) yhtälön kummallekin puolelle (modulo-2 aritmetiikassa 1+1=0), jolloin saadaan kaava muotoon Saatiin siis kelvollinen koodisana aikaan!! Syndroomapolynomi saadaan jakojäännöksenä jakolaskusta v(x) modulo g(x), jossa v(x) on vastaanotettu koodattu symbolisana ja g(x) on koodin generointipolynomi. Jos mitään virhettä ei ole siirtotiellä tapahtunut, niin silloin jakojäännöstä ei synny. Jos virhe on tapahtunut, niin silloin syntyy jakojäännös, jonka muoto riippuu siitä missä kohden virhe tapahtui. Lineaarinen lohkokoodaus tMyn


Lataa ppt "Lineaarinen lohkokoodaus, Block Coding"

Samankaltaiset esitykset


Iklan oleh Google