Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT

Samankaltaiset esitykset


Esitys aiheesta: "JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT"— Esityksen transkriptio:

1 JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT
521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

2 resurssien välinen kaupankäynti
LÄHETYSTEHO VIRHETODEN- NÄKÖISYYS MONIMUTKAISUUS KAISTANLEVEYS 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

3 resurssien välinen kaupankäynti
Resurssien käyttöä pyritään optimoimaan mm. koodaus- ja modulointimenetelmien valinnalla. Tavoitteet ovat usein ristiriitaisia. Lähetystehon pienentäminen pienentää lähettimen kokoa, mutta PE kasvaa, ellei kaistanleveyttä tai käytetyn koodaus- tai modulaatiomenetelmän monimutkaisuutta lisätä. Jotkut järjestelmät ovat sekä kaista- että tehorajoitettuja. KOODAUS MODULOINTI KANAVA DEKOODAUS DEMODULOINTI Monimutkaisuus Lähetysteho Kaistanleveys Signaali-kohinasuhde Virhetodennäköisyys 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

4 Koodauksen ja modulaation suhde
DIGITAALISET SIIRTOJÄRJESTELMÄT TEHORAJOITETUT JÄRJESTELMÄT SEKÄ TEHO- ETTÄ KAISTARAJOITETUT YHDISTETTY KOODAUS JA MODULAATIO Esim. Trelliskoodattu modulaatio TCM Signaalit lähellä toisiaan signaaliavaruudessa (PE kasvaa, joten sen kom- pensoimiseksi tarvitaan lisää lähetystehoa) Esim. ASK & PSK-mod. yhdistelmä QAM = Quadrature Amplitude Modulation Signaalit kaukana toisistaan (kaistanleveys kasvaa, tarvitaan vähän lähetystehoa) Esim. Ortogonaaliset aaltomuodot MFSK, M>2 Esim. virheenkorjaava FEC koodaus (lohko- ja konvoluutiokoodit) 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

5 Virheenkorjaava kanavakoodaus
Perustuu systemaattisen redundanssin (pariteettibittien) lisäämiseen (lähteenkoodauksessa poistettiin epäsystemaattista redundanssia). Redundanssia käytetään virheiden paikantamiseen ja korjaamiseen. Redundanssi generoi muistiominaisuuden (matemaattisen kytkennän) bittien välille. Bittivirhe voidaan ilmaista ja mahdollisesti korjata, jos virheiden lukumäärä on koodin korjauskyvyn sisällä. Kanavakoodauksen suorituskyky muistuttaa aaltomuotoihin perustuvan ortogonaalisen MFSK -modulaation suorituskykyä, mutta tarvittava kaistanleveys on yleensä pienempi ja tarvittava ilmaisin yksinkertaisempi (koodin dekoodaus helppoa). 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

6 Virheenkorjaava kanavakoodaus
Kaksi kanavakoodauksen toteutusperiaatetta: FEC (Forward Error Correction): ilmaistaan virheet ja korjataan, jos pystytään. Käytössä tehorajoitetuissa järjestelmissä. Reaaliaikainen toiminta (esim. puheen siirto). Ei tarvita paluukanavaa. ARQ (Automatic Repeat Request): ilmaistaan virheet ja pyydetään paluukanavalla virheellisen lohkon uudelleenlähetystä. Käytössä sekä teho- että kaistarajoitetuissa järjestelmissä. Toiminta ei ole reaaliaikainen, mikä rajoittaa käyttöä (soveltuu datapakettine siirtoon). Tarvitaan virheen ilmaiseva koodi. Ongelmana on paluukanavan järjestäminen. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

7 FEC & ARQ -menetelmien ero
FEC käytössä tehorajoitetuissa järjestelmissä. ARQ soveltuu sekä teho- että kaistarajoitettuihin järjestelmiin. ARQ:ssa kuittaus: ACK, NAK = negative acknowledgement. KOODERI KANAVA FEC Virheenkorjaus ARQ PALUU- ACK, NAK 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

8 ARQ-menetelmäN TOTEUTUSVAIHTOEHTOJA (s)
521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

