Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Virheen havaitseminen ja korjaus

Samankaltaiset esitykset


Esitys aiheesta: "Virheen havaitseminen ja korjaus"— Esityksen transkriptio:

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

2 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

3 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

4 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

5 Pariteettityypit ? NO EVEN ODD 1
ASCII- Ei Parillinen Pariton merkki pariteettia pariteetti pariteetti pariteetti pariteetti A T 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

6 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

7 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

8 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 % % % % % %

9 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

10 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


Lataa ppt "Virheen havaitseminen ja korjaus"

Samankaltaiset esitykset


Iklan oleh Google