VIRHEENKORJAUS JA -ILMAISU

Koko: px
Aloita esitys sivulta:

Download "VIRHEENKORJAUS JA -ILMAISU"

Transkriptio

1 VIRHEENKORJAUS JA -ILMAISU Kanavakoodaus B. Sklar, Digital Communications Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35)

2 Shannon Hartleyn-laki Otsikon lain mukaan ideaalisen (analogisen) kanavan kapasiteetti (kohina valkoista Gaussin kohinaa) on S S = E C = B log2+ 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Tiedonsiirron perusresurssit LÄHETYSTEHO KAISTANLEVEYS MONIMUTKAISUUS VIRHETODENNÄKÖISYYS Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 4 (35) 2

3 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ä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) Tiedonsiirron perusresurssit Lähetysteho Signaali-kohinasuhde Monimutkaisuus KOODAUS MODULOINTI KANAVA DEKOODAUS DEMODULOINTI Monimutkaisuus Kaistanleveys Virhetodennäköisyys Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 6 (35) 3

4 Tiedonsiirron perusresurssit 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ä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) Erilaisia koodausjärjestelmiä KANAVAKOODAUSMENETELMÄT FEC-MENETELMÄT ARQ-MENETELMÄT Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) 4

5 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ä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) Erilaisia koodausjärjestelmiä KOODERI KANAVA FEC Virheenkorjaus KOODERI KANAVA ARQ PALUU- KANAVA NAK = negative acknowledgement ACK = positive acknowledgement Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) 5

6 Kanavakoodien jako KANAVAKOODIT LOHKOKOODIT KONVOLUUTIOKOODIT Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) Kanavakoodaus 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-2-summa) LOHKOKOODI koodaus koodaus koodaus Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) 6

7 Merkinnät 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ä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Lohko- ja konvoluutiokoodien ero 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 n bitin koodilohko n bitin koodilohko k informaatiobittiä (n k) pariteettibittiä k informaatiobittiä (n k) pariteettibittiä k informaatiobittiä (n k) pariteettibittiä KONVOLUUTIOKOODI koodaus (mod-2-summa) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 4 (35) 7

8 Perusteita Erilaisia koodisanoja on siis 2 n kpl kooderi käyttää niistä vain 2 k kpl n > k Kanavassa koodisanaan saattaa tulla virheitä vastaanotettu koodisana voi olla mikä tahansa 2 n :stä koodisanasta Dekoodaus tapahtuu kahdessa vaiheessa virheellinen lohko täytyy ensin ilmaista sen jälkeen virheen (virheiden) paikka täytyy määrittää virhe korjataan invertoimalla virheellinen bitti Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) Perusteita 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 MOD-2 (XOR) k n k virheen ilmaisu virheen korjaus + vertailu Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 6 (35) 8

9 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 n Rs Rs = k R c bit/s jossa R c = k/n on koodisuhde Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) Perusteita Koska n/k >, bittinopeus kasvaa kanavakooderissa johtuu redundanssin lisäämisestä Samalla yhden bitin energia pienenee ε c k = εb = εb n R pidetään koodisanan energiaa samana Kanavassa siis syntyy enemmän virheitä kuin koodaamattomassa järjestelmässä c Koodinkorjauskyvyn ansiosta kuitenkin dekooderin lähdössä tilanne on enemmän kuin kompensoitu Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) 9

10 Perusteita dekooderi P( e) 2 (joskus, -,2 voidaan hyväksyä) P( e) << 2 Dekooderin tulossa virhesuhteen (virheellisten bittien osuus kaikista biteistä) on yleensä oltava 2, muuten dekooderi ei toimi asianmukaisesti Monimutkaisia koodeja käytettäessä virhesuhde,,2 voidaan vielä hyväksyä Rajan yläpuolella dekooderi ei vastaanota riittävästi oikeita bittejä ja dekooderi itse asiassa alkaa lisätä virheitä (kynnysilmiö) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) Perusteita Kanavakoodauksessa siis signaalin kaistanleveys kasvaa (jos informaationopeus halutaan säilyttää), mutta virhesuhde paranee Samalla lähetysteholla päästään pienempään virhesuhteeseen kaistanleveyden kustannuksella Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35)

11 Shannonin raja Kirjassa Sklar, Digital Communications, Fundamentals and Applications, Second Edition (s. 528) on osoitettu, että jatkuvan kanavan kapasiteetti on positiivinen (C > ), kun signaali-kohinasuhde bittiä kohti on E N b > = ˆ,6 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 2 db suurempi 2 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) Shannonin raja P(e) raja P(e) = /2 - koodattu järjestelmä -2-4 koodaamaton antipodaalinen järjestelmä (esim. binäärinen PSK) E b P( e) = erfc 2 N Shannonin raja (,6 db) kovan päätöksenteon raja (+,4 db) koodausvahvistus Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35)

12 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,2 db (kun P(e) = -5 ) kvantisoimatonta pehmeää päätöksentekoa käytettäessä Kovaa päätöksentekoa käytettäessä menetetään koodausvahvistuksesta 2 db ja kolmen bitin kvantisoinnissa (Q = 8),25 db Huom. koodausvahvistus tulee kaistanleveyden kustannuksella Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodit n k n k mod-2 Koodien toiminta perustuu modulo-2-aritmetiikkaan + Lineaarisessa kooderissa käytetään vain mod-2-summaimia eli XOR-piirejä (exclusive or = ehdoton tai) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 2

13 Lohkokoodit Esim. (n,n )-koodi informaatiosana koodisana informaatiosana koodisana pariteettibitti (parillinen pariteetti) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodit Koodi on systemaattinen, jos informaatiobitit sisältyvät sellaisenaan koodisanaan Koodi on lineaarinen, jos pariteettibitit lasketaan informaatiobittien lineaarisena kombinaationa modulo-2-summana Lineaarisessa koodissa saa käyttää vain XORoperaatioita ei esim. AND-operaatioita Merk. u = [u, u 2,, u k ] informaatiosana x = [x, x 2,, x n ] koodisana Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 3

14 Lohkokoodit Esim. Toistokoodi (n = 3) (3,)-koodi u x 3 x 2 x Esim. (3,2)-koodi u 2 u u u 2 x x 2 x 3 x 3 x 2 x Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodit Esim. Hamming-koodi ((7,4)-koodi) u 4 u 3 u 2 u x 7 x 6 x 5 x 4 x 3 x 2 x Koska koodit ovat systemaattisia, tarvitsee laskea vain n k pariteettibittiä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 4