9 Virheen korjaavien koodien luokittelu
Virheenkorjaavat koodit voidaan jakaa kahteen perusluokkaan: Lohkokoodit: informaatiota käsitellään lohkoittain. k-pituisen bittilohkon loppuun liitetään n–k kpl pariteettibittejä, jolloin koodattu sana on n bittiä pitkä. Pariteettibitit lasketaan vain samaan lohkoon kuuluvien informaatiobittien perusteella. Redundanssin määrää kuvaa koodisuhde k/n. Konvoluutiokoodit (trelliskoodit tai puukoodit): kooderilla muistiominaisuus, eli pariteettibitteihin vaikuttavat useamman K:n peräkkäisen tulevan k-bitin lohkon informaatiobitit. Muistin pituus K on ns. vaikutuspituus (constraint length). Vaikka konvoluutiokoodaus on jatkuva prosessi, voidaan edelleenkin määritellä redundanssin määrää ja siten kaistan käytön tehokkuutta kuvaava koodisuhde k/n. KONVOLUUTIO- KOODERI Muistissa K–1 aikaisempaa lohkoa 1 k n 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

10 Virheenkorjaavien koodien luokittelu
Lohkokoodit voidaan nähdä konvoluutiokoodien erikoistapauksena, kun konvoluutiokoodin muistinpituus on yksi lohko (K = 1). LOHKOKOODIT K = 1 KONVOLUUTIOKOODIT K > 1 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

11 Virheenkorjaavien koodien luokittelu
Konvoluutiokoodi on toisaalta lohkokoodin erikoistapaus, sillä konvoluutiokoodi on lohkokoodi, jossa lohkoja on vain yksi. Kyseisen tulkinnan mukaan myös konvoluutiokoodeille voidaan löytää ns. generoijamatriisi, vaikkakin sen käyttö on laskennallisesti hankalaa konvoluutiokoodien tapauksessa. Generoijamatriisin käsite esitellään myöhemmin lohkokoodien yhteydessä. Kn kpl n Lohkokoodi Konvoluutiokoodi 1 2 K 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

12 Lohkokoodaus — Periaatekuva
Lineaarisesta lohkokoodista käytetään merkintää: (n,k) -koodi, jossa n on koodatun sanan pituus ja k on informaatiobittien määrä. Pariteettibittejä on (n–k) kpl. Koodisuhde k/n kuvaa informaatiobittien suhteellista osuutta kaikista lähetetyistä biteistä. Kooderi tuottaa 2k kpl laillisia koodisanoja. Erilaisia vastaanotettuja sanoja 2n >> 2k kpl, virheellisiä sanoja 2n –2k kpl. Dekoodaus tapahtuu kahdessa vaiheessa: virheellinen lohko ilmaistaan, jonka jälkeen virheet korjataan, jos pystytään. Jotta dekooderi toimisi oikein, on kanavan dekoodamattoman virhesuhteen yleensä oltava: PE  10–2. Koodausvahvistus on saavutettava etu SNR-arvossa. k informaatio- bittiä (n–k) pariteetti- n bitin koodilohko koodaus 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

13 Koodausvahvistus Koodausvahvistus riippuu kiinnitetystä PE -arvosta ja se on suurempi pienillä PE-arvoilla. Kuvassa koodausvahvistus on 14–9 = 5 dB, kun PE = 10–6. Modulaatiomenetelmän aikaansaama PE liian suuri (>10−2) ennen virheenkorjaavaa dekooderia, joka siksi generoi dekoodauksessa vain lisää virheitä, ja kasvattaa siten edelleen lopullista virhetodennäköisyyttä pienillä modulaation EB/N0 –arvoilla  aiheutuu käyrien risteäminen. Koodausvahvistus 5 dB, kun PB = 10-6 Vahvistus riippuu aina toimintapisteestä. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

14 Konvoluutiokoodaus — Periaatekuva
Nuolet yrittävät piirtoteknisistä ongelmista huolimatta kuvata lohkojen vaikutusta seuraaviin lohkoihin (muistiominaisuutta). k informaatio- bittiä (n–k) pariteetti- n bitin koodilohko 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

15 Yleinen konvoluutiokooderi
Bittejä käsitellään k-bitin lohkoissa. Muistissa on kerrallaan K kpl (vaikutuspituus) k:n bitin lohkoja. Jokaisen k-lohkon tullessa sisään lähdöstä luetaan n koodattua bittejä. Lohkojen tullessa sisään siirtyy rekisterin sisältö k bittiä eteenpäin. Rekisterin muisti K·k bittiä. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

