1 / 36

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT. LÄHETYSTEHO. KAISTANLEVEYS. MONIMUTKAISUUS. VIRHETODEN- NÄKÖISYYS. Tiedonsiirron resurssien välinen kaupankäynti. KOODAUS MODULOINTI. DEKOODAUS DEMODULOINTI. KANAVA. Lähetysteho. Signaali-kohinasuhde. Monimutkaisuus.

keola
Download Presentation

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT

  2. LÄHETYSTEHO KAISTANLEVEYS MONIMUTKAISUUS VIRHETODEN- NÄKÖISYYS Tiedonsiirron resurssien välinen kaupankäynti

  3. KOODAUS MODULOINTI DEKOODAUS DEMODULOINTI KANAVA Lähetysteho Signaali-kohinasuhde Monimutkaisuus Monimutkaisuus Kaistanleveys Virhetodennäköisyys Tiedonsiirron 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.

  4. DIGITAALISET SIIRTOJÄRJESTELMÄT TEHORAJOITETUT JÄRJESTELMÄT SEKÄ TEHO- ETTÄ KAISTARAJOITETUT JÄRJESTELMÄT KAISTARAJOITETUT JÄRJESTELMÄT • Signaalit kaukana toisistaan signaaliava- ruudessa (kaistanleveys kasvaa, tarvitaan vähän lähetystehoa) Esim. Ortogonaaliset aaltomuodot MFSK, M>2 Virheenkorjaava FEC koodaus (lohko- ja konvoluutiokoodit) 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 Koodauksen ja modulaation suhde

  5. Virheen korjaava kanavakoodaus • Perustuu systemaattisen redundanssin(pariteettibittien) lisäämiseen (lähteenkoodauksessa poistettiin epäsystemaattista redundanssia). Redundanssia käytetään virheiden paikantamiseenja korjaamiseen. • Redundanssi generoi muistiominaisuuden(kytkennän)bittien välille. Sitä käyttäen kanavan bittivirhe voidaan ilmaista ja mahdolliseti 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 (ei tarvita esim. vaihekoh. ilmaisuaaltoja). • 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öä. Tarvitaan virheen ilmaiseva koodi. Ongelmana on paluukanavan järjestäminen.

  6. KOODERI KANAVA FEC  Virheenkorjaus KOODERI KANAVA ARQ PALUU- KANAVA ACK, NAK 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.

  7. ARQ-menetelmä

  8. KONVOLUUTIO- KOODERI 1 1 k n Muistissa K–1 aikaisempaa lohkoa 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, elipariteettibitteihin vaikuttaa useamman (K:n) peräkkäisen tulevan lohkon informaatiobitit. Koodin muistin pituus K on ns. vaikutuspituus(constraint length). Vaikka konvoluutiokoodaus on jatkuva muistillinen prosessi, voidaan edelleenkin määritellä redundanssin määrää kuvaava koodisuhde k/n.

  9. Virheenkorjaavien koodien luokittelu • Lohkokoodit voidaan nähdä konvoluutiokoodien erikoistapauksena, kun konvoluutiokoodin muistinpituus on yksi lohko (K=1). KONVOLUUTIOKOODIT K > 1 LOHKOKOODIT K = 1

  10. n n n n n Lohkokoodi Konvoluutiokoodi Kn kpl Virheenkorjaavien koodien luokittelu • Konvoluutiokoodi on toisaalta lohkokoodin erikoistapaus: 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ä. 1 2 K

  11. n bitin koodilohko n bitin koodilohko n bitin koodilohko k informaatio- bittiä k informaatio- bittiä k informaatio- bittiä (n–k) pariteetti- bittiä (n–k) pariteetti- bittiä (n–k) pariteetti- bittiä koodaus koodaus koodaus 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. Mahdollisia 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.

  12. Modulaatiomenetelmän aikaansaama PE liian suuri (>10−2) ennen virheen korjaavaa dekooderia, joka sen vuoksi generoi dekoodauksessa vain lisää virheitä, ja kasvattaa siten edelleen lopullista virhetodennäköisyyttä pienillä modulaation EB/N0 –arvoilla, mistä syystä aiheutuu käyrien risteäminen. Koodausvahvistus Koodausvahvistus • Koodausvahvistus riippuu kiinnitetystä PE -arvosta ja on suurempi pienillä PE-arvoilla. Esim. kuvassa koodausvahvistus on 14–9 = 5 dB, kun PE = 10–6.

  13. n bitin koodilohko n bitin koodilohko n bitin koodilohko n bitin koodilohko k informaatio- bittiä (n–k) pariteetti- bittiä k informaatio- bittiä (n–k) pariteetti- bittiä k informaatio- bittiä k informaatio- bittiä (n–k) pariteetti- bittiä (n–k) pariteetti- bittiä Konvoluutiokoodaus — Periaatekuva • Nuolet yrittävät piirtoteknisistä ongelmista huolimatta kuvata lohkojen vaikutusta seuraaviin lohkoihin (muistiominaisuutta).

  14. Yleinen konvoluutiokooderi • Bittejä käsitellään k:n bitin lohkoissa. Muistissa on kerrallaan K kpl (vaikutuspituus) k:n bitin lohkoja. Jokaisen k -bittilohkon tullessa sisään kooderin lähdöstä luetaan n kpl koodattuja bittejä. Uuden lohkon tullessa sisään siirtyy rekisterin sisältö k bittiä eteenpäin. Siirtorekisterin muisti K·k bittiä.

  15. Lohkokoodit vs. konvoluutiokoodit • Lohkokoodeilla on kehittynyt teoria, 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. • Avaruustutkimus edisti koodauksen tutkimusta (esim. luotaimen pieni lähetysteho oli kompensoitava tehokkaalla koodauksella). • Lohkokoodeja on kehitetty runsaasti, sillä ne ovat haastava tutmimusalue 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äytännössä käytettävien määrä (esim. dekooderin toteutus saattaa muodostua hankalaksi) • Konvoluutiokoodeilla on puolestaan vähemmän kehittynyt teoria, koska ne ovat matemaattisesti hankalammin käsiteltävissä, tms.. Niitä on haettu kokeellisesti tietokoneilla. Ovat monella tavalla hyviä (mm. Viterbi-dekoodaus, suuri koodausvahvistus).

  16. Lohkokoodit vs. konvoluutiokoodit • Siirtorekisteritoteutuksena lohkokoodissa koko databittilohko tulee kerralla sisälle, jonka jälkeen luetaan sisälle uusi k:n infobitin lohko. Konvoluutiokoodissa kerralla sisään tulevien bittien lukumäärä riippuu kooderin K-arvosta (voi olla yksi tai useampi).

  17. 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 tyypillisesti 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ä monitiekanavassa. • Siksi yleensä joudutaan käyttämään lähetettävien koodisanojen lomittelua(interleaving) virheiden satunnaistamiseksi.

  18. T H E Y M U S T H E A R S T H I Ryöppyvirheiden lomittelu • 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. • TMHT HUEH ESAI YTRS  THxY MUxT HExR THxS

  19. 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.

  20. Ryöppyvirheiden lomittelu • Lomittelu tapahtuu 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. Lomittelusyvyyskuvaa lomittelutaulukon kokoa, ts. montako peräkkäistä lohkoa luetaan kerrallaan ennen seuraavaa taulukon uudellentäyttämistä. • Lomittelusyvyyden (taulukon koon) valintaan vaikuttaa mm. reaaliaikaisuusvaatimus (puhe, kontrollikanavat ja -bitit, jne.). • Usein järjestelmissä (esim. puheen ja videokuvan siirto) on myös eri tärkeysluokan bittejä, jolloin niiden merkityksen mukaan saatetaan suorittaa korjauskyvyltään erilaista koodausta eri bittilohkoille.

  21. Lomitellut bitit sarakkeittain ulos kanavaan. Koodatut sanat riveittäin sisään lomittelijalle. Ryöppyvirheiden lomittelutaulukko

  22. 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.

  23. Ketjukoodaus & lomittelu • Menetelmällä 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.

  24. LOHKOKOODIEN KOODIAVARUUS JA KORJAUSKYKY

  25. Hamming-paino & Hamming-etäisyys & minimietäisyys • Koodaukseen liittyvät käsitteet Hamming-painojaHamming-etäisyys: sanan [1100100] Hamming-paino on 3 {1}-bittien mukaan. Sanojen [1100100] ja [1000010] Hamming-etäisyys on 3 (erobittien lkm), joka saadaan sanojen modulo-2 (XOR) summan Hamming-painon perusteella: [1100100]  [1000010] = [0100110]  paino 3 • Lohkokoodin minimietäisyys on kaikkien sallittujen koodisanojen välisten Hamming -etäisyyksien pienin arvo, josta riippuu koodin virheenkorjauskyky: t = (dmin–1)/2. Esim. koodi pystyy korjaamaan yhden virheen (t = 1), jos minimietäisyys dmin = 3. k-infobitin lohkosta matemaattisella koodausalgoritmilla laskettavien sallittujen n-pituisten sanojenjoukkoakutsutaan koodausteoriassa koodiksi! • Virheen korjaavan koodin sallittujen sanojen lukumäärä on Mk(M = kantaluku, k = infobittien lkm) on paljon pienempi kuin kaikkien mahdollisten n-pituisten sanojen määrä koodiavaruudessa. • n-pituisia M-tilaisia mahdollisia sanoja on Mn kpl (esim. jos M = 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, maailmankaikkeudessa on arviolta noin 1080 atomia!).

  26. Hamming-etäisyys ja virheenkorjauskyky • Olkoon koodivektori xi lähetetty ja vektori y = xi + e vastaanotettu. Virhevektorin e Hamming-paino w(e)  t. Olkoon xj joku muu laillinen koodisana/vektori. Kaksi t-säteistä ympyrää/palloa eivät leikkaa n-dimensioisessa koodiavaruudessa, jos sen sallittujen koodien välinen Hamming-etäisyys d(xi,xj) = w(xixj)  2t+1. • Jos esim. xi on lähetetty ja d(xi,y)  t, vastaanotettu vektori y on yksikäsitteisesti lähempänä xi-vektoria kuin xj-vektoria. Jos vastaanotettu sana y on pahoin virheellinen, se saattaa sijoittua pallojen väliin, eikä sitä voida korjata, koska se ylittää peittosäteen t. • Jos kahden laillisen koodisanan välinen etäisyys d(xi,xj) < 2t, ei voida tehdä yksikäsitteistä dekoodausta vastaanotetusta sanasta y kummankaan hyväksi (y kuuluu sekä xi:n että xj:n peittosäteen sisään).

  27. Hamming-etäisyys ja virheenkorjauskyky • Edellisen perusteella lineaarinen (n,k) -lohkokoodi kykenee siis korjaamaan kaikki korkeintaan t -painoiset virhesanat e, jos ja vain jos 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 enemmän kuin t virhettä sisältäviä sanoja (ts., w(e) > t), muttei kuitenkaan kaikkia niitä. Korjauskyky kuitenkin takaa, että kaikki w(e)  t painoiset virheet saadaan aina korjattua. • Matemaatikot tyypillisesti suunittelevat hyvän painojakauman omaavia uusia koodeja ja insinöörit miettivät mikä 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 etäisyysominaisuudet olisivat hyvät. • Seuraavassa taulukossa on tarkasteltu lineaarisilla lohkokoodeilla koodisuhteen k/n ja parametrien n, k ja t välistä riippuvuutta.

  28. (n,k,t,dmin,k/n) = (5,2,1,3,0.4) (n,k,t,dmin,k/n) = (10,4,3,7,0.4) Huomaa, että samalla koodisuhteella k/n vertailtavien koodien dekooderien toteuttavuudessa saattaa olla merkittäviä eroja, ts. taustalla oleva koodimatematiikka saattaa juontaa paljon hankalampaan kooderin ja dekooderin rakenteeseen. Parametrien n, k, t ja k/n riippuvuussuhteista

  29. KOODIAVARUUS (S)

  30. Koodiavaruus (S) • Mustat isot pisteet edustavat koodin sallittuja koodisanoja ja kaikki pisteet yhteensä koko koodiavaruutta kooltaan Mn. Sallitut koodisanat muodostavat Mn -kokoisen koodiavaruuden aliavaruuden kooltaan Mk.

  31. Koodiavaruuden pakkaaminen koodeilla (S) • 2n -suuruiseen Vn pyritään siis pakkaamaan mahdollisimman paljon laillisia koodisanoja. Tällöin redundanssin määrä 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. • Koodauksen kaistanleveystehokkutta (jollakin korjauskyvyllä t) kuvaa koodisuhde k/n ja se saa arvon väliltä 0...1. • Toisaalta koodisanojen olisi oltava mahdollisimman etäällä toisistaan, jotta dmin ─ ja siten korjauskyky t = (dmin–1)/2─ olisi arvoltaan mahdollisimman suuri, jotta kaikki virheet saadaan suurella todennäköisyydellä korjattua dekoodauksessa. • 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 alkureunaehto sallitulle koodisuhteen arvolle k/n, jolle pyritään sitten löytämään mahdollisimman suuren minimietäisyyden ja t:n omaava koodi.

  32. Koodiavaruus, peittosäde ja virheenkorjauskyky (S) • Kun siirtotiellä syntyy symbolivirhe, bittisana muuttuu joksikin koodiavaruudessa ”lähellä oikeaa” sallittua sanaa olevaksi sanaksi. • Jos virhevektorin Hamming-paino ei ylitä koodin korjauskykyä ─ w(e)  t = (dmin–1)/2─sana voidaan dekoodauksessa korjata alkuperäiseksi laskennallisella algoritmilla. • Koodin virheenkorjauskyky t määrittelee siis koodiavaruudessa em. kuvitteellisen 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 päässä toisistaan kuvitteellisessa n -ulotteisessa koodiavaruudessa.

  33. Peittosäteen sisällä olevat virheelliset sanat voidaan korjata. Koodiavaruus, peittosäde ja virheenkorjauskyky (S) • Seuraavassa kuvassa C1,...,C5 ovat sallittuja koodisanoja. Näitä ei voida korjata (koodista riippuen ehkä joku yksittäinen pystytään, mutta ei kaikkia)

  34. Koodisanojen valintaesimerkki (S) • Olkoon esimerkiksi (n,k) = (6,3) koodi. Tällöin on olemassa 2k = 23 = 8 mahdollista sanomavektoria ja koko koodiavaruudessa Vn = V6 on 26 = 64 mahdollista 6-pituista koodisanaa. • Taulukon kahdeksan mahdollista koodisanaa siis muodostavat koodiavaruuden V6 aliavaruuden V3 (ko. lineaarisella koodilla on käytössä myös nollasana ja 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 koodausalgebrassa.

  35. Koodisanojen valintaesimerkki (S) • Koodisanat generoitiin 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. • Koodisuunnittelun taustalla oleva matemaattinen koodausteoria määrää lopulta sanojen pariutumisen infobittien kanssa. • Mahdollisimman etäällä toisistaan olevia koodisanoja voidaan analogisesti verrata ortogonaalisen MFSK:n toteuttamiseen (k kpl informaatiobittejä valitsee yhden M:stä ortogonaalisesta aaltomuodosta M -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 välillä. • Edelliseen esimerkkiin liittyvä seuraava 3D -kuva auttanee hahmottamaan hyvien koodien etsinnän tavoitetta.

  36. 8 sanaa/pallo 8 palloa * 8 sanaa = 64 mahdollista vastaanotettua sanaa Virheellisiä vastaanotettuja koodisanoja Ei ole koodisana tämän pallon vaikutuspiirissä (tyhjä ympyrä) Kuori Hamming- etäisyydellä 1 koodisanasta 101001 Laillisia koodisanoja Kuori Hamming- etäisyydellä 2 koodisanasta 101001 Koodisanojen valintaesimerkki (S)

More Related