VIRHEENKORJAUS JA -ILMAISU

Samankaltaiset tiedostot
VIRHEENKORJAUS JA -ILMAISU

INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 28 Kari Kärkkäinen Syksy 2015

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

esimerkkejä erilaisista lohkokoodeista

KONVOLUUTIOKOODIT A Tietoliikennetekniikka II Osa 25 Kari Kärkkäinen Syksy 2015

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Koodausteoria, Kesä 2014

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM)

JATKUVAN AWGN-KANAVAN KAPASITEETTI SHANNON-HARTLEY -LAKI

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014

MAANPUOLUSTUSKORKEAKOULU VIRHEENKORJAUSALGORITMIT. Kandidaatintutkielma. Kadetti Ville Parkkinen. 99. kadettikurssi Maasotalinja

TURBOKOODAUS. Miten turbokoodaus eroaa konvoluutiokoodauksesta? A Tietoliikennetekniikka II Osa 26 Kari Kärkkäinen Syksy 2015

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa

Laajennetut Preparata-koodit

Koodausteoria, Kesä 2014

ELEC-C7230 Tietoliikenteen siirtomenetelmät

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15)

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014

811120P Diskreetit rakenteet

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

MONITILAISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 18 Kari Kärkkäinen Syksy 2015

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset

KOODAUS- JA INFORMAATIOTEORIA. Keijo Ruohonen

Koodausteoria, Kesä 2014

Suodatus ja näytteistys, kertaus

SIGNAALITEORIAN JATKOKURSSI 2003

Kombinatorinen optimointi

1 Määrittele seuraavat langattoman tiedonsiirron käsitteet.

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Johdatus verkkoteoriaan 4. luento

Demo 1: Simplex-menetelmä

Digitaalinen tiedonsiirto ja siirtotiet. OSI-kerrokset

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla:

TLT-5400 DIGITAALINEN SIIRTOTEKNIIKKA

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

LÄHTEENKOODAUS. Mikä on lähteenkoodauksen perusidea? A Tietoliikennetekniikka II Osa 20 Kari Kärkkäinen Syksy 2015

SYMBOLIVIRHETODENNÄKÖISYYDESTÄ BITTIVIRHETODENNÄKÖISYYTEEN

Signaalien generointi

ELEC-C5070 Elektroniikkapaja (5 op)

Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset

Puheenkoodaus. Olivatpa kerran iloiset serkukset. PCM, DPCM ja ADPCM

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

KOODAUSTEORIA S

Johdatus graafiteoriaan

Lineaarinen yhtälöryhmä

Tehtävä 2: Tietoliikenneprotokolla

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

Vektoreiden virittämä aliavaruus

Alla olevassa kuvassa on millisekunnin verran äänitaajuisen signaalin aaltomuotoa. Pystyakselilla on jännite voltteina.

Digitaalitekniikan matematiikka Harjoitustehtäviä

Successive approximation AD-muunnin

Matematiikan tukikurssi

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Reedin ja Solomonin koodit Katariina Huttunen

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Digitaalinen tiedonsiirto ja siirtotiet

Kytkentäkentät, luento 2 - Kolmiportaiset kentät

Ratkaisuehdotukset LH 7 / vko 47

Gaussin ja Jordanin eliminointimenetelmä

Algoritmit 2. Luento 9 Ti Timo Männikkö

T Privacy amplification

Koodausteoria, Kesä 2014

TIIVISTELMÄRAPORTTI. Virheenkorjauskoodien tunnistus signaalitiedustelussa

Helsinki University of Technology

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...

1 Rajoittamaton optimointi

A! Modulaatioiden luokittelu. Luento 4: Digitaaliset modulaatiokonstellaatiot, symbolijonolähetteet. ELEC-C7230 Tietoliikenteen siirtomenetelmät

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Algoritmit 1. Luento 10 Ke Timo Männikkö

BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 11 Kari Kärkkäinen Syksy 2015

Ohjelmoijan binaarialgebra ja heksaluvut

521361A TIETOLIIKENNETEKNIIKKA II

1 Matriisit ja lineaariset yhtälöryhmät

Ortogonaalinen ja ortonormaali kanta

Algoritmit 2. Luento 12 To Timo Männikkö

1 Kannat ja kannanvaihto

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

7 Vapaus. 7.1 Vapauden määritelmä

SISÄLLYS - DIGITAALITEKNIIKKA

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

a b 1 c b n c n

Insinöörimatematiikka D

LUKU 6 TÄRKEIMPIEN ASIOIDEN KERTAUS

Käänteismatriisin. Aiheet. Käänteismatriisin ominaisuuksia. Rivioperaatiot matriisitulona. Matriisin kääntäminen rivioperaatioiden avulla

Käänteismatriisin ominaisuuksia

Lineaariset kongruenssiyhtälöryhmät

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Determinantti. Määritelmä

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

Determinantti. Määritelmä

Transkriptio:

VIRHEENKORJAUS JA -ILMAISU Kanavakoodaus B. Sklar, Digital Communications () Shannon Hartleyn-laki Tiedonsiirron perusresurssit Otsikon lain mukaan ideaalisen (analogisen) kanavan kapasiteetti (kohina valkoista Gaussin kohinaa) on S S = E C = B log+ bit/s b R b = teho N = N N B missä B on kaistanleveys ja S/N on signaali-kohinasuhde Siirtojärjestelmän perusresurssit ovat tämän mukaan lähetysteho (määrää signaali-kohinasuhteen) ja kaistanleveys suorituskykyä mitataan virhetodennäköisyyden avulla käytännössä suorituskykyä ei saada täysin ideaaliseksi järjestelmän monimutkaisuus asettaa rajoituksia LÄHETYSTEHO MONIMUTKAISUUS KAISTANLEVEYS VIRHETODENNÄKÖISYYS () 4 () Tiedonsiirron perusresurssit Tiedonsiirron perusresurssit Perusresursseja pyritään käyttämään säästeliäästi Siirtojärjestelmät jaetaan tehorajoitettuihin ja kaistarajoitettuihin tehorajoitetuissa järjestelmissä lähetystehoa on niukasti mutta kaistanleveyttä runsaasti esim. avaruustietoliikennejärjestelmät kaistarajoitetuissa järjestelmissä tilanne on päinvastainen esim. analoginen puhelinkanava Perusresursseja pyritään säästämään erilaisilla modulaatio- ja koodausmenetelmillä KOODAUS MODULOINTI Monimutkaisuus Lähetysteho KANAVA Kaistanleveys Signaali-kohinasuhde Monimutkaisuus DEKOODAUS DEMODULOINTI Virhetodennäköisyys () ()