16 Lohkokoodit vs. konvoluutiokoodit
Lohkokoodeilla on kehittynyt algebrallinen koodausteoria, joka perustuu äärellisten kuntien (finite fields) matematiikkaan. Koodaus- ja informaatioteoria ovat olleet hyvin läheisessä vuorovaikutuksessa jo 1950-luvulta lähtien. Richard W. Hamming (KT) ja Claude Shannon (IT) alan pioneereja Bellin laboratoriossa. Avaruustutkimus edisti koodauksen tutkimusta (esim. luotaimen pieni lähetysteho oli kompensoitava tehokkaalla koodauksella). Lohkokoodeja on kehitetty runsaasti (haastava tutkimusalue matemaatikoille). Niitä tosin käytetään paljon vähemmän kuin konvoluutiokoodeja, joille on löydettävissä tehokkaita prosessorilla toteutettavia dekoodausmenetelmiä (Viterbi-algoritmi). Löydettyjen tunnettujen lohkokoodien määrä on paljon suurempi kuin käytettävien määrä (esim. dekooderin toteutus monilla hankalaa). Konvoluutiokoodeilla on puolestaan vähemmän kehittynyt teoria, koska ne ovat matemaattisesti hankalammin käsiteltävissä. Niitä on haettu kokeellisesti tietokoneilla. Ovat monella tavalla hyviä (mm. Yksinkertainen kooderi, Viterbi-dekoodaus, suuri koodausvahvistus). 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

17 Lohkokoodit vs. konvoluutiokoodit
Siirtorekisteritoteutuksessa lohkokoodissa koko 3 bitin lohko tulee kerralla sisälle, jonka jälkeen luetaan sisälle uusi 3 infobitin lohko. Konvoluutiokoodissa kerralla sisään tulevien bittien lukumäärä kK. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

18 Satunnaisvirheet vs. ryöppyvirheet
Virheenkorjaavat koodit voivat olla joko binäärisiä tai symbolikoodeja (ei-binäärisiä). Eniten käytetään binäärisiä koodeja. Symbolikoodeja ovat mm. Reed-Solomon-koodit, jotka lukeutuvat lineaarisiin lohkokoodeihin. Koodin korjauskyvyn kannalta ei ole merkitystä sillä syntyvätkö bitti- tai symbolivirheet informaatiobitteihin vai pariteettibitteihin! Binääriset lohko- ja konvoluutiokoodit korjaavat hyvin satunnaisvirheitä, ts. koodatun jonon peräkkäisten bittien oletetaan muuttuvan kanavassa toisistaan riippumattomasti ja samalla todennäköisyydellä kohinan, häirinnän, muiden käyttäjien aiheuttaman interferenssin, tms. seurauksena. Käytännössä bittivirheet esiintyvät satunnaisuuden sijasta virheryöppyinä (purskeina), esimerkiksi häipyvässä ja ISI-monitiekanavassa. Siksi joudutaan käyttämään lähetettävien koodisanojen lomittelua (interleaving) virheiden satunnaistamiseksi. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

19 Ryöppyvirheiden lomittelu
S M Y I U R A Perusidea yksinkertainen. Lähetetään viestin: THEY MUST HEAR THIS kirjaimet eri järjestyksessä, jolloin peräkkäisiin kirjaamiin kohdistuva virheryöppy jakaantuu pitemmälle aikavälille ja koodikielen redundanssiin perustuen viesti voidaan dekoodata. Kanavaan  TMHT HUEH ESAI YTRS  THXY MUXT HEXR THXS 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

20 Ryöppyvirheiden lomittelu
Lomittelija laittaa peräkkäiset jo koodatut bitit eri järjestykseen jolloin peräkkäiset infobitit jakaantuvat pitemmälle aikavälille lähetystä varten. Virheryöppy jakaantuu vastalomittelijan jälkeen ennen dekooderia pitemmälle aikavälille usean koodilohkon yli, jotta satunnaisvirheitä korjaavat koodit pystyvät ne mahdollisesti korjaamaan. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

21 Ryöppyvirheiden lomittelu
Lomittelu tapahtuu vasta kanavakoodauksen jälkeen. Ilmaisussa suoritetaan vastalomittelu ennen bittivirheiden ilmaisua ja korjaamista, jotta informaatiobitit olisivat oikeassa järjestyksessä dekooderin lähdössä. Lomittelutaulukko kuvaa lomittelijan toimintaa. Lomittelusyvyys kuvaa lomittelutaulukon kokoa, ts. montako peräkkäistä lohkoa luetaan kerrallaan ennen seuraavaa taulukon uudellentäyttöä. Taulukon koon valintaan vaikuttaa mm. reaaliaikaisuusvaatimus (puhe, kontrollikanavat ja -bitit, tehonsäätöbitit, jne.). Usein järjestelmissä (esim. puheen ja videon siirto) on myös eri tärkeysluokan bittejä, jolloin niiden merkityksen mukaan saatetaan suorittaa korjauskyvyltään erilaista koodausta eri bittilohkoille. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