15 Lohkokoodin generoijamatriisi Generoijamatriisi (generoiva matriisi) määrittelee kooderin rakenteen Esim. (7,4)-Hamming-koodi u 4 u 3 u 2 u x x 2 x 3 x 4 x 5 x 6 x 7 u G = u 2 u 3 u 4 x 7 x 6 x 5 x 4 x 3 x 2 x Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin generoijamatriisi Koodisana x lasketaan informaatiosanasta u seuraavasti: x = ug Jos u = (), niin x = = = ( ) 4 ( ) + ( ) ( ) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) 5

16 (7,4)-Hamming-koodi Informaatiosanat Koodisanat Onko koodi systemaattinen? On se Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Lohkokoodin generoijamatriisi 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) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 6

17 Lineaarisen lohkokoodin ominaisuuksia. Jokainen koodisana on generoijamatriisin tiettyjen rivien summa 2. Lohkokoodin koodisanat saadaan selville laskemalla kaikki mahdolliset generoijamatriisin rivien summat 3. 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Käsitteitä 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 2 = () x + x 2 =() Hamming-etäisyys = 6 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 7

18 8 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Käsitteitä koodisanat poikkeavat toisistaan kuudessa bittipaikassa merk. d 2 = 6 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 35 (35) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Käsitteitä Esim. (7,4)-Hamming-koodi koodisana Hamming-paino 36 (35)

19 Käsitteitä painojakauma paino koodisanojen lkm taulukosta nähdään, että koodin minimietäisyys on d min = 3 Huom. Lineaarisen lohkokoodin painojakauma on samalla etäisyysjakauma mistä tahansa koodisanasta Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin virheen ilmaisu- ja korjauskyky Kova päätöksenteko, kanavamalli x + e y x = lähetetty koodisana y = vastaanotettu sana e = virhesana y = x + e Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 9

20 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 n y = k mod-2 s = + = mod-2-summa oiresana (syndrome) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin virheen ilmaisu- ja korjauskyky 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 4 (35) 2

21 2 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Lohkokoodin virheen ilmaisu- ja korjauskyky Esim. (7,4)-Hamming-koodi. Oiresanan s = (s, s 2, s 3 ) bitit saadaan seuraavasti: y = (y, y 2,, y 7 ) kooderi x 5 = u + u 2 + u 3 x 6 = u 2 + u 3 + u 4 x 7 = u + u 2 + u 4 dekooderi s = (y + y 2 + y 3 ) + y 5 s 2 = (y 2 + y 3 + y 4 ) + y 6 s 3 = (y + y 2 + y 4 ) + y 7 = G x x 2 x 3 x 4 x 5 x 6 x 7 u u 2 u 3 u 4 (n-k)xn ( ) k n T = = I P H y y 2 y 3 y 4 y 5 y 6 y 7 s s 2 s 3 kxn lasketaan pariteettibitit uudestaan verrataan vastaanotettuihin vastaaviin bitteihin 4 (35) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Lohkokoodin virheen ilmaisu- ja korjauskyky ( ) ( ) ) ( y y y y y y y y y y y y y y y y y y y k n n n = = s s = y H T x(n k) xn nx(n k),, ),, ( 3 2 s s s = 42 (35)

22 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 7 Tulos on voimassa yleisesti: GH T = 7 3 4x3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 22

23 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin virheen ilmaisu- ja korjauskyky s = yh T = (x + e)h T = xh T + eh T = eh T Erilaisia oiresanoja on 2 n k kpl Erilaisia vastaanotettuja sanoja on 2 n kpl Jokaista oiresanaa kohti on siis 2 k kpl vastaanotettua sanaa Selitys: virhesanaan e voi lisätä minkä tahansa koodisanan x (2 k kpl) eikä oiresana silti muutu Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 23

24 Lohkokoodin virheen ilmaisu- ja korjauskyky Teoreema.2 jos lineaarisen lohkokoodin minimietäisyys on d min, niin koodi voi korjata kaikki virhesanat, joiden paino on enintään t = [(d min )/2], [ ] tarkoittaa tässä kokonaislukuosaa koodia sanotaan tällöin t virhettä korjaavaksi koodiksi d min d min d = min d t = 2 min 2 t = d = d min 2 min 2 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin virheen ilmaisu- ja korjauskyky d min d min (ilmaisu) [(d min )/2] (korjaus) Koodinsuunnittelun tavoite on käyttää redundanssia mahdollisimman suuren minimietäisyyden saavuttamiseksi Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 24

25 Lohkokoodin taulukkohakudekoodaus Esim. (7,4)-Hamming-koodi oiresana virhesana H T = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodin taulukkohakudekoodaus jos y = (), niin s = yh T = ( ) = ( ) dekoodaustaulukosta ê = () korjattu sana on xˆ = y + ê = () korjaus Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) 25

26 Lohkokoodin taulukkohakudekoodaus 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ä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) Koodiperheiden kehitys Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 26

27 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Hamming-koodit 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 = 2 n k Merkitään m = n k Hamming-koodit ovat siis (2 m,2 m m)-koodeja m = 2,3, Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 27

28 Hamming-koodit m (n,k) r c = k/n (,) 2 (3,),333 ei koodi 3 (7,4),57 4 (5,),733 5 (3,26),839 6 (63,57),95 koodisuhde kasvaa Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Hamming-koodit Esim. (5,)-koodin pariteetintarkistusmatriisi H = jos virhesana on e = (), oiresanaksi tulee s = eh T = () oiresana ilmoittaa tässä tapauksessa suoraan binäärisessä muodossa virheellisen bitin paikan dekoodaus on suoraviivaista Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 28

29 Hamming-koodit koodi ei ole kuitenkaan systemaattinen systemaattinen muoto saadaan yksinkertaisesti järjestelemällä sarakkeet uudelleen = H koska Hamming-koodi korjaa yhden virheen, sen minimietäisyyden täytyy olla d min = 3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lohkokoodeja Hamming-koodi duaalikoodi Maksimipituuskoodi simplex-koodi lisää pariteettibitti Laajennettu maksimipituuskoodi ortogonaalinen koodi lisää vastakkaiset koodisanat Reed Müller-koodi (r = ) biortogonaalinen koodi Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 29

30 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Sykliset koodit Esim. (7,4)-Hamming-koodi on syklinen Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 6 (35) 3