Tiedonsiirron perusresurssit Erilaisia koodausjärjestelmiä Tavoitteet ovat ristiriitaiset esim. lähetystehon pienentäminen pienentää lähettimen tehonkulutusta ja kokoa, mutta virhetodennäköisyys kasvaa ellei kaistanleveyttä tai käytetyn koodaus- tai modulointimenetelmän monimutkaisuutta lisätä Jotkut järjestelmät ovat sekä kaista- että tehorajoitettuja Tällöin järjestelmän suunnittelussa on oltava erityisen huolellinen käytettävä koodaus- ja modulaatiomenetelmät on yhdistettävä FEC-MENETELMÄT KANAVAKOODAUSMENETELMÄT ARQ-MENETELMÄT () 8 () Erilaisia koodausjärjestelmiä Erilaisia koodausjärjestelmiä FEC (forward error correction) virheen ilmaisu ja korjaus dekooderissa ei tarvita paluukanavaa, reaaliaikainen toiminta käytössä tehorajoitetuissa järjestelmissä ARQ (automatic repeat request) virheen ilmaisu ja virheellisen lohkon toistopyyntö vaatii paluukanavan toiminta ei reaaliaikainen sekä teho- että kaistarajoitettuihin järjestelmiin soveltuva menetelmä KOODERI KANAVA FEC KOODERI KANAVA PALUU- KANAVA Virheenkorjaus ARQ NAK = negative acknowledgement ACK = positive acknowledgement 9 () () Kanavakoodien jako Kanavakoodaus LOHKOKOODIT KANAVAKOODIT KONVOLUUTIOKOODIT Kanavakoodauksessa signaaliin lisätään sellaista systemaattista redundanssia (ns. ylimäärää), että sitä voidaan käyttää tehokkaasti virheen ilmaisuun ja korjaukseen dekooderissa Redundanssi lisätään pariteettibittien avulla esimerkkinä viitenumeron ja tilinumeron tarkisteen laskeminen Nämä pariteettibitit lasketaan informaatiobiteistä erityisillä kanavakoodausalgoritmeilla n bitin koodilohko n bitin koodilohko n bitin koodilohko k informaatiobittiä (n k) pariteettibittiä k informaatiobittiä (n k) pariteettibittiä k informaatiobittiä (n k) pariteettibittiä () (mod--summa) LOHKOKOODI koodaus koodaus koodaus ()

Merkinnät Lohko- ja konvoluutiokoodien ero Redundanssi tuo signaaliin tietynlaisen muistiominaisuuden Jos kanavassa syntyy bittivirhe tai -virheitä, muistia hyväksikäyttäen virhe voidaan ilmaista ja mahdollisesti korjata Merkinnät: n = lohkon pituus (koodisanan tai koodin pituus) k = informaatiobittien lukumäärä (informaatiosanan pituus) n k = pariteettibittien lukumäärä R c = k/n = koodisuhde (koodinopeus) informaatiobittien suhteellinen osuus kaikista biteistä Jos pariteettibitit lasketaan vain samaan lohkoon sisältyvien informaatiobittien avulla, kysymyksessä on lohkokoodi Jos pariteettibitteihin vaikuttavat myös aikaisempien lohkojen informaatiobitit, kysymyksessä on konvoluutiokoodi n bitin koodilohko k informaatiobittiä (n k) pariteettibittiä n bitin koodilohko k informaatiobittiä (n k) pariteettibittiä KONVOLUUTIOKOODI n bitin koodilohko k informaatiobittiä koodaus (mod--summa) (n k) pariteettibittiä () 4 () Perusteita Perusteita Erilaisia koodisanoja on siis n kpl kooderi käyttää niistä vain k kpl n > k Kanavassa koodisanaan saattaa tulla virheitä vastaanotettu koodisana voi olla mikä tahansa n :stä koodisanasta Dekoodaus tapahtuu kahdessa vaiheessa Virheen korjaaminen (virheen paikallistaminen) on paljon monimutkaisempaa kuin virheen ilmaisu ARQ-järjestelmässä virhettä ei korjata virheellinen lohko pyydetään lähettämään uudestaan Virheen ilmaisu perustuu siihen, että dekooderi laskee pariteettibitit uudestaan ja vertaa niitä vastaanotettuihin pariteettibitteihin virheellinen lohko täytyy ensin ilmaista sen jälkeen virheen (virheiden) paikka täytyy määrittää k n k virheen ilmaisu MOD- (OR) virheen korjaus + virhe korjataan invertoimalla virheellinen bitti vertailu () () Perusteita Perusteita Merkintä (n,k)-koodi tarkoittaa kanavakoodia, jonka lohkonpituus on n ja informaatiobittien lukumäärä k Samaa merkintää käytetään sekä lohko- että konvoluutiokoodeille Jos lähteen nopeus on R s bit/s, niin kooderin lähdössä nopeus on Koska n/k >, bittinopeus kasvaa kanavakooderissa johtuu redundanssin lisäämisestä Samalla yhden bitin energia pienenee k εc = εb = εb Rc n pidetään koodisanan energiaa samana n Rs Rs = k R c bit/s Kanavassa siis syntyy enemmän virheitä kuin koodaamattomassa järjestelmässä jossa R c = k/n on koodisuhde Koodinkorjauskyvyn ansiosta kuitenkin dekooderin lähdössä tilanne on enemmän kuin kompensoitu () 8 ()