22 Ryöppyvirheiden lomittelutaulukko
Koodatut sanat tulevat riveittäin sisään lomittelijalle. Lomitellut bitit sarakkeittain ulos modulaattorille ja kanavaan. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

23 Ketjukoodaus Ketjukoodauksella (concatenated coding) tarkoitetaan yhdistettyä koodausta. Esim. kaksi peräkkäistä koodausta: sisäkoodaus ja ulkokoodaus, eli koodataan kertaalleen koodatut bitit/symbolit. Sisä- ja ulkokoodausmenetelmien ei tarvitse olla samoja. Tyypillisesti sisäkoodi on satunnaisvirheitä hyvin korjaava konvoluutiokoodi ja ulkokoodina on hyvin ryöppyvirheitä korjaava ei-binäärinen Reed-Solomon lohkokoodi. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

24 Ketjukoodaus & lomittelu
Ketjukoodauksella pyritään parantamaan virheensietokykyä, eli siirtämään koodatun järjestelmän PE-käyrää mahdollisimman lähelle Shannonin –1,6 dB:n vesiputousrajaa. Ketjukoodauksenkin yhteydessä kannattaa käyttää myös lomittelua. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

25 LOHKOKOODIEN KOODIAVARUUS JA KORJAUSKYKY
Mitä peruskäsitteitä liittyy lohkokoodaukseen? 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

26 Hamming-paino & -etäisyys & minimietäisyys
Koodaukseen liittyvät käsitteet: Hamming-paino (HW): sanan [ ] Hamming-paino on {1}-bittien lukumäärän mukaan 3. Hamming-etäisyys (HE): Sanojen [ ] ja [ ] Hamming-etäisyys on eroavien bittien lukumäärä sanojen välillä, eli 2. Etäisyys saadaan sanojen modulo-2 (XOR) summan Hamming-painon perusteella: [ ]  [ ] = [ ]  paino 2 Lohkokoodin minimietäisyys on kaikkien sallittujen koodisanojen välisten Hamming -etäisyyksien pienin mahdollinen arvo Minimietäisyydestä riippuu virheenkorjauskyky: t = (dmin–1)/2 . Esim. koodi pystyy korjaamaan yhden virheen (t = 1), jos minimietäisyys dmin = 3. Jos dmin = 5  t = 2, ja dmin = 7  t = 3 k-infobitin lohkosta matemaattisella koodausalgoritmilla laskettavien sallittujen n-pituisten lohkokoodien joukkoa kutsutaan koodausteoriassa koodiksi! 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

27 Koodiavaruuden koko Virheen korjaavan lohkokoodin sallittujen sanojen lukumäärä on Vk , missä: V = lukujärjestelmän kantaluku k = informaatiobittien lkm koodisanassa Laillisten koodisanojen määrä on paljon pienempi kuin kaikkien mahdollisten n-pituisten sanojen määrä koodiavaruudessa. n-pituisia V-tilaisia mahdollisia sanoja on Vn kpl esim. V = 2 ja n = 6, niin koko koodiavaruuden koko eli kaikkien mahdollisten sanojen määrä ko. pituudella on 26 = 64 2128 = 3.41038, 2512 = 1.310154, vrt. maailmankaikkeudessa arviolta noin 1080 atomia! Virheellisesti vastaanotettuja mahdollisia sanoja: Vn Vk kpl, jotka vastaanotossa pyritään dekoodaamaan laillisiksi koodisanoiksi. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

28 Hamming-etäisyys ja virheenkorjauskyky
Koodivektori xi lähetetty ja y = xi + e vastaanotettu. Virhevektorin e Hamming-paino HW(e)  t. Olkoon xj joku muu laillinen koodisana. Kaksi t-säteistä ympyrää eivät leikkaa n-dim. koodiavaruudessa, jos sen sallittujen koodien välinen HE: d(xi,xj) = w(xixj)  2t+1. Jos xi on lähetetty ja d(xi,y)  t, niin y on yksikäsitteisesti lähempänä xi-vektoria kuin xj-vektoria. Jos sana y on pahoin virheellinen - HW(e) > t - se saattaa sijoittua pallojen väliin, eikä voida korjata, koska se ylittää peittosäteen t. Jos laillisten sanojen etäisyys d(xi,xj) < 2t, niin tuolloin ei voida tehdä yksikäsitteistä dekoodausta sanasta y kummankaan laillisen sanan hyväksi (y kuuluu sekä xi:n että xj:n peittosäteen sisään). 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