31 3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Sykliset koodit Koodisana x = (x n, x n 2,, x ) esitetään koodipolynomin x(d) = x n D n + x n 2 D n x D + x avulla Kertoimet x n, x n 2,, x ovat binäärisiä nollia ja ykkösiä 6 (35) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 Sykliset koodit Esim. Hamming-koodi on syklinen (7,4)-koodilla on merk = = D D ) D D(D ) D )(D (D ) D )(D D (D D D D D D D D D D D (D) G = G 62 (35)

32 Sykliset koodit Kaikki koodipolynomit ovat siis jaollisia polynomilla g(d) = D 3 + 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Sykliset koodit Taulukossa.5 on esitetty polynomin D n + tekijöitä oktaalimuodossa esim. toisella rivillä (n = 9) on 6 = = + D 7 = = + D + D = = + D 3 + D 6 huom. järjestys Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 32

33 Sykliset koodit siten D 9 + = (D + )(D 2 + D + )(D 6 + D 3 + ) (9,8)-koodi (9,7)-koodi (9,3)-koodi mitä muita koodeja on vielä mahdollista muodostaa? Taulukossa.5 on vain parittomia n:n arvoja Jos n = 2m on parillinen, D n + jaetaan ensin tekijöihin D n + = D 2m + =(D m + )(D m + ) ja katsotaan taulukosta polynomin D m + tekijät jos m on parillinen, menetelmää jatketaan, kunnes tullaan parittomaan astelukuun Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Sykliset koodit Taulukosta.5 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 = 3, 5,, 3, 9, 29, 37, 53, 59, 6, ) jako tekijöihin on helppo: D n + =(D + )(D n + D n D + ) Nämä n:n arvot on jätetty pois taulukosta.5 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 33

34 Sykliset koodit Esim. n = 3 D 2 + D + D + D 3 + D 3 + D 2 D 2 + D 2 + D D + D + D 3 + = (D + )(D 2 + D + ) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Syklisten koodien koodausalgoritmit 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ä systemaattinen koodi Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 34

35 Syklisten koodien koodausalgoritmit x(d) = D n k u(d) + r(d) D 3 u(d) = D 3 (D 3 + D 2 + ) = D 6 + D 5 + D 3 D 3 + D 2 + D + D 3 + D + D 6 + D 5 + D 3 D 6 + D 4 + D 3 D 5 + D 4 D 5 + D 3 + D 2 D 4 + D 3 + D 2 D 4 + D 2 + D x(d) = D 6 + D 5 + D 3 + D 3 + D D 3 + D + D 6 D 5 D 4 D 3 D 2 D D = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Syklisten koodien koodausalgoritmit x = (), koodi on systemaattinen Syklisen koodin generointi perustuu kertoja- ja jakajapiirien käyttöön Piirit koostuvat yhteenlaskupiireistä, muistielementeistä (kiikkupiireistä) ja vakiolla kertojista Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) 35

36 Syklisten koodien koodausalgoritmit a a modulo-2-summain (XOR-piiri) muistielementti (kiikkupiiri), jonka muistissa binääriluku a (piirin lähtö on siis luku a) vakiolla kertoja (kertoo binääriluvulla a) D Q a a = Q a a = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) Syklisten koodien koodausalgoritmit Esim. Piirrä piiri, joka kertoo polynomilla D n k = D 3 ja jakaa polynomilla g(d) = D 3 + D + lähtö r r r 2 tulo u i 2 3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 36

37 Syklisten koodien koodausalgoritmit u i r r r jakojäännös () Tämä piiri muodostaa perustan systemaattisen syklisen (7,4)-koodin generoinnille Piirin etuna on se, että jakojäännös (pariteettibitti) voidaan lukea rekisteristä ulos heti, kun informaatiobitit on luettu sisään Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Syklisten koodien koodausalgoritmit Toiminta kooderina: B A B kanava lähde A A B Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 37

38 Syklisten koodien koodausalgoritmit 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Virheen ilmaisu ja korjaus 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) y(d) s(d) = m(d) + g(d) g(d) osamäärä jakojäännös y(d) on koodipolynomi, jos ja vain jos polynomi s(d) = Tämä polynomi (asteluku enintään n k ) on y(d):n oirepolynomi Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 38

39 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) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Virheen ilmaisu ja korjaus 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 39

40 Virheen ilmaisu ja korjaus Esim. generoijapolynomi on g(d) = D 3 + D + vastaanotettu sekvenssi y(d) = D 6 + D 5 + y = () oirepolynomi s(d) =? Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Virheen ilmaisu ja korjaus D 3 + D 2 + D D 3 + D + D 6 + D 5 + D 6 + D 4 + D 3 D 5 + D 4 + D 3 + D 5 + D 3 + D 2 D 4 + D 2 + D 4 + D 2 + D D + = s(d) s 2 s s s = () Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) 4

41 Virheen ilmaisu ja korjaus oiresanan laskeminen (jakajapiiri): 2 3 y s s s 2 s(d) = D + s s s 2 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) Virheen ilmaisu ja korjaus y s s s 2 b c lähtö xˆ oiresanan laskeminen oiresanan siirtäminen Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 4

42 Virheen ilmaisu ja korjaus B A s s s 2 & A B c kanava b xˆ Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Virheen ilmaisu ja korjaus toiminta:. luetaan vastaanotettu sana y oiresanageneraattoriin ja puskuriin (kytkimet asennossa A) 2. 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 Menetelmää sanotaan myös virheen "vangitsemiseksi" error trapping Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 42

43 Erityisiä syklisiä koodeja BCH-koodit (Bose-Chaudhuri-Hocquenghem) korjaavat t virhettä generoijapolynomit taulukossa.7 (eniten merkitsevä bitti vasemmalla, päinvastoin kuin aikaisemmassa taulukossa) esim. rivillä 3 m = 4, n = 5, n k = 5 7 = 8, t = 2 72 g(d) = D 8 + D 7 + D 6 + D 4 + Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Erityisiä syklisiä koodeja Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 43

44 Erityisiä syklisiä koodeja vrt. taulukon.5 mukaan syklisen koodin generoijapolynomit ovat (n = 5) 6 g (D) = + D 7 g 2 (D) = + D + D 2 46 g 3 (D) = + D 3 + D 4 62 g 4 (D) = + D + D 4 76 g 5 (D) = + D + D 2 + D 3 + D 4 BCH-koodin generoijapolynomi on g(d) = g 4 (D)g 5 (D) = (D 4 + D + )(D 4 + D 3 +D 2 + D +) = D 8 + D 7 + D 6 + D 5 + D 4 + D 5 + D 4 + D 3 + D 2 + D + D 4 + D 3 + D 2 + D + = D 8 + D 7 + D 6 + D 4 + Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Erityisiä syklisiä koodeja 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 Reed Salomon-koodit ei-binäärisiä BCH-koodeja m bittiä muodostavat symbolin erilaisia symboleita 2 m = q kpl Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 44

