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



Samankaltaiset tiedostot
5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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

esimerkkejä erilaisista lohkokoodeista

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

Peruspiirejä yhdistelemällä saadaan seuraavat uudet porttipiirit: JA-EI-portti A B. TAI-EI-portti A B = 1

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

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Digitaalitekniikan matematiikka Luku 8 Sivu 1 (23) Kombinaatiopiirielimet MUX X/Y 2 EN

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti. Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

Tiedon tarkistus (4)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

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

Digitaalitekniikan matematiikka Luku 1 Sivu 1 (19) Johdatus digitaalitekniikkaan

3. Siirtoyhteyskerros linkkikerros (Data Link Layer) Virheiden hallinta. Vuonvalvonta. Kuittausviive Suunnitteluperiaatteita

3. Siirtoyhteyskerros linkkikerros (Data Link Layer)

3. Siirtoyhteyskerros

811120P Diskreetit rakenteet

Tiedonsiirron perusteet ja fyysinen kerros. Tietoliikenne kohtaa todellisuuden OSI-mallin alimmainen kerros Kirja sivut 43-93

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon tarkistus (4)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

Tietoliikenteen fyysinen kerros. Tietoliikenne kohtaa todellisuuden Kirja sivut 43-93

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1

Luento 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

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

TIIVISTELMÄRAPORTTI. Virheenkorjauskoodien tunnistus signaalitiedustelussa

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

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa

Ohjelmistoradio tehtävät 4. P1: Ekvalisointi ja demodulaatio. OFDM-symbolien generoiminen

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Palautteita. Tutoriaalit olivat vaikeat! Totta, tentti on onneksi helpompi

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

Koodausteoria, Kesä 2014

Data ja informaatio. Tiedonsiirron perusteet ja fyysinen kerros. Ohjattu media. Tiedonsiirto. Ohjaamaton media

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset

Tiedonsiirron perusteet ja fyysinen kerros. Tietoliikenne kohtaa todellisuuden OSI-mallin alimmainen kerros "Miten siirretään yksi bitti"

Koodausteoria, Kesä 2014

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

ITKP104 Tietoverkot - Teoria 3

Tiedon sijainti. Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Taulukkojen esitysmuoto. Konekäskyn operandit ja tulos

Tietokoneen toiminta, Kevät Luento 7 Tiedon esitysmuodot (jatk) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

SISÄLLYS - DIGITAALITEKNIIKKA

Ohjelmoijan binaarialgebra ja heksaluvut

83501 Tietoliikenneprotokollat Luentomoniste osa 1 syksy Jarmo Harju

Algoritmit 2. Luento 3 Ti Timo Männikkö

LUKUTEORIA johdantoa

Standardit. Siirtotiet. Standardit

VIRHEENKORJAUS JA -ILMAISU

kwc Nirni: Nimen selvennys : ELEKTRONIIKAN PERUSTEET 1 Tentti La / Matti Ilmonen / Vastaukset kysymyspapereille. 0pisk.

ANSI/IEEE Std

Tehtävä 2: Tietoliikenneprotokolla

SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje

Tiedon esitysmuodot Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Koodausteoria, Kesä 2014

1. Yleistä asiaa tietoliikenneyhteyden toiminnasta.

Algoritmit 2. Luento 3 Ti Timo Männikkö

Harjoitustehtäväkierros 1

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

Konekäskyjen esitysmuoto muistissa (4)

Ohjelman esitysmuoto Rakenteellinen tieto Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

TL9133 Tiedonsiirtotekniikka 2 (S2005)

SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje

Koodausteoria, Kesä 2014

Puhetie, PCM järjestelmä, johtokoodi

Kanavointi ja PCM järjestelmä

Koodausteoria, Kesä 2014

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö

Chapter 5 Link Layer and LANs

Puhetie, PCM järjestelmä, johtokoodi

Python-koodaus: Muuttujat

Kanavointi ja PCM järjestelmä. Kanavointi pakkaa yhteyksiä johdolle

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

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

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

Python-ohjelmointi Harjoitus 2

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

1. ISDN FYYSINEN KERROS

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

Matematiikka ja teknologia, kevät 2011

ELEC-C5070 Elektroniikkapaja (5 op)

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

S Tietoliikennetekniikan perusteet. Jukka Manner Teknillinen korkeakoulu