29 Hamming-etäisyys ja virheenkorjauskyky
Edellisen perusteella lineaarinen (n,k) -lohkokoodi kykenee siis korjaamaan kaikki korkeintaan t -painoiset virhesanat e, jos ja vain jos minimietäisyys dmin = d(xi,xj)  2t + 1 kaikilla xi ja xj. Sama toisin ilmaistuna: Minimietäisyyden dmin omaava lineaarinen (n,k) -lohkokoodi pystyy korjaamaan korkeintaan t virhettä, jos ja vain jos t = (dmin–1)/2  a = kokonaisluku, joka ei ole suurempi kuin a. Koodi saattaa kyetä korjaamaan joitakin yksittäisiä enemmän kuin t virhettä sisältäviä sanoja (ts., HW(e) > t), muttei kuitenkaan kaikkia. Lohkokoodin korjauskyky kuitenkin takaa, että kaikki HW(e)  t painoiset virhesanat saadaan aina korjattua. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

30 Koodisuunnittelusta Matemaatikot suunittelevat tyypillisesti hyvän painojakauman omaavia uusia lohkokoodeja ja insinöörit miettivät mitkä löydetyistä koodeista soveltuvat parhaiten kuhunkin sovellukseen. Tunnettuja lohkokoodeja on paljon enemmän kuin käytännössä käytettyjä. Dekooderin toteutuksen monimutkaisuus saattaa estää koodivalinnan, vaikka koodin etäisyysominaisuudet olisivat hyvät (dmin suuri). Koodausta käsittelevistä oppikirjoista löytyy runsaasti valmiita kooditaulukoita. Seuraavassa on tarkasteltu lineaarisilla lohkokoodeilla koodisuhteen k/n ja parametrien n, k ja t välistä riippuvuutta löydetyille koodeille. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

31 Parametrien n, k, t ja k/n esimerkkejä
Huomaa, että samalla koodisuhteella k/n vertailtavien koodien dekooderien toteuttavuudessa saattaa olla merkittäviä eroja, ts. taustalla oleva koodimatematiikka saattaa johtaa paljon monimutkaisempaan kooderin ja dekooderin rakenteeseen. (n,k,t,dmin,k/n) = (5,2,1,3,0.4) (10,4,3,7,0.4) 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

32 KOODIAVARUUS (S) 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

33 Koodiavaruus (S) Mustat isot pisteet edustavat koodin sallittuja koodisanoja ja kaikki pisteet yhteensä koko koodiavaruutta kooltaan Vn. Sallitut koodisanat muodostavat Vn -kokoisen koodiavaruuden aliavaruuden kooltaan Vk. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

34 Koodiavaruuden pakkaaminen koodeilla (S)
Koodauksen kaistanleveystehokkutta kuvaa koodisuhde k/n (jollakin korjauskyvyllä t) ja se saa arvon väliltä Vn-avaruuteen pyritään siis pakkaamaan mahdollisimman paljon laillisia koodisanoja. Tällöin redundanssibittien määrä n-k on kuitenkin pieni (n ≈ k), eli koodaus on kaistanleveystehokasta. Lisääntynyt kaistanleveyden tarve syntyy siitä, että aikayksikössä on lähetettävä bittejä n/k -kertainen määrä. Korjauskyky t on kuitenkin huono, koska dmin on tällöin pieni. Toisaalta koodisanojen olisi oltava mahdollisimman etäällä toisistaan, jotta dmin ─ ja siten korjauskyky t = (dmin–1)/2  ─ olisi arvoltaan mahdollisimman suuri, jotta mahdollisimman monta virhettä saadaan suurella todennäköisyydellä korjattua. Koodausteoriaa soveltaen pyritään löytämään koodeja, joiden dmin on mahdollisimman suuri valitulle koodisuhteen k/n arvolle. Järjestelmäsuunnittelusta ─ siis tarvittavasta datansiirtonopeudesta ja käytettävissä olevasta kaistanleveydestä ─ seuraa reunaehto sallitulle koodisuhteen k/n minimiarvolle, jolle pyritään sitten löytämään mahdollisimman suuren dmin:n ja t:n omaava koodi. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