45 Erityisiä syklisiä koodeja n kpl m m m m m m m k kpl n = 2 m symbolia = m (2 m ) bittiä n k = 2t symbolia = 2mt bittiä koodi korjaa t symbolivirhettä (mt bittivirhettä) sopivat hyvin ryöppyvirheiden korjaamiseen käytetään myös ketjukoodien ulkokoodina Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Ryöppyvirheiden ilmaisu ja korjaus 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 satunnaisvirheet ryöppyvirheet Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) 45

46 Ryöppyvirheiden ilmaisu ja korjaus Eri mahdollisuuksia. ryöppyvirheitä korjaavat koodit sykliset koodit (esim. fire-koodi) ketjukoodit 2. lomittimien käyttö Taulukossa.9 on lueteltu tehokkaita syklisiä ja lyhennettyjä syklisiä koodeja ryöppyvirheiden korjaamiseen Generoijapolynomit ovat oktaalimuodossa, suurinta astelukua vastaava termi vasemmalla Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) Ryöppyvirheiden ilmaisu ja korjaus Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 46

47 Ryöppyvirheiden ilmaisu ja korjaus Esim. taul..9 (3,25)-koodi 6 g(d) = D 6 + D 5 + D 4 + Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Lomittimet 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 47

48 Lomittimet Esim. (5,5)-BCH-koodi, t = 3, i = 5 jos lomitteluaste i = 5, saadaan (75,25)-koodi, joka korjaa edelleen 3 satunnaisvirhettä tai virheryöpyn, jonka pituus on enintään it = 5 3 = 5 virhettä On olemassa useita erilaisia tapoja toteuttaa lomittelu lohkolomittelu konvoluutiolomittelu Lomittelua voi esiintyä myös useassa eri tasossa (vrt. esim. CD-levy) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodit 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 2 2 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 48

49 Konvoluutiokoodit 2 N u 2 k 2 k 2 k x nämä kytkennät määrittelevät konvoluutiokoodin generaattorivektorit 2 n Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodit Kooderi ottaa aina sisään k bittiä ja laskee N:n lohkon avulla n bittiä Lohkokoodilla vaikutuspituus N = konvoluutiokoodit lohkokoodit N > N = Lohkokoodi on siis konvoluutiokoodin rajatapaus Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 49

50 Konvoluutiokoodit Esim. (3,)-koodi, vaikutuspituus N = 3 u x kommutaattori (korvaa toisen siirtorekisterin) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodit Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) 5

51 Konvoluutiokoodit Esim. (3,)-koodi, N = 3 u generaattorivektorit: g = () g 2 = () g 3 = () k N kpl n kpl x Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) Konvoluutiokooderin toiminnan esittäminen 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 Kaikki nämä esitystavat sisältävät saman tiedon kooderin toiminnasta Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) 5

52 Konvoluutiokooderin toiminnan esittäminen Usein käyttökelpoisin esitystapa on trellisdiagrammi, jossa puudiagrammin jaksollisuus on otettu huomioon jaksollisuus johtuu äärellisestä muistista Esim. (3,)-koodi, N = 3 u u l u l u l 2 muistin pituus v = N = 2 x Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Konvoluutiokooderin toiminnan esittäminen merk. kooderin tila hetkellä l on muistin sisältö tuolla hetkellä σ l (u l, u l 2 ) erilaisia tiloja on 2 v = 4 kpl:,,, jos esim. kooderi on tilassa ja tulobitti on, lähtöbiteiksi tulevat ja seuraava tila on Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 4 (35) 52

53 Konvoluutiokooderin toiminnan esittäminen Täydellinen tiladiagrammi on seuraava: S S = () S 2 = () S 3 = () S 4 = () S 3 S 2 esimerkkisiirtymä S 4 katkoviiva vastaa tulobittiä jatkuva viiva vastaa tulobittiä Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) Konvoluutiokooderin toiminnan esittäminen alussa ollaan tilassa S = () jos esim. u = ( ), niin tilakaavion mukaan x = ( ) ja kooderi käy tiloissa S S 3 S 4 S 2 S 3 S 4 tätä kooderin tilasekvenssiä sanotaan poluksi Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 6 (35) 53

54 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 3 S 2 S 4 l = l = l = 2 l = 3 l = 4 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) Konvoluutiokooderin toiminnan esittäminen 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 3 S 4 S 2 S 3 S 4 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) 54

55 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) Konvoluutiokooderin toiminnan esittäminen Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) 55

56 Konvoluutiokooderin toiminnan esittäminen Trellisdiagrammi on puudiagrammi, jossa samaa tilaa vastaavat solmut on yhdistetty puudiagrammi trellisdiagrammi tiladiagrammi yhdistä samaa tilaa vastaavat solmut esitä aika vain implisiittisesti Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 (35) Konvoluutiokoodien etäisyysominaisuudet 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) 56

57 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.2.7) Esim. taul..2, N = 4, koodisuhde /2 5 g = () 7 g 2 = () u x Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Parhaat konvoluutiokoodit Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 4 (35) 57

58 Parhaat konvoluutiokoodit Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 5 (35) Parhaat konvoluutiokoodit Taul..6, N = v = 3, koodisuhde 2/3 Siirtofunktiomatriisi, jossa g i,j on generaattorivektori g G = gk,, g g, n k, n g = g, 2, g g,2 2,2 g g,3 2,3 3 = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 6 (35) 58

59 Parhaat konvoluutiokoodit 3 G = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 7 (35) Punkturointi 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 8 (35) 59

60 Punkturointi Esim. Kuvassa.4 on 4-tilainen konvoluutiokooderi, jonka tuottaman koodin koodisuhde on /2 Jos u = ( ) x = ( ) Punkturoidaan joka neljäs pariteettibitti Saadaan koodisuhteeksi 2/3 Jos u = ( ) x = ( ) Suurempia koodisuhteita saadaan aikaan kasvattamalla punkturoitavien pariteettibittien lukumäärää Edellä saatu punkturoitu koodi on sama kuin kuvassa.5 olevalla rakenteella ilman punkturointia saatava koodi, jossa yksi trellisdiagrammin väli vastaa kahta väliä punkturoidun koodin trellisdiagrammissa Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 9 (35) Punkturointi Jos u = ( ) x = ( ) Jos u = ( ) x = ( ) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) 6

