Virheen havaitseminen ja korjaus

Slides:



Advertisements
Samankaltaiset esitykset
Tietokonetekniikka 4 Tieto ja tiedon talletus
Advertisements

Tietokoneen käyttöjärjestelmä
Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta
JavaScript (c) Irja & Reino Aarinen, 2007
Digitaalitekniikan matematiikkaLuku 0 Sivu 1 (9) Opintojakson esittely Fe Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA!
ERILAISIA LOHKOKOODAUSMENETELMIÄ
Lausekkeiden sieventäminen
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Tietoturvallisuus osa 7
Entropiakoodaus, Entropy Coding
NAND I-SOP NOR KOMBINAATIOPIIRIT & 1 & A B A B
Kuvan pakkaaminentMyn1 Kuvan pakkaaminen •Bittikarttakuva muodostuu kuvapisteistä, ja jokaisessa kuvassa on tietty määrä kuvapisteitä pysty- ja vaakasuunnassa.
JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT
Iitin yläkoulu 9. Luokka Antti Halme
INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS
Tietoliikennetekniikka II AKari KärkkäinenOsa 24 1 (10) LOHKOKOODATUN JA KOODAMATTOMAN JÄRJESTELMÄN SUORITUSKYKYJEN VERTAILU.
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
Ohjelman jakaminen useampaan tiedostoon Olio-ohjelmointi (C++) KYAMK, Jarkko Ansamäki 2001.
Murphy ja TLT eli mitä kaikkea voi mennä pieleen tiedonsiirron eri vaiheissa?
Verkkopalvelu. Verkon rajapinta 1 DATA XXX a DATA CONTROL DTMF.
KERTAUSTA PERUSASTEEN MATEMATIIKASTA Piia junes
LUKUJÄRJESTELMÄMUUNNOKSET
Lineaarinen lohkokoodaus, Block Coding
Kombinaatiopiirielimet
Gray BCD UTF-8 ISO 8859 ASCII Unicode ISO (UCS) UCS-2
Tiedon esittäminen.
m0 M7 Maksimitermi Minimitermi Boole A = A A · 0 = 0 SOP De Morgan POS
Johdatus digitaalitekniikkaan
Johtokoodaus Historia, toiminnalliset syyt ja toteutustapojen hintaerot ovat johtaneet eri johtokoodaustapojen kehittämiseen. Hyvälle johtokoodaukselle.
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Digitaalitekniikan matematiikkaTäsmätehtävät Fe Luku 1 ?1?1 Sivu 1Luku 1Sivu 2Opetuskerta 1 ?2?2 ?3?3 ?4?4.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Virheenpaljastus- ja korjauskoodit tMyn1 Virheenpaljastus- ja korjauskoodit Virheen havaitseminen Tässä vaaditaan ainoastaan se, että pystytään toteamaan.
PARAABELI (2. ASTEEN FUNKTION KUVAAJIA)
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 19 - Heikki Henttu Optimointiopin seminaari - Syksy 2005 / 1 Ratkaisu kotitehtävään 19.
Kytkentäfunktiot ja perusporttipiirit
Tietokoneen rakenne matalalla tasolla KYMENLAAKSON AMMATTIKORKEAKOULU Jarkko Ansamäki, kevät 2002.
Kontrollirakenteet laajemmin
Merkistöstandardeista
Liukulukulaskenta. Yleistä liukuluvuista Tarvitaan reaalilukujen esittämiseen tietokoneella  esim. matemaattiset mallit Kaikkia reaalilukuja ei ole mahdollista.
Samankantaisten potenssien kerto- ja jakolasku
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
Rekisterit ja laskurit
Digitaalitekniikka (piirit)Täsmätehtävät Fe/AKo Luku 1 ?1?1 Sivu 4Luku 1Sivu 1Opetuskerta 1 ?2?2.
Ti Lähiverkot - erikoistyökurssi RAID Timo Rauta 2007.
Kiikuista jatkoa.
Mikro-ohjelmoitava tietokone
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
BINÄÄRILUKUJÄRJESTELMÄ
ASCII JORMA2002. ASCII A merican S tandard C ode for I nformation I nterchange  Vuonna 1963 julkaistiin (1967 täydennettiin) 7-bittinen ASCII-koodi kaukokirjoittimissa.
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö.
ERILAISIA LOHKOKOODAUSMENETELMIÄ A Tietoliikennetekniikka II Osa 23 Kari KärkkäinenSyksy 2015.
Edellisen kerran yhteenveto 1.Langaton lennätin lukujen vaihteessa. Langallinen lennätin 50 vuotta aiemmin. Langaton aluksi laivaliikenteeseen/Marconi.
Tiedonsiirtotekniikka 2
INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS
BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN ─ KANAVAKOODAUSMENETELMÄT
7. Tiedon esittäminen 7.1. Tieto bittimuodossa 7.2. Binääriluvut
3. Siirtoyhteyskerros linkkikerros (Data Link Layer)
Signaalien datamuunnokset
Kontrollirakenteet laajemmin
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
Salvat ja kiikut 1D C1 1D C1 S 1D C1 R 1T C1 1J C1 1K 1J S C1 R 1K
LOHKOKOODATUN JA KOODAMATTOMAN JÄRJESTELMÄN SUORITUSKYKYJEN VERTAILU
Signaalinkäsittelyn sovellukset
5. Siirtoyhteyskerros linkkikerros (Data Link Layer)
Esityksen transkriptio:

Virheen havaitseminen ja korjaus HTOL Digitaalitekniikan perusteet Luku 10 Sivu 1 (8) 1998-1999 Luentokalvoseloste 12.6.1998 Fe Virheen havaitseminen ja korjaus

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

Virheen havaitsemisen ja korjauksen perusteet Virheen havaitsevia (error detecting) ja virheen korjaavia (error correcting) menettelytapoja käytetään tiedon tallennuksessa ja siirrossa virheen havaitsevat ja korjaavat koodaustavat uudelleenlähetyksen käyttö siirrossa Perustuu koodauksen redundanssin lisäämiseen 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 100 000 010 110 001 101 111

Pariteettibitin käyttö EVEN ODD 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) 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

Pariteettityypit ? NO EVEN ODD 1 ASCII- Ei Parillinen Pariton 0- 1- merkki pariteettia pariteetti pariteetti pariteetti pariteetti A 1000001 01000001 11000001 01000001 11000001 T 1010100 11010100 01010100 01010100 11010100 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 ? 1 Pariteettibitti Aina 0 Aina 1 NO EVEN ODD 1

PARITON-funktio ja pariteettibitin muodostus Lisä 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ä A0 =1 A1 =1 A2 =1 A3 A4 =1 A5 =1 =1 P A6 =1 A7

CRC-menetelmä CRC CRC- (Cyclic Redundancy Check) -menetelmä on pariteetti- bitin käyttöä tehokkaampi virheen havaitsemismenetelmä 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

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  2k 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 %

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

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