35 Koodiavaruus, peittosäde ja korjauskyky (S)
Kun siirrossa syntyy symbolivirhe, bittisana muuttuu joksikin koodiavaruudessa ”lähellä oikeaa” sallittua sanaa olevaksi sanaksi. Jos virhevektorin HW ei ylitä koodin korjauskykyä ─ HW(e)  t = (dmin–1)/2  ─ sana voidaan dekoodauksessa korjata laskennallisella algoritmilla. Koodin virheenkorjauskyky t määrittelee siis koodiavaruudessa peittosäteen, jonka sisällä olevat sanat voidaan varmasti korjata. Peittosäteen ulkopuolelle jääviä ei voida korjata (jokunen saatetaan pystyä, mutta kaikkien korjaamista ei voida kuitenkaan taata). Koodin kahden laillisen koodisanan välinen pienin mahdollinen etäisyys on minimietäisyys dmin, ja sen on oltava: dmin  2t + 1. Sallitut koodisanat ovat siis vähintään kahden t -säteen suuruisen etäisyyden +1 päässä toisistaan kuvitteellisessa n -ulotteisessa koodiavaruudessa. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

36 Koodiavaruus, peittosäde ja korjauskyky (S)
C1,...,C5 ovat sallittuja koodisanoja. Peittosäteen sisällä olevat virheelliset sanat voidaan korjata. Näitä ei voida korjata (koodista riippuen ehkä joku yksittäinen lähellä pallon reunaa oleva pystytään, mutta ei kaikkia) 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

37 Koodisanojen valintaesimerkki (S)
Olkoon esimerkiksi (n,k) = (6,3) koodi. On olemassa 2k = 23 = 8 mahdollista sanomavektoria ja koko avaruudessa Vn = V6 on 26 = 64 mahdollista 6-pituista koodisanaa. Taulukossa 8 koodisanaa muodostavat siis koodiavaruuden V6 aliavaruuden V3. Ko. lineaarisella koodilla on käytössä nollasana ja myös ominaisuus, että minkä tahansa kahden koodisanan modulo-2 (XOR) -summa on joku toinen aliavaruuden V3 koodisana). Herää siis kysymys, miten sanat muodostettiin kullekkin kolmen informaatiobitin ryhmälle? Vastaus piilee lohkokoodien algebrassa. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

38 Koodisanojen valintaesimerkki (S)
Koodisanat on generoitu edellä lineaarikombinaationa kolmesta lineaarisesti riippumattomasta 6-pituisesta vektorista. Ei kuitenkaan ole olemassa yksikäsitteistä valintaa, kuten toisaalta ei ole olemassa täydellistä valinnan vapauttakaan parittelun suhteen. Mahdollisimman etäällä toisistaan olevia koodisanoja voidaan analogisesti verrata ortogonaalisen MFSK-modulaation toteuttamiseen luotettavan siirron aikaansaamiseksi: k kpl informaatiobittejä valitsee yhden M:stä ortogonaalisesta aaltomuodosta M = 2k -ulotteisessa signaaliavaruudessa. Haluamme toisaalta täyttää koodiavaruuden mahdollisimman monella laillisella koodisanalla (suuri koodisuhteen k/n vaatimus, mutta pieni t = (dmin–1)/2 ), mutta toisaalta haluamme niiden olevan mahdollisimman etäällä toisistaan (hyvä korjauskyky t, mutta pieni k/n). Ristiriitaisia vaatimuksia siis. Kompromissi on jossain tuolla välillä. Esimerkkiin liittyvä seuraava 3D -kuva auttaa hahmottamaan hyvien koodien etsinnän tavoitetta koodausalgebran keinoin. 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015

39 Koodisanojen valintaesimerkki (S)
Laillisia koodisanoja Virheellisiä oikeaa sanaa lähellä olevia vastaanotettuja koodisanoja Ei ole koodisana tämän koodipallon vaikutuspiirissä (tyhjä pallukka) 8 sanaa/pallo 8 palloa x 8 sanaa = 64 mahdollista vastaanotettua sanaa Kuori Hamming- etäisyydellä 1 koodisanasta 101001 etäisyydellä 2 521361A Tietoliikennetekniikka II Osa Kari Kärkkäinen Syksy 2015


Lataa ppt "JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT"

Samankaltaiset esitykset


Iklan oleh Google