6.2.1 Lohkokoodit tehdään bittiryhmälle bittiryhmään lisätään sovitun algoritmin mukaan ylimääräisiä bittejä [k informaatiobittiä => n koodibittiä, joista n-k lisäbittiä], käytetään yleensä merkintää (n,k)-koodi koodinopeus (code rate) R c = k / n vastaa hyötysuhdetta vastaanotetun lohkon oikeellisuus (eli onko sallittu bittikombinaatio) tarkistetaan ja virheet voidaan korjata ainakin rajoitetusti ilman uudelleenlähetystä koodin virheenkorjauskykyä kuvataan koodietäisyyden avulla ilmaisee, kuinka monessa elementissä kaksi koodisanaa eroaa toisistaan binäärikoodin yhteydessä käytetään nimitystä Hamming-etäisyys yleisesti dekoodaus on paljon vaikeampi kuin koodaus 7-Apr-04 Siirtotekniikka / JPR 313 esimerkkejä erilaisista lohkokoodeista Hamming-koodi ensimmäisiä virheenkorjaavia koodeja, laajasti käytetty koodisana saadaan kertomalla lähdesana erityisella generaattorimatriisilla, tarkemmin sanottuna sen transpoosilla Hammingin koodilla tarkoitetaan yleensä hamming(7,4) koodia, jossa lohkon pituus on 4 bittiä ja koodisanan pituus 7 bittiä, eli 3 bittiä käytetään redundanttiin tietoon tällä koodilla kyetään korjaamaan yhden bitin virheet, mutta runsaasti virheitä sisältävällä jaksolla koodaus on tehoton 7-Apr-04 Siirtotekniikka / JPR 314 1
Bose-Chaudhuri-Hocquenghem (BCH) tärkeimpiä lohkokoodeja parametreja voidaan vaihdella laajalti ja koodeja käyttää suurillakin nopeuksilla 7-Apr-04 Siirtotekniikka / JPR 315 Hamming codes are a subset of the more general code family known as BCH (Bose-Chaudhuri- Hocquenhem) codes discovered in 1959 and 1960. Whereas Hamming can detect up to 2 or correct 1 error general BCH codes can correct any number of errors if the code is long enough, e.g. (11,1023) can correct 255 errors used in deep space probes. 315
Reed Solomon (RS) BCH-koodien ei-binäärinen versio (m bittiä / koodisymboli) Reed-Solomon forward error correction with interleaving on FECmenetelmä, joka on tarkoitettu käytettäväksi korkeatasoisissa videoyhteyksissä käytetään myös langattomissa järjestelmissä Menetelmän haittapuolena sekä koodaus että enkoodaus aiheuttavat tiedonsiirtoon ylimääräisen viiveen. Tämä koodaus ei korjaa kaikkia virheitä, mutta se turvaa laadukkaan siirron reaaliajassa. Voyager II kuvat lähetettiin käyttäen tätä Reed-Solomon koodausta. 7-Apr-04 Siirtotekniikka / JPR 316 RS codes are a subset of BCH codes that operate at the block level rather than bit level. Incoming blocks are represented by a new set of k symbols to be packaged in a supercoded block of n symbols Decoder can detect and correct complete errored blocks used in mobile radio / CD as alternative / addition to interleaving. 316
Golay lineaarisia binäärikoodeja, jotka sallivat lyhyet koodisanat täydellinen Golay-koodi koodaa 12 bittiä 23 bitiksi ja siitä käytetään merkintää (23,12) minimietäisyys 7, 3 bitin virheenkorjauskyky laajennettu Golay-koodi sisältää ylimääräisen pariteettibitin, joka mahdollistaa enintään neljän bitin virheen havaitsemisen. Koodia merkitään (24,12) ja sitä kutsutaan myös nimellä half-rate golay. voidaan käyttää maximum likelihood dekoodausta (valitaan pienimmän etäisyyden päässä käytössä oleva koodisana) dekoodaus voidaan suorittaa käyttäen joko kovia tai pehmeitä päätöksiä. Pehmeitä päätöksiä käyttämällä saavutetaan parempi virheenkorjaus, mutta kulutetaan enemmän prosessointitehoa. käytetään reaaliaikasovelluksissa sekä radioliikennöinnissä 7-Apr-04 Siirtotekniikka / JPR 317 7-Apr-04 Siirtotekniikka / JPR 318 1
6.2.2 Konvoluutiokoodit lohkokoodeissa jokainen lohko on riippumaton muista lohkoista konvoluutiokoodauksessa koodisanat riippuvat sekä sen hetkisestä lähetettävästä datasta, että aiemmin lähetetystä datasta. kooderi sisältää siirtorekisterin, jota siirretään aina lisättäessä uusi bitti siirtorekisterin pituus on kooderin pituusraja, eli se on ainoa koodaukseen käytetty muistialue uusi bitti koodataan rekisterissä olevien bittien kanssa käyttäen mod-2 yhteenlaskuja 7-Apr-04 Siirtotekniikka / JPR 319 => impulssivasteet: 1-polku (1,1,1) ja 2-polku (1,0,1) Figure 10.13. (a) Constraint length-3, rate-½ convolutional encoder. (b) Constraint length-2, rate-⅔ convolutional encoder. 7-Apr-04 Siirtotekniikka / JPR 320 2
7-Apr-04 Siirtotekniikka / JPR 321 7-Apr-04 Siirtotekniikka / JPR 322 3
datajono 10011 => koodijono 11 10 11 11 01 Figure 10.14 Code tree for the convolutional encoder of Figure 10.13a. 7-Apr-04 Siirtotekniikka / JPR 323 Figure 10.15 Trellis for the convolutional encoder of Figure 10.13a. datajono 10011 => koodijono 11 10 11 11 01 7-Apr-04 Siirtotekniikka / JPR 324 4
konvoluutiomallissa ei voida tarkasti sanoa, että esimerkiksi jokainen yhden bitin virhe lohkossa tulee korjattua, vaan ainoastaan, että keskimääräisesti tietty osuus bittivirheitä onnistutaan pitkällä aikavälillä korjaamaan => soveltuvat sovelluksiin, joissa dekoodatussa informaatiossa voidaan sallia virheitä (esim. puheensiirto) soveltuvat kanavalle, jossa kohina on satunnaista ja jossa ei ole purskemuotoisia häiriöitä altis virhepurskeille ja tehokkaaksi menetelmäksi on havaittu konvoluutiokoodauksen ja lohkokoodauksen (vrt hamming koodi) yhdistäminen, jolloin purskeiset virhejaksot kyetään hallitsemaan paremmin 7-Apr-04 Siirtotekniikka / JPR 325 dekoodaus on huomattavasti hankalampaa kuin koodaus ja siinä käytetään ns. Viterbin algoritmia etuna dekoodatun informaation laadun laskeminen tasaisesti siirtovirheiden määrän kasvaessa ilman äkillistä laadun romahtamista konvoluutiokoodien pieni koodisuhde estää niiden käytön sovelluksissa, joissa nettosiirtonopeus on tärkeä kriteeri 7-Apr-04 Siirtotekniikka / JPR 326 5