61 Viterbi-algoritmi Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi Viterbi-algoritmin idea käy ilmi parhaiten esimerkin avulla (kooderi kalvolla 3, tiladiagrammi kalvolla 5 ja trellisdiagrammi kalvolla 7) 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) Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi u u l u l u l 2 S S S 3 x S 3 S 2 S 2 S 4 l = l = l = 2 l = 3 l = 4 S 4 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 6

62 Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi l = Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi 5 2 Jokaiseen tilaan tulee vain yksi sekvenssi (etäisyydet merkitty) 2 3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 62

63 Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi X X X 4 X 5 5 Jokaiseen tilaan tulee kaksi sekvenssiä hylätään kauempana oleva (jos kumpikin samalla etäisyydellä: arvotaan tai valitaan aina esim. alempi sekvenssi). Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi X X 5 X 7 X 6 6 Tutkitaan vain edellisessä vaiheessa jäljelle jääneiden sekvenssien jatkeita. Jokaiseen tilaan tulee taas kaksi sekvenssiä, joista hylätään kauempana oleva (tarvittaessa arvonta). Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 63

64 Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi X 5 7 X Sama jatkuu 5 6 X X Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi X 5 9 X 7 6 X X Tässä vaiheessa jäljellejääneiden polkujen alkupäät ovat identtisiä ja voidaan tehdä bittipäätöksiä: Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 64

65 Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi X 5 9 X 7 6 X X Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi näin jatketaan 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) 65

66 Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi Viterbi-algoritmi perustuu kahteen ajatukseen:. etäisyydet lasketaan rekursiivisesti summaamalla edelliseen etäisyyteen polun jatkeen etäisyys esim A B C 3 etäisyys A B 282 A C = 464 A D = 594 D 2. jokaisessa vaiheessa hylätään samaan tilaan tulevista sekvensseistä kauempana olevat Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 3 (35) Konvoluutiokoodin ML-dekooderi: Viterbi-algoritmi C A 282 B 82 3 X D F E etäisyys A B C D on 594 etäisyys A B E D on 88 (hylätään) seuraavassa vaiheessa tutkittavaksi jäävät sekvenssit ovat edellisessä vaiheessa jäljelle jääneiden sekvenssien jatkeita Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 66

67 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 = 7) koodisuhde vaihtelee 8/9 /4 lomittelua sekä aika että taajuustasossa Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) Koodien käytännön sovelluksia The Eurepean Digital Video Broadcasting (DVB) ulkokoodina (24,88) RS-koodi, lyhennetty koodista (255,239) konvoluutiolomittelu sisäkoodina (2,,7)-konvoluutiokoodi, jota voidaan punkturoida koodisuhteille 7/8 /2 IEEE 82. (LAN standardi) punkturoitu konvoluutiokoodi äitikoodi (2,,7) koodisuuhteet 3/4 ja 2/3 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 67

68 Koodien käytännön sovelluksia Compact disc (CD) digital audio system CIRC (cross-interleave Reed-Solomon code) 3 lomittelutasoa, 2 RS-koodia sisäkoodina (32,28) ja ulkokoodina (28,24) CD-levyyn voi porata 8 mm reikiä ilman haittaa Virheenkorjaus selviää n. 4 bitistä = 2,5 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 Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät (35) 68

VIRHEENKORJAUS JA -ILMAISU

VIRHEENKORJAUS JA -ILMAISU VIRHEENKORJAUS JA -ILMAISU Kanavakoodaus B. Sklar, Digital Communications () Shannon Hartleyn-laki Tiedonsiirron perusresurssit Otsikon lain mukaan ideaalisen (analogisen) kanavan kapasiteetti (kohina

Lisätiedot

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

INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 28 Kari Kärkkäinen Syksy 2015 1 INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS TEENVETO 2 Informaatioteoria tarkastelee tiedonsiirtoa yleisemmällä, hieman abstraktilla tasolla ei enää tarkastella signaaleja aika- tai taajuusalueissa.

Lisätiedot

esimerkkejä erilaisista lohkokoodeista

esimerkkejä erilaisista lohkokoodeista 6.2.1 Lohkokoodit tehdään bittiryhmälle bittiryhmään lisätään sovitun algoritmin mukaan ylimääräisiä bittejä [k informaatiobittiä => n koodibittiä, joista n-k lisäbittiä], käytetään yleensä merkintää (n,k)-koodi

Lisätiedot

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

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN KANAVAKOODAUSMENETELMÄT A Tietoliikennetekniikka II Osa 22 Kari Kärkkäinen Syksy 2015 1 JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN KANAVAKOODAUSMENETELMÄT RESURSSIEN VÄLINEN KAUPANKÄYNTI 2 LÄHETYSTEHO KAISTANLEVEYS MONIMUTKAISUUS VIRHETODEN- NÄKÖISYYS RESURSSIEN VÄLINEN KAUPANKÄYNTI 3 Resurssien

Lisätiedot

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

KONVOLUUTIOKOODIT A Tietoliikennetekniikka II Osa 25 Kari Kärkkäinen Syksy 2015 1 KONVOLUUTIOKOODIT KONVOLUUTIOKOODERIN PERUSIDEA 2 Konvoluutiokoodi on lohkoton koodi. Pariteettibitit lasketaan liukuen informaatiobittijonon yli. Muistin pituudesta K käytetään nimitystä vaikutuspituus

Lisätiedot

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

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 6. Ryöppyvirheitä korjaavat koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 34 6.1 Peruskäsitteitä Aiemmin on implisiittisesti

Lisätiedot

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

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) 1 KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) CPM & TCM-PERIAATTEET 2 Tehon ja kaistanleveyden säästöihin pyritään, mutta yleensä ne ovat ristiriitaisia

Lisätiedot

JATKUVAN AWGN-KANAVAN KAPASITEETTI SHANNON-HARTLEY -LAKI

JATKUVAN AWGN-KANAVAN KAPASITEETTI SHANNON-HARTLEY -LAKI 1 JATKUVAN AWGN-KANAVAN KAPASITEETTI SHANNON-HARTLEY -LAKI Miten tiedonsiirrossa tarvittavat perusresurssit (teho & kaista) riippuvat toisistaan? SHANNONIN 2. TEOREEMA = KANAVAKOODAUS 2 Shannonin 2. teoreema

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 3.3 Lineaarisen koodin dekoodaus Oletetaan, että lähetettäessä kanavaan sana c saadaan sana r = c + e, missä e on häiriön aiheuttama

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 3. Lineaariset koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 22 3.1 Lineaarisen koodin määrittely Olkoon F äärellinen kunta.

Lisätiedot

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