Perusteita Perusteita P( e) dekooderi (joskus, -, voidaan hyväksyä) P( e) << Dekooderin tulossa virhesuhteen (virheellisten bittien osuus kaikista biteistä) on yleensä oltava, muuten dekooderi ei toimi asianmukaisesti Monimutkaisia koodeja käytettäessä virhesuhde,, voidaan vielä hyväksyä Rajan yläpuolella dekooderi ei vastaanota riittävästi oikeita bittejä ja dekooderi itse asiassa alkaa lisätä virheitä (kynnysilmiö) Kanavakoodauksessa siis signaalin kaistanleveys kasvaa (jos informaationopeus halutaan säilyttää), mutta virhesuhde paranee Samalla lähetysteholla päästään pienempään virhesuhteeseen kaistanleveyden kustannuksella 9 () () Shannonin raja Shannonin raja Kirjassa Sklar, Digital Communications, Fundamentals and Applications, Second Edition (s. 8) on osoitettu, että jatkuvan kanavan kapasiteetti on positiivinen (C > ), kun signaali-kohinasuhde bittiä kohti on E N b > = ˆ, db log e Tätä alarajaa sanotaan Shannonin rajaksi, jota ei voida millään koodaus- tai modulaatiomenetelmällä alittaa Raja on johdettu kvantisoimattomalle pehmeälle päätöksenteolle Kovan päätöksenteon raja on db suurempi P(e) raja P(e) = / - koodattu järjestelmä koodaamaton antipodaalinen järjestelmä - (esim. binäärinen PSK) E b P( e) = erfc N -4-4 8 kovan päätöksenteon raja (+,4 db) koodausvahvistus Shannonin raja (, db) () () Koodausvahvistus Koodausvahvistus tarkoittaa koodauksella saavutettua etua signaali-kohinasuhteessa Koodausvahvistus riippuu virhetodennäköisyydestä (ja tietysti koodista) Esim. edellä olevassa tilanteessa on teoriassa mahdollista saavuttaa koodausvahvistus, db (kun P(e) = - ) kvantisoimatonta pehmeää päätöksentekoa käytettäessä Kovaa päätöksentekoa käytettäessä menetetään koodausvahvistuksesta db ja kolmen bitin kvantisoinnissa (Q = 8), db Huom. koodausvahvistus tulee kaistanleveyden kustannuksella Lohkokoodit Koodien toiminta perustuu modulo--aritmetiikkaan + k n k Lineaarisessa kooderissa käytetään vain mod--summaimia eli OR-piirejä (exclusive or = ehdoton tai) n mod- () 4 () 4

Lohkokoodit Lohkokoodit Esim. (n,n )-koodi informaatiosana koodisana informaatiosana koodisana pariteettibitti (parillinen pariteetti) Koodi on systemaattinen, jos informaatiobitit sisältyvät sellaisenaan koodisanaan Koodi on lineaarinen, jos pariteettibitit lasketaan informaatiobittien lineaarisena kombinaationa modulo--summana Lineaarisessa koodissa saa käyttää vain ORoperaatioita ei esim. AND-operaatioita Merk. u = [u, u,, u k ] informaatiosana x = [x, x,, x n ] koodisana () () Lohkokoodit Lohkokoodit Esim. Toistokoodi (n = ) (,)-koodi Esim. Hamming-koodi ((,4)-koodi) u u 4 u u u x x x Esim. (,)-koodi u u x x x u u x x x () x x x x 4 x Koska koodit ovat systemaattisia, tarvitsee laskea vain n k pariteettibittiä x x 8 () Lohkokoodin generoijamatriisi Lohkokoodin generoijamatriisi Generoijamatriisi (generoiva matriisi) määrittelee kooderin rakenteen Esim. (,4)-Hamming-koodi x x x u 4 x 4 x u u x u x x x x x 4 x x x u u = G u u 4 Koodisana x lasketaan informaatiosanasta u seuraavasti: x = ug Jos u = (), niin x = = = ( ) 4 ( ) + ( ) ( ) 4 9 () ()

(,4)-Hamming-koodi Lohkokoodin generoijamatriisi Informaatiosanat Koodisanat Koodisana saadaan siis laskemalla yhteen generoijamatriisin ne rivit, jotka vastaavat informaatiosanan ykkösiä Systemaattisen koodin generoijamatriisi on muotoa G = [ I k P ] jossa I k on yksikkömatriisi (kxk-matriisi) P on kx(n k)-matriisi (pariteettimatriisi) Onko koodi systemaattinen? On se () () Lineaarisen lohkokoodin ominaisuuksia Käsitteitä. Jokainen koodisana on generoijamatriisin tiettyjen rivien summa. Lohkokoodin koodisanat saadaan selville laskemalla kaikki mahdolliset generoijamatriisin rivien summat. Kahden koodisanan summa on koodisana (superpositioperiaate) 4. Nollasana on aina koodisana Nimitys lineaarinen koodi tarkoittaa sitä, että kaikki koodisanat voidaan laskea generoijamatriisin rivien lineaarisena kombinaationa Hamming-paino = koodisanan sisältämien ykkösten lukumäärä x = () Hamming-paino = 4 Hamming-etäisyys = kahden koodisanan välinen ero = kahden koodisanan summan Hamming-paino x = () x = () x + x =() Hamming-etäisyys = () 4 () Käsitteitä Käsitteitä koodisanat poikkeavat toisistaan kuudessa bittipaikassa merk. d = huom. d ij n Minimietäisyys = koodin koodisanojen välisistä Hamming-etäisyyksistä pienin merk. d min lineaarisen lohkokoodin minimietäisyys on sama kuin minimietäisyys nollasanasta ts. nollasanaa lähimpänä olevan koodisanan Hamming-paino () Esim. (,4)-Hamming-koodi koodisana Hamming-paino 4 4 4 4 4 4 4 ()