T Verkkomedian perusteet. Tietoliikennekäsitteitä Tiedonsiirron perusteet

Signaalinkäsittely ADSL:ssä Markku Kilpinen, 48166B Maija Pohjanpelto-Rosén, 48271N

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

Asiointipalvelun ohje

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

Transkriptio:

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 esitetään koodaustapoja, joiden avulla voidaan havaita ja korjata siirrossa, tallennuksessa tai toistossa syntyneitä bittivirheitä pariteettibitin käyttö CRC-menetelmä Hamming-koodaus ECC-koodaus bittien lomittelu ja FEC-koodaus Luvun tavoitteena on luoda yleiskuva mahdollisuuksista havaita ja korjata digitaalisten signaalien siirrossa, tallennuksessa ja toistossa syntyneitä bittivirheitä opettaa tuntemaan eräitä keskeisiä virheen havaitsevia ja korjaavia koodaustapoja

Digitaalitekniikan matematiikka Luku 13 Sivu 3 (10) Virheen havaitsemisen ja korjauksen perusteet Virheen havaitsevia (error detecting) ja virheen korjaavia 010 (error correcting) menettelytapoja käytetään tiedon tallennuksessa ja siirrossa 110 111 virheen havaitsevat ja korjaavat koodaustavat uudelleenlähetyksen käyttö siirrossa 000 Perustuu koodauksen redundanssin lisäämiseen 100 101 vain osaa bittiyhdistelmistä käytetään koodisanoina loput bittiyhdistelmät tulkitaan virhekoodeiksi koodisanaan syntyvä virhe muuttaa sen yleensä virhekoodiksi Virhe havaitaan ja virhekoodi jätetään ottamatta huomioon tai pyydetään uudelleenlähetystä (virheen havaitsevat koodit) Virheen havaitsevaa koodausta käytetään ei-aikakriittisissä sovelluksissa, kuten tiedostojen siirrossa ja siirtoyhteyden laadun valvontaan Virhe havaitaan ja korjataan (virheen korjaavat koodit) Virheen korjaavaa koodausta käytetään aikakriittisissä sovelluksissa, kuten äänen ja videokuvan tallennuksessa ja siirrossa 011 001

Pariteettibitin käyttö Digitaalitekniikan matematiikka Luku 13 Sivu 4 (10) Jos koodisanassa on parillinen määrä ykkösiä, sen pariteetti (parity) on parillinen (even) Jos koodisanassa on pariton määrä ykkösiä, sen pariteetti on pariton (odd) EVEN ODD Kaikkien koodisanojen pariteetti saadaan samaksi lisäämällä pariteettibitti Vastaanotetun sanan pariteetti tarkastetaan oikea pariteetti: ei virhettä tai parillinen määrä virheitä väärä pariteetti: pariton määrä virheitä virhe havaitaan, mutta sitä ei voida korjata Sopi erityisen hyvin ASCII-koodin yhteyteen koodi on 7-bittinen tietokoneissa sananpituus on yleensä 8 bittiä tai sen monikerta On käytetty myös PC-tietokoneiden dynaamisen RAM-muistin sisällön tarkastamiseen (nykyään palvelimissa kehittyneempi ECC-menetelmä) Nykyään ei ole sellaisenaan käytössä, mutta on tärkeä peruste tehokkaammille koodaustavoille

Digitaalitekniikan matematiikka Luku 13 Sivu 5 (10) Pariteettityypit ASCII- Ei Parillinen Pariton 0-1- merkki pariteettia pariteetti pariteetti pariteetti pariteetti? 1 A 1000001 01000001 11000001 01000001 11000001 T 1010100 11010100 01010100 01010100 11010100 Pariteettibitti Aina 0 Aina 1 Käytännössä merkit lähetetään lsb ensin, jolloin pariteettibitti lähetetään viimeisenä 0- ja 1-pariteetti muuntavat 7-bittisen koodin 8-bittiseksi ilman pariteettitarkastusta NO EVEN ODD 0 1

Digitaalitekniikan matematiikka Luku 13 Sivu 6 (10) PARITON-funktio ja pariteettibitin muodostus PARITON-funktio saa arvon 1, kun sen muuttujista pariton määrä on ykkösiä arvon 0 muulloin Pariteettibitti muodostetaan ja tarkastetaan PARITON-funktion muodostavalla piirillä Lisä A 0 =1 A 1 =1 A 2 =1 A 3 A 4 =1 A 5 =1 A 6 =1 A 7 =1 P