MAANPUOLUSTUSKORKEAKOULU VIRHEENKORJAUSALGORITMIT. Kandidaatintutkielma. Kadetti Ville Parkkinen. 99. kadettikurssi Maasotalinja MAANPUOLUSTUSKORKEAKOULU VIRHEENKORJAUSALGORITMIT Kandidaatintutkielma Kadetti Ville Parkkinen 99. kadettikurssi Maasotalinja Maaliskuu 2015 MAANPUOLUSTUSKORKEAKOULU Kurssi Linja 99. kadettikurssi Maasotalinja

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 5 BCH-, RS- ja Goppa-koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 15 5.1 BCH-koodien määrittely Olkoon jälleen F = F q, syt(n,

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

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

TURBOKOODAUS. Miten turbokoodaus eroaa konvoluutiokoodauksesta? 521361A Tietoliikennetekniikka II Osa 26 Kari Kärkkäinen Syksy 2015 1 TURBOKOODAUS Miten turbokoodaus eroaa konvoluutiokoodauksesta? TURBOKOODAUKSEN IDEA 2 V. 1993 keksityt koodit eivät löytyneet systemaattisen koodausteorian soveltamisen seurauksena pyrkimyksenä päästä

Lisätiedot

Laajennetut Preparata-koodit

Laajennetut Preparata-koodit Laajennetut Preparata-koodit Pro gradu -tutkielma Petri Eklund 1512717 Matemaattisten tieteiden laitos Oulun yliopisto Kevät 2016 Sisältö 1 Esitietoja 1.1 Yleistä.................................. 1.2

Lisätiedot

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Jyrki Lahtonen, Anni Hakanen, Taneli Lehtilä, Toni Hotanen, Teemu Pirttimäki, Antti Peltola Turun yliopisto MATINE-tutkimusseminaari, 16.11.2017

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 3.5 Reedin-Mullerin koodit Olkoon tässä kappaleessa F = F2 = Z2 ja n = 2 m. Määritellään avaruuteen F n kertolasku koordinaateittain:

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 5.2 BCH-koodin dekoodaus Tarkastellaan t virhettä korjaavaa n-pituista BCH-koodia. Olkoon α primitiivinen n:s ykkösen juuri, c = c(x)

Lisätiedot

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

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15) Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15) A = a = i i w i Digitaalitekniikan matematiikka Luku 12 Sivu 2 (15) Johdanto Tässä luvussa esitetään kymmenjärjestelmän lukujen eli BCD-lukujen esitystapoja

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

ELEC-C7230 Tietoliikenteen siirtomenetelmät

ELEC-C7230 Tietoliikenteen siirtomenetelmät ELEC-C7230 Tietoliikenteen siirtomenetelmät Laskuharjoitus 8 - ratkaisut 1. Tehtävässä on taustalla ajatus kantoaaltomodulaatiosta, jossa on I- ja Q-haarat, ja joka voidaan kuvata kompleksiarvoisena kantataajuussignaalina.

Lisätiedot

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

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

Lisätiedot

KOODAUS- JA INFORMAATIOTEORIA. Keijo Ruohonen

KOODAUS- JA INFORMAATIOTEORIA. Keijo Ruohonen KOODAUS- JA INFORMAATIOTEORIA Keijo Ruohonen 1999 Sisältöluettelo i 1 I LINEAARISET KOODIT 1 1. Lohkokoodit 3 2. Ekskursio: Alkukunnat 5 3. Lineaariset koodit 8 4. Systemaattinen koodaus 9 5. Standardidekoodauskaavio

Lisätiedot

SIGNAALITEORIAN JATKOKURSSI 2003

SIGNAALITEORIAN JATKOKURSSI 2003 SIGNAALITEORIAN JATKOKURSSI 2003 Harri Saarnisaari University of Oulu Telecommunication laboratory & Centre for Wireless Communications (CWC) Yhteystiedot Luennot Harri Saarnisaari puh. 553 2842 vastaanotto

Lisätiedot

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

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse

Lisätiedot

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

MONITILAISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 18 Kari Kärkkäinen Syksy 2015 1 MONITILAISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS 2 M-tilaisilla yhdellä symbolilla siirtyy k = log 2 M bittiä. Symbolivirhetn. sasketaan ensin ja sitten kuvaussäännöstä riippuvalla muunnoskaavalla

Lisätiedot

TLT-5400 DIGITAALINEN SIIRTOTEKNIIKKA

TLT-5400 DIGITAALINEN SIIRTOTEKNIIKKA TLT-5400 DIGITAALINEN SIIRTOTEKNIIKKA Tehtäväkokoelma: Päivitetty 16.3.2006 / MV 1. Piirrä digitaalisen siirtojärjestelmän yleinen lohkokaavio josta nähdään lähettimen ja vastaanottimen keskeiset toiminnot

Lisätiedot

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset. Digitaalitekniikan edut Signaalien datamuunnokset Datamuunnosten teoriaa Muunnosten taustaa Muunnosten teoriaa Muunnosten rajoituksia ja ongelmia Petri Kärhä 09/02/2009 Signaalien datamuunnokset 1 Digitaalitekniikan edut Tarkoituksena

Lisätiedot

Signaalien datamuunnokset

Signaalien datamuunnokset Signaalien datamuunnokset Datamuunnosten teoriaa Muunnosten taustaa Muunnosten teoriaa Muunnosten rajoituksia ja ongelmia Petri Kärhä 06/02/2004 Luento 4a: Signaalien datamuunnokset 1 Digitaalitekniikan

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 5.6 Alternanttikoodin dekoodaus, kun esiintyy pyyhkiytymiä ja virheitä Joissakin tilanteissa vastaanotetun sanan kirjainta ei saa tulkittua

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

521361A TIETOLIIKENNETEKNIIKKA II

521361A TIETOLIIKENNETEKNIIKKA II 1 521361A TIETOLIIKENNETEKNIIKKA II KURSSI DIGITAALISEN TIEDONSIIRRON PERUSTEISTA KARI KÄRKKÄINEN Tietoliikennetekniikan osasto, huone TS439 kk@ee.oulu.fi, puh: 029 448 2848, http://www.ee.oulu.fi/~kk/

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Suodatus ja näytteistys, kertaus