Käsitteitä Lohkokoodin virheen ilmaisu- ja korjauskyky painojakauma Kova päätöksenteko, kanavamalli paino koodisanojen lkm. 4 x + e y x = lähetetty koodisana y = vastaanotettu sana e = virhesana taulukosta nähdään, että koodin minimietäisyys on d min = Huom. Lineaarisen lohkokoodin painojakauma on samalla etäisyysjakauma mistä tahansa koodisanasta y = x + e () 8 () Lohkokoodin virheen ilmaisu- ja korjauskyky Lohkokoodin virheen ilmaisu- ja korjauskyky Virheen ilmaisu verrataan vastaanotettuja pariteettibittejä (n k kpl) dekooderissa laskettuihin pariteettibitteihin virhe on tapahtunut, jos yksikin vastaanotettu pariteettibitti on erilainen kuin informaatiobiteistä dekooderissa laskettu y = k mod- n s = + = mod--summa oiresana (syndrome) Jos oiresana s =, niin virhe on tapahtunut Oiresana voidaan laskea pariteetintarkistusmatriisin H avulla: s = y H T x(n k) xn nx(n k) jossa matriisi H T on matriisin H transpoosi nx(n-k) (n-k)xn 9 () 4 () Lohkokoodin virheen ilmaisu- ja korjauskyky Lohkokoodin virheen ilmaisu- ja korjauskyky Esim. (,4)-Hamming-koodi. Oiresanan s = (s, s, s ) bitit saadaan seuraavasti: y = (y, y,, y ) kooderi x = u + u + u x = u + u + u 4 x = u + u + u 4 u x x x x 4 x x x u = G u u 4 kxn dekooderi s = (y + y + y ) + y s = (y + y + y 4 ) + y s = (y + y + y 4 ) + y lasketaan pariteettibitit uudestaan verrataan vastaanotettuihin vastaaviin bitteihin s H = s = I s y y y y 4 y y y (n-k)xn T ( P ) n k 4 () s = y H T x(n k) xn nx(n k) s = = ( y y y y y y y ) ( y + y + y + y, y + y + y + y, y + y + y + y ) = ( s, s, s) 4 n 4 n ( n k ) 4 4 ()

Lohkokoodin virheen ilmaisu- ja korjauskyky "pariteettimatriisi" pariteetintarkistusmatriisi G = (I k P) H = (P T I n k ) x = ug s = yh T Esim. T GH = = 4 4x Lohkokoodin virheen ilmaisu- ja korjauskyky Ominaisuus: oiresana s = yh T on nollasana, jos ja vain jos y on koodisana Ominaisuus: dekooderi voi ilmaista kaikki virhesanat e, jotka eivät ole koodisanoja s = yh T = (x + e)h T = xh T + eh T = eh T jos e on koodisana, niin oiresana on nollasana Tulos on voimassa yleisesti: GH T = 4 () 44 () Lohkokoodin virheen ilmaisu- ja korjauskyky Lohkokoodin virheen ilmaisu- ja korjauskyky Teoreema jos lineaarisen lohkokoodin minimietäisyys on d min, niin koodi voi ilmaista kaikki virhesanat, joiden paino on enintään d min d min x y x d min s = yh T = (x + e)h T = xh T + eh T = eh T Erilaisia oiresanoja on n k kpl Erilaisia vastaanotettuja sanoja on n kpl Jokaista oiresanaa kohti on siis k kpl vastaanotettua sanaa Selitys: virhesanaan e voi lisätä minkä tahansa koodisanan x ( k kpl) eikä oiresana silti muutu 4 () 4 () Lohkokoodin virheen ilmaisu- ja korjauskyky Lohkokoodin virheen ilmaisu- ja korjauskyky Teoreema. jos lineaarisen lohkokoodin minimietäisyys on d min, niin koodi voi korjata kaikki virhesanat, joiden paino on enintään t = [(d min )/], [ ] tarkoittaa tässä kokonaislukuosaa koodia sanotaan tällöin t virhettä korjaavaksi koodiksi d min d min (ilmaisu) [(d min )/] (korjaus) 4 4 d min d = min dmin t = d min t = d = d min min Koodinsuunnittelun tavoite on käyttää redundanssia mahdollisimman suuren minimietäisyyden saavuttamiseksi 4 () 48 () 8

Lohkokoodin taulukkohakudekoodaus Lohkokoodin taulukkohakudekoodaus Esim. (,4)-Hamming-koodi oiresana virhesana H T = jos y = (), niin s = yh T = ( ) = ( ) dekoodaustaulukosta ê = () korjattu sana on xˆ = y + ê = () korjaus 49 () () Lohkokoodin taulukkohakudekoodaus Koodiperheiden kehitys koska taulukkohakudekoodaus on monimutkainen, (jos n k on suuri) käytetään käytännössä erilaisia dekoodausalgoritmeja dekoodaus saadaan yksinkertaiseksi valitsemalla koodi sopivasta koodiperheestä () () Hamming-koodit Hamming-koodit s = yh T = (x + e)h T = eh T Oiresanaan lasketaan mukaan ne H:n sarakkeet (H T :n rivit), joita vastaava virhesanan bitti on ykkönen Etsitään sellaista matriisia H (eli samalla matriisia G), joka korjaa yhden virheen Huom. H:n sarakkeet ovat itse asiassa oiresanoja Jos jokin H:n sarakkeista olisi nollasana, virhettä tuossa paikassa ei voitaisi ilmaista Jos taas kaksi H:n saraketta olisi samanlaisia, virhettä jommassakummassa näistä paikoista ei voitaisi korjata, koska oiresanat olisivat samoja Johtopäätös: lohkokoodi voi korjata yhden virheen, jos ja vain jos H:n sarakkeet ovat kaikki erilaisia eikä yksikään ole nollasana Hamming-koodit ovat koodeja, joilla H:n sarakkeet (n kpl) muodostavat kaikki mahdolliset (n k):n bitin sekvenssit paitsi nollasekvenssin H on (n k)xn-matriisi, joten Hamming-koodilla n = n k Merkitään m = n k Hamming-koodit ovat siis ( m, m m)-koodeja m =,, () 4 () 9

