JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT

Slides:



Advertisements
Samankaltaiset esitykset
Virheen havaitseminen ja korjaus
Advertisements

ERILAISIA LOHKOKOODAUSMENETELMIÄ
JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT
JATKUVAN AWGN-KANAVAN KAPASITEETTI — SHANNON-HARTLEY -LAKI
TURBOKOODAUS.
Tietoliikennetekniikka II AKari KärkkäinenOsa 27 1 (12) KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO — TRELLISKOODATTU MODULAATIO.
INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS
Tietoliikennetekniikka II AKari KärkkäinenOsa 24 1 (10) LOHKOKOODATUN JA KOODAMATTOMAN JÄRJESTELMÄN SUORITUSKYKYJEN VERTAILU.
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
Murphy ja TLT eli mitä kaikkea voi mennä pieleen tiedonsiirron eri vaiheissa?
Lineaarinen lohkokoodaus, Block Coding
Virheenpaljastus- ja korjauskoodit tMyn1 Virheenpaljastus- ja korjauskoodit Virheen havaitseminen Tässä vaaditaan ainoastaan se, että pystytään toteamaan.
Pilkku Kotilainen, Liedes, Luttinen, Meriläinen.  Pääsääntönä on, että virkkeen lauseet erotetaan toisistaan yleensä pilkulla.  Päälause erotetaan sivulauseesta.
ERILAISIA LOHKOKOODAUSMENETELMIÄ A Tietoliikennetekniikka II Osa 23 Kari KärkkäinenSyksy 2015.
TURBOKOODAUS Miten turbokoodaus eroaa konvoluutiokoodauksesta? A Tietoliikennetekniikka II Osa 26 Kari KärkkäinenSyksy 2015.
Edellisen kerran yhteenveto 1.Langaton lennätin lukujen vaihteessa. Langallinen lennätin 50 vuotta aiemmin. Langaton aluksi laivaliikenteeseen/Marconi.
Matematiikkaa 3 a Kertausjakso – Laskuja MATEMATIIKKAA 3A, KERTAUSJAKSO LASKUJA © VARGA–NEMÉNYI RY 2016.
♣♦♥♠ NT VÄRINKÄSITTELYN PERUSTEITA Kirjan sivut ja ♣♦♥♠ NT 1Bridgen peruskurssi 2. oppitunti.
Vuokaaviot. 2.2 Sisällys Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: − algoritmi.
Tietoturva ja tietosuoja Mikael Kivelä, kasvatustieteen laitos.
Vaikuttavuuden arviointi
KEHITYSKESKUSTELU - Ennalta sovittu ja suunniteltu keskustelu esimiehen ja työntekijän( voi olla myös tiimin) välillä Tuija Takkula,
SYMBOLIVIRHETODENNÄKÖISYYDESTÄ BITTIVIRHETODENNÄKÖISYYTEEN
Kuvaruutuvideot Tommi Saksa, 2008, HAMK.
Matematiikkaa 3b © Varga–Neményi ry 2017
Miten Aloittaa Valokuvaus Liiketoimintaa
Asiakasosallisuuden edistäminen Kokemuksia pelillisestä kehittämisestä
Amplitudimodulaatio Amplitudimodulaatiossa moduloiva signaali muuttaa kantoaallon voimakkuutta eli amplitudia. Kantoaallon taajuus pysyy koko ajan samana.
INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS
BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS
Kuusela: Tietoaika Lähde: Kuusela 2000: 57.
13. Pakkaukset.
Opettajaopinnot kahdessa aineessa
Poikkeustenkäsittelylohkot try-catch
VaR-mallien toimivuuden testaus historian avulla (backtesting)
LETKA-hanke vertaa Naseva- käyntien ja Welfare Quality - arviointien tuloksia Mikaela Mughal1, Lilli Frondelius2, Matti Pastell2, Pirjo Kortesniemi 3,
8. Näppäimistöltä lukeminen
Puolustus on puoli ruokaa - bridgessäkin
Signaalinkäsittelymenetelmät / Kari Jyrkkä
15. Lohkot.
28. Lamppu vastustaa sähkövirtaa
Terveystiedon ainereaali
Luokan määrittely class-määreellä
STARTTIKOULUTUS MAALIVAHTIPELISTÄ
8. Näppäimistöltä lukeminen
Istuntojen hallinta PHP-sovelluksessa
Messages valinta avaa sinun viestilaatikkosi.
15. Lohkot.
OSUMA-Visio syntynyt työpajassa
4. Attribuutit.
Kaksi erää Tässä ppt:ssä ohjeet pelin johtajalle Opus-työryhmä 2014
ASA ASA rekisteri Laki 716/2000 Vna työhön liittyvän syöpävaaran torjunnasta Laki 717/2001 Syöpäsairauden aineille ammatissaan altistuvien rekisteristä.
Ympäristöriskinarviointi viranomaistoiminnassa
Muutokset matematiikan opetuksessa
KVANTISOINTIKOHINA JA AWGN-KOHINAN vaikutus PULSSIKOODIMODULAATIOSSA
Polut hoitoon ja kuntoutukseen – projekti OTE7
LUKU 7 TÄRKEIMPIEN ASIOIDEN KERTAUS
Tilaustoimitusprosessin kuvaus
Asiointipalveluiden laatu - Asiakasarvioinnit
LUKU 1 TIETOLIIKENNEJÄRJESTELMIEN ANALYYSI
Vapaaohjelman arvostelulomakkeen täyttäminen
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
LOHKOKOODATUN JA KOODAMATTOMAN JÄRJESTELMÄN SUORITUSKYKYJEN VERTAILU
MONITILAISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS
KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO — TRELLISKOODATTU MODULAATIO (TCM) A Tietoliikennetekniikka II Osa.
Wind Power in Power Systems
Video 5: Yleisesti kysyttyjä kysymyksiä ja niihin annettuja vastauksia
Näyttöpinta-alan laajennus virtuaalitodellisuuden keinoin
Gopro action-kamerat Hero 4 silver ja hero 2018.
Dynamic Reporting (DR) -raporttien teon parhaat käytännöt
Esityksen transkriptio:

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

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

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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

Hamming-paino & -etäisyys & minimietäisyys Koodaukseen liittyvät käsitteet: Hamming-paino (HW): sanan [1100100] Hamming-paino on {1}-bittien lukumäärän mukaan 3. Hamming-etäisyys (HE): Sanojen [1100100] ja [1100010] Hamming-etäisyys on eroavien bittien lukumäärä sanojen välillä, eli 2. Etäisyys saadaan sanojen modulo-2 (XOR) summan Hamming-painon perusteella: [1100100]  [1100010] = [0000110]  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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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

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 22 Kari Kärkkäinen Syksy 2015

Koodiavaruuden pakkaaminen koodeilla (S) Koodauksen kaistanleveystehokkutta kuvaa koodisuhde k/n (jollakin korjauskyvyllä t) ja se saa arvon väliltä 0...1. 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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015

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 22 Kari Kärkkäinen Syksy 2015