Suodatus ja näytteistys, kertaus ELEC-C7230 Tietoliikenteen siirtomenetelmät Luento 6: Kantataajuusvastaanotin AWGN-kanavassa II: Signaaliavaruuden vastaanotin a Olav Tirkkonen Aalto, Tietoliikenne- ja tietoverkkotekniikan laitos a [10.6.3-10.6.6;

Lisätiedot

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

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.

Lisätiedot

Signaalien generointi

Signaalien generointi Signaalinkäsittelyssä joudutaan usein generoimaan erilaisia signaaleja keinotekoisesti. Tyypillisimpiä generoitavia aaltomuotoja ovat eritaajuiset sinimuotoiset signaalit (modulointi) sekä normaalijakautunut

Lisätiedot

Reedin ja Solomonin koodit Katariina Huttunen

Reedin ja Solomonin koodit Katariina Huttunen Pro Gradu Reedin ja Solomonin koodit Katariina Huttunen Jyväskylän yliopisto Matematiikan laitos Lokakuu 2016 Tiivistelmä Huttunen Katariina, Reedin ja Solomonin koodit, matematiikan pro gradututkielma,

Lisätiedot

Helsinki University of Technology

Helsinki University of Technology Helsinki University of Technology Laboratory of Telecommunications Technology S-38.211 Signaalinkäsittely tietoliikenteessä I Signal Processing in Communications (2 ov) Syksy 1997 1. Luento: Johdanto prof.

Lisätiedot

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

1 Määrittele seuraavat langattoman tiedonsiirron käsitteet. 1 1 Määrittele seuraavat langattoman tiedonsiirron käsitteet. Radiosignaalin häipyminen. Adaptiivinen antenni. Piilossa oleva pääte. Radiosignaali voi edetä lähettäjältä vastanottajalle (jotka molemmat

Lisätiedot

Helsinki University of Technology

Helsinki University of Technology Helsinki University of Technology Laboratory of Telecommunications Technology S-38.211 Signaalinkäsittely tietoliikenteessä I Signal Processing in Communications (2 ov) Syksy 1997 3. Luento: Optimaalinen

Lisätiedot

ELEC-C5070 Elektroniikkapaja (5 op)

ELEC-C5070 Elektroniikkapaja (5 op) (5 op) Luento 5 A/D- ja D/A-muunnokset ja niiden vaikutus signaaleihin Signaalin A/D-muunnos Analogia-digitaalimuunnin (A/D-muunnin) muuttaa analogisen signaalin digitaaliseen muotoon, joka voidaan lukea

Lisätiedot

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

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen Flash AD-muunnin Koostuu vastusverkosta ja komparaattoreista. Komparaattorit vertailevat vastuksien jännitteitä referenssiin. Tilanteesta riippuen kompraattori antaa ykkösen tai nollan ja näistä kootaan

Lisätiedot

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu

Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu Digitaalinen signaalinkäsittely Desibeliasteikko, suotimen suunnittelu Teemu Saarelainen, teemu.saarelainen@kyamk.fi Lähteet: Ifeachor, Jervis, Digital Signal Processing: A Practical Approach H.Huttunen,

Lisätiedot

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:

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: 11 Determinantti Neliömatriisille voidaan laskea luku, joka kertoo muun muassa, onko matriisi kääntyvä vai ei Tätä lukua kutsutaan matriisin determinantiksi Determinantilla on muitakin sovelluksia, mutta

Lisätiedot

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

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

Lisätiedot

Digitaalinen tiedonsiirto ja siirtotiet. OSI-kerrokset

Digitaalinen tiedonsiirto ja siirtotiet. OSI-kerrokset A! Aalto University Comnet ELEC-C7230 Tietoliikenteen siirtomenetelmät, Luento 1 Digitaalinen tiedonsiirto ja siirtotiet Olav Tirkkonen [Luku 1: Introduction, kokonaisuudessaan] A! OSI-kerrokset Tiedonsiirtojärjestelmiä

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

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

LÄHTEENKOODAUS. Mikä on lähteenkoodauksen perusidea? A Tietoliikennetekniikka II Osa 20 Kari Kärkkäinen Syksy 2015 1 LÄHTEENKOODAUS Mikä on lähteenkoodauksen perusidea? LÄHTEENKOODAUKSEN IDEA 2 Lähteen symbolien keskimääräinen informaatio (keskimääräinen epävarmuus) määritellään entropian H(X) avulla, ja se on symbolien

Lisätiedot

Lineaarinen yhtälöryhmä

Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä 1 / 39 Lineaarinen yhtälö Määritelmä 1 Lineaarinen yhtälö on muotoa a 1 x 1 + a 2 x 2 + + a n x n = b, missä a i, b R, i = 1,..., n ovat tunnettuja ja x i R, i = 1,..., n ovat tuntemattomia.

Lisätiedot

SYMBOLIVIRHETODENNÄKÖISYYDESTÄ BITTIVIRHETODENNÄKÖISYYTEEN

SYMBOLIVIRHETODENNÄKÖISYYDESTÄ BITTIVIRHETODENNÄKÖISYYTEEN SYMBOLIVIRHETODENNÄKÖISYYDESTÄ BITTIVIRHETODENNÄKÖISYYTEEN Miten modulaation P S P B? 536A Tietoliienneteniia II Osa 4 Kari Käräinen Sysy 05 SEP VS. BEP D-SIGNAALIAVARUUDESSA Kullein modulaatiolle johdetaan

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

Lisätiedot

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

Puheenkoodaus. Olivatpa kerran iloiset serkukset. PCM, DPCM ja ADPCM Puheenkoodaus Olivatpa kerran iloiset serkukset PCM, DPCM ja ADPCM PCM eli pulssikoodimodulaatio Koodaa jokaisen signaalinäytteen binääriseksi (eli vain ykkösiä ja nollia sisältäväksi) luvuksi kvantisointitasolle,

Lisätiedot

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta

Lisätiedot

Ohjelmoijan binaarialgebra ja heksaluvut

Ohjelmoijan binaarialgebra ja heksaluvut Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta

Lisätiedot

a b 1 c b n c n

a b 1 c b n c n Algebra Syksy 2007 Harjoitukset 1. Olkoon a Z. Totea, että aina a 0, 1 a, a a ja a a. 2. Olkoot a, b, c, d Z. Todista implikaatiot: a) a b ja c d ac bd, b) a b ja b c a c. 3. Olkoon a b i kaikilla i =

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

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

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät Matematiikan peruskurssi K3/P3, syksy 25 Kenrick Bingham 825 Toisen välikokeen alueen ydinasioita Alla on lueteltu joitakin koealueen ydinkäsitteitä, joiden on hyvä olla ensiksi selvillä kokeeseen valmistauduttaessa

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Gaussin ja Jordanin eliminointimenetelmä