Hamming-koodit Hamming-koodit m (n,k) r c = k/n (,) (,), (,4), 4 (,), (,),89 (,),9 ei koodi koodisuhde kasvaa Esim. (,)-koodin pariteetintarkistusmatriisi H = 4 8 9 4 jos virhesana on e = (), oiresanaksi tulee s = eh T = () oiresana ilmoittaa tässä tapauksessa suoraan binäärisessä muodossa virheellisen bitin paikan dekoodaus on suoraviivaista 4 () () Hamming-koodit Lohkokoodeja koodi ei ole kuitenkaan systemaattinen systemaattinen muoto saadaan yksinkertaisesti järjestelemällä sarakkeet uudelleen = H 9 4 8 4 koska Hamming-koodi korjaa yhden virheen, sen minimietäisyyden täytyy olla d min = Hamming-koodi duaalikoodi Maksimipituuskoodi lisää pariteettibitti Laajennettu maksimipituuskoodi lisää vastakkaiset koodisanat Reed Müller-koodi (r = ) simplex-koodi ortogonaalinen koodi biortogonaalinen koodi () 8 () Sykliset koodit Sykliset koodit Lineaarinen lohkokoodi on syklinen, jos ja vain jos minkä tahansa koodisanan syklisesti siirretty versio on myös koodisana Syklisten koodien ominaisuuksia: koodaus ja dekoodaus suhteellisen yksinkertaista takaisinkytketyt siirtorekisterit käytössä matemaattinen käsittely polynomialgebraa käyttäen Esim. (,4)-Hamming-koodi on syklinen 9 () ()

Sykliset koodit Sykliset koodit Koodisana x = (x n, x n,, x ) esitetään koodipolynomin Esim. Hamming-koodi on syklinen (,4)-koodilla on avulla x(d) = x n D n + x n D n + + x D + x G = Kertoimet x n, x n,, x ovat binäärisiä merk. nollia ja ykkösiä D D G(D) = D D 4 + D + (D + D + )(D + D + D + (D + )(D = + D + D D(D + D + D + D + ) + D + ) + D + ) + D + () () Sykliset koodit Sykliset koodit Kaikki koodipolynomit ovat siis jaollisia polynomilla g(d) = D + D + Tämä polynomi on koodin generoijapolynomi Teoreema syklisen (n,k)-koodin generoijapolynomi g(d) on polynomin D n + tekijä kääntäen: jokainen polynomin D n + tekijä, jonka asteluku on (n k), generoi syklisen (n,k)-koodin Taulukossa. on esitetty polynomin D n + tekijöitä oktaalimuodossa esim. toisella rivillä (n = 9) on = = + D = = + D + D 444 = = + D + D huom. järjestys () 4 () Sykliset koodit Sykliset koodit siten D 9 + = (D + )(D + D + )(D + D + ) (9,8)-koodi (9,)-koodi (9,)-koodi mitä muita koodeja on vielä mahdollista muodostaa? Taulukossa. on vain parittomia n:n arvoja Jos n = m on parillinen, D n + jaetaan ensin tekijöihin D n + = D m + =(D m + )(D m + ) ja katsotaan taulukosta polynomin D m + tekijät jos m on parillinen, menetelmää jatketaan, kunnes tullaan parittomaan astelukuun Taulukosta. havaitaan, että polynomin D n + tekijöihin kuuluu aina polynomi D + Tämä polynomi generoi (n,n )-koodin, jossa on vain yksi pariteettibitti (koodisanan pariteetti on aina parillinen), ja koodi on syklinen Tietyillä n:n arvoilla (n =,,,, 9, 9,,, 9,, ) jako tekijöihin on helppo: D n + =(D + )(D n + D n + + D + ) Nämä n:n arvot on jätetty pois taulukosta. () ()

Sykliset koodit Syklisten koodien koodausalgoritmit Esim. n = D + D + D + D + D + D D + D + D D + D + koodipolynomin muodostaminen x(d) = D n k u(d) + r(d) r(d) on jakojäännös, kun D n k u(d) jaetaan g(d):llä D + = (D + )(D + D + ) systemaattinen koodi () 8 () Syklisten koodien koodausalgoritmit Syklisten koodien koodausalgoritmit x(d) = D n k u(d) + r(d) D u(d) = D (D + D + ) = D + D + D D + D + D + D + D + D + D + D D + D 4 + D D + D 4 D + D + D D 4 + D + D D 4 + D + D D + D x(d) = D + D + D + D + D + D D D 4 D D D D = x = (), koodi on systemaattinen Syklisen koodin generointi perustuu kertoja- ja jakajapiirien käyttöön Piirit koostuvat yhteenlaskupiireistä, muistielementeistä (kiikkupiireistä) ja vakiolla kertojista 9 () () Syklisten koodien koodausalgoritmit Syklisten koodien koodausalgoritmit a a modulo--summain (OR-piiri) muistielementti (kiikkupiiri), jonka muistissa binääriluku a (piirin lähtö on siis luku a) vakiolla kertoja (kertoo binääriluvulla a) Esim. Piirrä piiri, joka kertoo polynomilla D n k = D ja jakaa polynomilla g(d) = D + D + tulo r r r lähtö D Q a a = u i Q a a = () ()