Digitaalitekniikan matematiikka Luku 13 Sivu 7 (10) CRC-menetelmä CRC- (Cyclic Redundancy Check) -menetelmä on pariteettibitin käyttöä tehokkaampi virheen havaitsemismenetelmä CRC Tarkastettava koodisana tulkitaan polynomin kertoimiksi ja kyseinen polynomi jaetaan erityisellä tarkastuspolynomilla Saatu jakojäännös liitetään koodisanaan ja tallennetaan tai lähetetään vastaanottopäähän Tarkastettaessa tehdään vastaava jakolasku koodisanan ja jakojäännöksen muodostamalle kokonaisuudelle Jos jako menee tasan, koodisana on virheetön, ellei, se on virheellinen Jakolaskut tehdään EHDOTON TAI -porteilla sarjamuotoiselle koodisanalle eli menetelmä on laitteistototeutukseltaan yksinkertainen Menetelmää käytetään mm. siirtojärjestelmien bittivirhetason laskentaan eli siirron laadun valvontaan Se on myös mukana monissa virheenkorjaavissa siirtoprotokollissa, joissa virheen havaitseminen vastaanottopäässä aiheuttaa uudelleenlähetyspyynnön ja uudelleenlähetyksen

Digitaalitekniikan matematiikka Luku 13 Sivu 8 (10) Hamming-koodaus Virheen korjaava koodaustapa Havaitsee ja korjaa kaikki yhden bitin virheet, muita virheitä ei havaita Perustuu usean pariteettibitin käyttöön n:lle databitille tarvitaan k pariteettibittiä siten, että n + k + 1 2 k Databitit Pariteettibitit Yhteensä bittejä Pariteettibittien osuus 1 2 3 67 % 2-4 3 5-7 60-43 % 5-11 4 9-15 44-27 % 12-26 5 17-31 29-16 % 27-57 6 33-63 18-10 % 58-120 7 65-127 11-6 %

Digitaalitekniikan matematiikka Luku 13 Sivu 9 (10) ECC-koodaus ja kännyköissä käytettävä koodaus ECC-koodausta käytetään PC-tietokoneissa keskusmuistin lukuvirheen havaitsemiseen muistipaikassa kahdeksalla databitillä on yksi pariteettibitti kahdeksan peräkkäisen muistipaikan pariteettibitit käytetään ECC-koodaukseen (error correcting code) voidaan korjata yhden bitin virhe ja havaita jopa neljän bitin virhe 64-bittisessä sanassa käytössä lähinnä palvelimissa Kännykkäpuheluissa ilmarajapinnan häiriö kestää tyypillisesti useiden bittien ajan bitteihin syntyy virheryöppy käytetään bittien lomittelua useiden näytteiden bitit lomitellaan käytetään erilaisia FEC-koodaustapoja (forward error correction) virheet voidaan korjata ECC FEC

Digitaalitekniikan matematiikka Luku 13 Sivu 10 (10) Yhteenveto Tiedon Tiedon tallennuksessa ja ja siirrossa käytetään virheen havaitsevia ja ja korjaavia koodaustapoja Nämä Nämä tavat tavat perustuvat koodauksen redundanssin lisäämiseen Pariteettibitin käyttö käyttö on on yksinkertainen menetelmä virheen virheen havaitsemiseen; sillä sillä havaitaan pariton pariton määrä määrä virheitä virheitä Pariteetti voi voi olla olla parillinen tai tai pariton CRC-menetelmä on on yleisesti käytetty menetelmä virheen virheen havaitsemiseen ja ja korjaamiseen uudelleenlähetystä käyttäen Hamming-koodaus on on virheen virheen korjaava koodaustapa, jolla jolla voidaan havaita havaita ja ja korjata korjata yhden yhden bitin bitin virhe virhe PC-tietokoneista lähinnä lähinnä palvelimissa käytetään ECC-koodausta keskusmuistin virheiden korjaamiseen ja ja havaitsemiseen Kännyköissä käytetään lomittelua ja ja FEC-koodausta virheenkorjaukseen