Gaussin ja Jordanin eliminointimenetelmä 1 / 25 : Se on menetelmä lineaarisen yhtälöryhmän ratkaisemiseksi. Sitä käytetään myöhemmin myös käänteismatriisin määräämisessä. Ideana on tiettyjä rivioperaatioita käyttäen muokata yhtälöryhmää niin,

Lisätiedot

T Privacy amplification

T Privacy amplification T-79.4001 Privacy amplification Ari Nevalainen ajnevala@cc.hut.fi T-79.4001Privacy amplification 1/25 ALKUTILANNE Alkutilanne. Kaksi erikoistapausta. Yleinen tapaus. Yhteenveto. T-79.4001Privacy amplification

Lisätiedot

KOODAUSTEORIA S

KOODAUSTEORIA S KOODAUSTEORIA 800667S syksy 2009 Marko Rinta-aho Sisältö 1 Perusteita 1 1.1 Johdanto.............................. 1 1.2 Kanavista............................. 2 1.3 Koodaus-dekoodausjärjestelmä..................

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet. 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos Koodausteoria 10 op Kontaktiopetusta 50 h, 26.5. - 26.6. ma 10-14, ti 10-13, to 10-13 Aloitusviikolla poikkeuksellisesti ke 10-13 torstain

Lisätiedot

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

Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset valintakriteerit resoluutio ja nopeus Yleisimmät A/D-muunnintyypit:

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

Lisätiedot

Vektoreiden virittämä aliavaruus

Vektoreiden virittämä aliavaruus Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden

Lisätiedot

Digitaalitekniikan matematiikka Harjoitustehtäviä

Digitaalitekniikan matematiikka Harjoitustehtäviä arjoitustehtäviä Sivu 6 6.3.2 e arjoitustehtäviä uku 3 ytkentäfunktiot ja perusporttipiirit 3. äytäväkytkin on järjestelmä jossa käytävän kummassakin päässä on kytkin ja käytävän keskellä lamppu. amppu

Lisätiedot

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

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe SGN-00 Signaalinkäsittelyn menetelmät Välikoe 9.3.009 Sivuilla - on. Älä vastaa siihen, jos et ollut ensimmäisessä välikokeessa. Tentin kysymykset ovat sivuilla 3-4. Vastaa vain jompaan kumpaan kokeeseen,

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Successive approximation AD-muunnin

Successive approximation AD-muunnin AD-muunnin Koostuu neljästä osasta: näytteenotto- ja pitopiiristä, (sample and hold S/H) komparaattorista, digitaali-analogiamuuntimesta (DAC) ja siirtorekisteristä. (successive approximation register

Lisätiedot

Ratkaisuehdotukset LH 7 / vko 47

Ratkaisuehdotukset LH 7 / vko 47 MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [

Lisätiedot

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

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

Kytkentäkentät, luento 2 - Kolmiportaiset kentät Kytkentäkentät, luento - Kolmiportaiset kentät Kolmiportaiset kytkentäkentät - esitystapoja ja esimerkkejä Kytkentäkenttien vertailuperusteet ƒ Estottomuus, looginen syvyys, ajokyky Closin -verkko Paull

Lisätiedot

Digitaalinen tiedonsiirto ja siirtotiet

Digitaalinen tiedonsiirto ja siirtotiet A! Aalto University Comnet ELEC-C7230 Tietoliikenteen siirtomenetelmät, Luento 1 Digitaalinen tiedonsiirto ja siirtotiet Olav Tirkkonen [Luku 1: Introduction, kokonaisuudessaan] A! OSI-kerrokset Tiedonsiirtojärjestelmiä

Lisätiedot

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. A Bittien nollaus Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. Saat käyttää seuraavia operaatioita: muuta jokin bitti vastakkaiseksi (0 1 tai 1 0) muuta kaikki

Lisätiedot

7.4 Sormenjälkitekniikka

7.4 Sormenjälkitekniikka 7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu 811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,

Lisätiedot

PANKKIVIIVAKOODI-OPAS. Versio 5.3

PANKKIVIIVAKOODI-OPAS. Versio 5.3 PANKKIVIIVAKOODI-OPAS Versio 5.3 8.11.2012 1 Pankkiviivakoodi-opas Sisällysluettelo 1 Yleistä... 2 2 Pankkiviivakoodi... 2 3 2 Tietojen esittäminen... 2 4 Vastuu oikeellisuudesta... 2 5 Edellytykset pankkiviivakoodin

Lisätiedot

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

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,... Ratkaisut 1 1. Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,.... Nolla, koska kerrotaan nollalla. 3. 16 15 50 = ( 8) 15 50 = (8 15) ( 50) = 1000 500 = 500 000. 4.

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

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

BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 11 Kari Kärkkäinen Syksy 2015 BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS 536A Tietoliienneteniia II Osa Kari Käräinen Sysy 5 Kantataajuusjärjestelmä lähettää ±A -tasoisia symboleita T:n välein. Optimaalinen vastaanotin

Lisätiedot

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}. 42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen

Lisätiedot

1 Rajoittamaton optimointi

1 Rajoittamaton optimointi Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

Lisätiedot

Ortogonaalinen ja ortonormaali kanta

Ortogonaalinen ja ortonormaali kanta Ortogonaalinen ja ortonormaali kanta Määritelmä Kantaa ( w 1,..., w k ) kutsutaan ortogonaaliseksi, jos sen vektorit ovat kohtisuorassa toisiaan vastaan eli w i w j = 0 kaikilla i, j {1, 2,..., k}, missä

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot

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

A! Modulaatioiden luokittelu. Luento 4: Digitaaliset modulaatiokonstellaatiot, symbolijonolähetteet. ELEC-C7230 Tietoliikenteen siirtomenetelmät ELEC-C7230 Tietoliikenteen siirtomenetelmät Luento 4: Digitaaliset modulaatiokonstellaatiot, symbolijonolähetteet Olav Tirkkonen, Jari Lietzen Aalto, Tietoliikenne- ja tietoverkkotekniikan laitos A! Modulaatioiden

Lisätiedot

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

Alla olevassa kuvassa on millisekunnin verran äänitaajuisen signaalin aaltomuotoa. Pystyakselilla on jännite voltteina. TT12S1E Tietoliikenteen perusteet Metropolia/A. Koivumäki 1 Kirjan lukuun 3 liittyvää lisäselitystä ja esimerkkejä Kirjan luvussa 3 (Signals Carried over the Network) luodaan katsaus siihen, minkälaisia

Lisätiedot