Syklisten koodien koodausalgoritmit Syklisten koodien koodausalgoritmit u i r r r 4 jakojäännös () Tämä piiri muodostaa perustan systemaattisen syklisen (,4)-koodin generoinnille Toiminta kooderina: A lähde B A B B A kanava Piirin etuna on se, että jakojäännös (pariteettibitti) voidaan lukea rekisteristä ulos heti, kun informaatiobitit on luettu sisään () 4 () Syklisten koodien koodausalgoritmit Virheen ilmaisu ja korjaus Toiminta informaatiobitit luetaan siirtorekisteriin ja samanaikaisesti kanavaan kytkimet asennossa A neljän kellopulssin jälkeen kytkimet siirretään asentoon B ja luetaan pariteettibitit kanavaan huom. takaisinkytkentä täytyy katkaista, jotta pariteettibitit eivät muuttuisi Edellä esitetty kooderi sisältää (n k) muistielementtiä Piiriä voidaan käyttää mille tahansa sykliselle koodille, jonka generoijapolynomi on tunnettu Kanavassa koodipolynomiin x(d) summautuu virhepolynomi e(d), vastaanotettu polynomi on y(d) = x(d) + e(d) Jaetaan vastaanotettu polynomi koodin generoijapolynomilla: y(d) = m(d)g(d) + s(d) osamäärä jakojäännös y(d) s(d) = m(d) + g(d) g(d) y(d) on koodipolynomi, jos ja vain jos polynomi s(d) = Tämä polynomi (asteluku enintään n k ) on y(d):n oirepolynomi () () Virheen ilmaisu ja korjaus Virheen ilmaisu ja korjaus Virheen ilmaisu tapahtuu siis jakamalla y(d) generoijapolynomilla g(d) ja tutkimalla, onko jakojäännös eli oirepolynomi s(d) = Virhe on tapahtunut, jos s(d) D n k u(d) x(d) y(d) g(d) g(d) s(d) e(d) u G x y H T s generoijamatriisi e pariteetintarkastusmatriisi () 8 ()

Virheen ilmaisu ja korjaus Virheen ilmaisu ja korjaus Esim. generoijapolynomi on g(d) = D + D + vastaanotettu sekvenssi y(d) = D + D + y = () oirepolynomi s(d) =? D + D + D D + D + D + D + D + D 4 + D D + D 4 + D + D + D + D D 4 + D + D 4 + D + D D + = s(d) s s s s = () 9 () 8 () Virheen ilmaisu ja korjaus Virheen ilmaisu ja korjaus oiresanan laskeminen (jakajapiiri): y s s s s(d) = D + s s s y s s s b c lähtö 4 8 9 4 xˆ oiresanan laskeminen oiresanan siirtäminen 8 () 8 () Virheen ilmaisu ja korjaus Virheen ilmaisu ja korjaus B A s s s & A B c toiminta:. luetaan vastaanotettu sana y oiresanageneraattoriin ja puskuriin (kytkimet asennossa A). siirretään kytkimet asentoon B ja siirretään oiresanaa ja puskuria Edellä esitetty dekooderi on ns. Meggit-dekooderi, jota voidaan soveltaa myös useamman virheen korjaamiseen kanava b xˆ Menetelmää sanotaan myös virheen "vangitsemiseksi" error trapping 8 () 84 () 4

Erityisiä syklisiä koodeja Erityisiä syklisiä koodeja BCH-koodit (Bose-Chaudhuri-Hocquenghem) korjaavat t virhettä generoijapolynomit taulukossa. (eniten merkitsevä bitti vasemmalla, päinvastoin kuin aikaisemmassa taulukossa) esim. rivillä m = 4, n =, n k = = 8, t = g(d) = D 8 + D + D + D 4 + 8 () 8 () Erityisiä syklisiä koodeja Erityisiä syklisiä koodeja vrt. taulukon. mukaan syklisen koodin generoijapolynomit ovat (n = ) g (D) = + D g (D) = + D + D 4 g (D) = + D + D 4 BCH-koodit ovat tärkeitä käytännössä riittävän yksinkertaiset dekoodausalgoritmit parametriarvot melko vapaasti valittavissa kun n on enintään muutamia satoja, monet BCH-koodeista ovat lähes parhaita mahdollisia koodeja g 4 (D) = + D + D 4 g (D) = + D + D + D + D 4 BCH-koodin generoijapolynomi on g(d) = g 4 (D)g (D) = (D 4 + D + )(D 4 + D +D + D +) = D 8 + D + D + D + D 4 + D + D 4 + D + D + D + D 4 + D + D + D + = D 8 + D + D + D 4 + Reed Salomon-koodit ei-binäärisiä BCH-koodeja m bittiä muodostavat symbolin erilaisia symboleita m = q kpl 8 () 88 () Erityisiä syklisiä koodeja Ryöppyvirheiden ilmaisu ja korjaus n kpl m m m m m m m k kpl n = m symbolia = m ( m ) bittiä n k = t symbolia = mt bittiä Kanava ei ole muistiton, esim. magneettinauha yms., häipyvä kanava, pulssimainen häiriö kanavassa virheet eivät tapahdu toisistaan riippumatta Tällöin satunnaisvirheitä korjaava koodi on tehoton virhetyypit koodi korjaa t symbolivirhettä (mt bittivirhettä) sopivat hyvin ryöppyvirheiden korjaamiseen käytetään myös ketjukoodien ulkokoodina satunnaisvirheet ryöppyvirheet 89 () 9 ()

Ryöppyvirheiden ilmaisu ja korjaus Ryöppyvirheiden ilmaisu ja korjaus Eri mahdollisuuksia. ryöppyvirheitä korjaavat koodit sykliset koodit (esim. fire-koodi) ketjukoodit. lomittimien käyttö Taulukossa.9 on lueteltu tehokkaita syklisiä ja lyhennettyjä syklisiä koodeja ryöppyvirheiden korjaamiseen Generoijapolynomit ovat oktaalimuodossa, suurinta astelukua vastaava termi vasemmalla 9 () 9 () Ryöppyvirheiden ilmaisu ja korjaus Lomittimet Esim. taul..9 (,)-koodi g(d) = D + D + D 4 + kooderi lomitin kanava vastalomitin dekooderi (n,k)-koodi (in,ik)-koodi ryöppyvirheitä (i = lomitteluaste) satunnaisia virheitä Satunnaisvirheitä korjaavaa koodia voidaan käyttää myös kanavassa, jossa syntyy ryöppyvirheitä Virheet on kuitenkin ensin tehtävä satunnaisiksi lomittimen ja vastalomittimen avulla 9 () 94 () Lomittimet Konvoluutiokoodit Esim. (,)-BCH-koodi, t =, i = jos lomitteluaste i =, saadaan (,)-koodi, joka korjaa edelleen satunnaisvirhettä tai virheryöpyn, jonka pituus on enintään it = = virhettä On olemassa useita erilaisia tapoja toteuttaa lomittelu lohkolomittelu konvoluutiolomittelu Lomittelua voi esiintyä myös useassa eri tasossa (vrt. esim. CD-levy) Konvoluutiokoodit ovat lineaarisia koodeja, jotka toimivat yleensä vähintään yhtä hyvin kuin lohkokoodit Konvoluutiokoodien koodimatematiikka ei ole niin pitkälle kehittynyt kuin lohkokoodeilla konvoluutiokooderi k n muistissa N aikaisempaa lohkoa (n,k )-koodi koodisuhde r c = k /n N = vaikutuspituus (constraint length) v = (N )k = muistin koko n, k ja N pieniä kokonaislukuja 9 () 9 ()

Konvoluutiokoodit Konvoluutiokoodit u N k k k Kooderi ottaa aina sisään k bittiä ja laskee N:n lohkon avulla n bittiä Lohkokoodilla vaikutuspituus N = x nämä kytkennät määrittelevät konvoluutiokoodin generaattorivektorit konvoluutiokoodit lohkokoodit N > N = n Lohkokoodi on siis konvoluutiokoodin rajatapaus 9 () 98 () Konvoluutiokoodit Konvoluutiokoodit Esim. (,)-koodi, vaikutuspituus N = u x kommutaattori (korvaa toisen siirtorekisterin) 99 () () Konvoluutiokoodit Konvoluutiokooderin toiminnan esittäminen Esim. (,)-koodi, N = u generaattorivektorit: g = () g = () g = () k N kpl n kpl Konvoluutiokooderia voidaan pitää koneena, jolla on äärellinen määrä sisäisiä tiloja FSM = finite-state-machine Kooderin toimintaa voidaan kuvata usealla tavalla tiladiagrammi trellisdiagrammi puudiagrammi x Kaikki nämä esitystavat sisältävät saman tiedon kooderin toiminnasta () ()

Konvoluutiokooderin toiminnan esittäminen Konvoluutiokooderin toiminnan esittäminen Usein käyttökelpoisin esitystapa on trellisdiagrammi, jossa puudiagrammin jaksollisuus on otettu huomioon jaksollisuus johtuu äärellisestä muistista Esim. (,)-koodi, N = u u l u l u l muistin pituus v = N = merk. kooderin tila hetkellä l on muistin sisältö tuolla hetkellä σ l (u l, u l ) erilaisia tiloja on v = 4 kpl:,,, jos esim. kooderi on tilassa ja tulobitti on, lähtöbiteiksi tulevat ja seuraava tila on x () 4 () Konvoluutiokooderin toiminnan esittäminen Konvoluutiokooderin toiminnan esittäminen Täydellinen tiladiagrammi on seuraava: S S S S = () S = () S = () S 4 = () alussa ollaan tilassa S = () jos esim. u = ( ), niin tilakaavion mukaan x = ( ) ja kooderi käy tiloissa S S S 4 S S S 4 tätä kooderin tilasekvenssiä sanotaan poluksi esimerkkisiirtymä S 4 katkoviiva vastaa tulobittiä jatkuva viiva vastaa tulobittiä () () Konvoluutiokooderin toiminnan esittäminen Konvoluutiokooderin toiminnan esittäminen muistin pituuden kasvaessa tiladiagrammin koko kasvaa eksponentiaalisesti ja muodostuu vaikeaksi käsitellä Trellisdiagrammi on tiladiagrammi, jossa aika esitetään eksplisiittisesti S S Luku l ilmoittaa, kuinka syvällä trellisdiagrammissa ollaan menossa Tulosekvenssiä vastaa jokin polku trellisdiagrammissa Tätä polkua vastaavat koodatut bitit voidaan lukea diagrammista Esim. u = ( ), x = ( ), tilasekvenssi (polku): S S S 4 S S S 4 S S 4 l = l = l = l = l = 4 () 8 () 8

Konvoluutiokooderin toiminnan esittäminen Konvoluutiokooderin toiminnan esittäminen Puudiagrammi vastaa trellisdiagrammia, mutta puudiagrammissa haarautuminen jatkuu loputtomasti (kuva.8) Puudiagrammin osia ovat solmut ja haarat Solmut vastaavat tiladiagrammin tiloja Haarat vastaavat tilasiirtymiä solmu haara 9 () () Konvoluutiokooderin toiminnan esittäminen Konvoluutiokoodien etäisyysominaisuudet Trellisdiagrammi on puudiagrammi, jossa samaa tilaa vastaavat solmut on yhdistetty puudiagrammi trellisdiagrammi tiladiagrammi yhdistä samaa tilaa vastaavat solmut esitä aika vain implisiittisesti Myös konvoluutiokoodin suorituskyvyn määräävät koodattujen sekvenssien etäisyysominaisuudet Kovassa päätöksenteossa merkitystä on Hammingetäisyyksillä Koska konvoluutikoodit ovat lineaarisia, etäisyysjakauma on sama riippumatta siitä, mikä sekvenssi on koodattu Suurin merkitys on koodin vapaalla etäisyydellä, joka on kahden äärettömän pitkän koodatun sekvenssin pienin Hamming-etäisyys () () Parhaat konvoluutiokoodit Parhaat konvoluutiokoodit Konvoluutiokoodi on optimaalinen, jos sen vapaa etäisyys on mahdollisimman suuri, kun koodisuhde k /n ja vaikutuspituus N on annettu Optimaalisia koodeja on etsittävä tietokoneen avulla (taulukot..) Esim. taul.., N = 4, koodisuhde / g = () g = () u x () 4 () 9

Parhaat konvoluutiokoodit Parhaat konvoluutiokoodit Taul.., N = v =, koodisuhde / Siirtofunktiomatriisi, jossa g i,j on generaattorivektori g G = gk,,...... g g, n k, n g = g,, g g,, g g,, = 4 () () Parhaat konvoluutiokoodit Punkturointi G = Käyttämällä ns. punkturoituja konvoluutiokoodeja (punctured convolutional codes) voidaan pienentää monimutkaisuuden kasvua, joka seuraa, kun siirrytään käyttämään koodisuhteen k /n koodeja suhteen /n :n sijasta Koodisuhteen k /n punkturoitu konvoluutiokoodi voidaan siis muodostaa koodisuhteen /n koodista ( äitikoodi ) poistamalla pariteetintarkastusbittejä sopivasti Optimoituja punkturoituja koodeja löytyy taulukoituna vapaa etäisyys on maksimoitu Punkturoinnin haittapuolia ovat ainakin: punkturoidujen koodien etäisyysominaisuudet ovat yleensä hiukan huonommat kuin vastaavan suhteen punkturoimattomilla koodeilla dekooderissa tarvitaan tarkka kehyssynkronointi, koska punkturoidun koodin trelliskaavio vaihtelee periodilla k () 8 () Punkturointi Punkturointi Esim. Kuvassa.4 on 4-tilainen konvoluutiokooderi, jonka tuottaman koodin koodisuhde on / Jos u = ( ) x = ( ) Punkturoidaan joka neljäs pariteettibitti Saadaan koodisuhteeksi / Jos u = ( ) x = ( ) Suurempia koodisuhteita saadaan aikaan kasvattamalla punkturoitavien pariteettibittien lukumäärää Edellä saatu punkturoitu koodi on sama kuin kuvassa. olevalla rakenteella ilman punkturointia saatava koodi, jossa yksi trellisdiagrammin väli vastaa kahta väliä punkturoidun koodin trellisdiagrammissa Jos u = ( ) x = ( ) Jos u = ( ) x = ( ) 9 () ()

Konvoluutiokoodin ML-dekooderi: n idea käy ilmi parhaiten esimerkin avulla (kooderi kalvolla, tiladiagrammi kalvolla ja trellisdiagrammi kalvolla ) esim. lähetetty sekvenssi on trellisdiagrammista voidaan lukea, että koodattu sekvenssi on oletetaan, että vastaanotettu sekvenssi on tätä sekvenssiä ei löydy trellisdiagrammista, joten on käytettävä päätössääntöä (algoritmin toiminta seuraavilla sivuilla) S S S u Konvoluutiokoodin ML-dekooderi: u l u l u l S 4 l = l = l = l = l = 4 x S S S S 4 () () Konvoluutiokoodin ML-dekooderi: Konvoluutiokoodin ML-dekooderi: Jokaiseen tilaan tulee vain yksi sekvenssi (etäisyydet merkitty) l = 4 () 4 () Konvoluutiokoodin ML-dekooderi: Konvoluutiokoodin ML-dekooderi: 4 4 Jokaiseen tilaan tulee kaksi sekvenssiä hylätään kauempana oleva (jos kumpikin samalla etäisyydellä: arvotaan tai valitaan aina esim. alempi sekvenssi). 4 4 Tutkitaan vain edellisessä vaiheessa jäljelle jääneiden sekvenssien jatkeita. Jokaiseen tilaan tulee taas kaksi sekvenssiä, joista hylätään kauempana oleva (tarvittaessa arvonta). () ()

Konvoluutiokoodin ML-dekooderi: Konvoluutiokoodin ML-dekooderi: Sama jatkuu 8 9 8 Tässä vaiheessa jäljellejääneiden polkujen alkupäät ovat identtisiä ja voidaan tehdä bittipäätöksiä: () 8 () Konvoluutiokoodin ML-dekooderi: Konvoluutiokoodin ML-dekooderi: näin jatketaan 8 9 8 aina kun alkupäässä tapahtuu polkujen yhtymistä, voidaan tehdä bittipäätöksiä lopussa valitaan päätökseksi se sekvenssi neljästä jäljellä olevasta, joka on Hammnig-etäisyydeltään kaikkein lähimpänä tulokseksi tulee päätös ja alussa olleet kaksi virhettä ovat tulleet korjatuiksi 9 () () Konvoluutiokoodin ML-dekooderi: Konvoluutiokoodin ML-dekooderi: perustuu kahteen ajatukseen: C. etäisyydet lasketaan rekursiivisesti summaamalla edelliseen etäisyyteen polun jatkeen etäisyys 8 8 esim. 8 8 A B D 8 4 F A B C E etäisyys A B 8 A C 8 + 8 = 44 A D 44 + = 94 D etäisyys A B C D on 94 etäisyys A B E D on 88 (hylätään). jokaisessa vaiheessa hylätään samaan tilaan tulevista sekvensseistä kauempana olevat seuraavassa vaiheessa tutkittavaksi jäävät sekvenssit ovat edellisessä vaiheessa jäljelle jääneiden sekvenssien jatkeita () ()

Koodien käytännön sovelluksia Koodien käytännön sovelluksia A brief Overview of the GSM Radio Interface Thierry Turletti The Eurepean Digital Audio Broadcasting (DAB) punkturoitu konvoluutiokoodi (äitikoodi: r c = /4, N = ) koodisuhde vaihtelee 8/9 /4 lomittelua sekä aika että taajuustasossa The Eurepean Digital Video Broadcasting (DVB) ulkokoodina (4,88) RS-koodi, lyhennetty koodista (,9) konvoluutiolomittelu sisäkoodina (,,)-konvoluutiokoodi, jota voidaan punkturoida koodisuhteille /8 / IEEE 8. (LAN standardi) punkturoitu konvoluutiokoodi äitikoodi (,,) koodisuuhteet /4 ja / () 4 () Koodien käytännön sovelluksia Compact disc (CD) digital audio system CIRC (cross-interleave Reed-Solomon code) lomittelutasoa, RS-koodia sisäkoodina (,8) ja ulkokoodina (8,4) CD-levyyn voi porata 8 mm reikiä ilman haittaa Virheenkorjaus selviää n. 4 bitistä =, mm levyllä Lähes kaikki uudet sotilastiedonsiirtojärjestelmät, kuten JTIDS (Joint Tactical Information Distribution System) JRSC (Jam Resistant Secure Communications) DSCS (Defense Satellite Communications System) Costello: Applications of Error-Control Coding Jacobsmeyer: Introduction to Error-Control Coding ()