Mikä on Hamming -koodi?

Hamming -koodi on menetelmä binäärilähetyksen virheiden havaitsemiseksi ja korjaamiseksi. Se tekee sen sisällyttämällä sekvenssiin muita binaarilukuja, joita käytetään tarkistamiseen, sekä algoritmin, joka tarjoaa havaitsemislogiikan. Tällainen koodi pystyy löytämään kaksi virhettä mistä tahansa bittisarjasta ja korjaamaan yhden bitin, joka saattaa olla väärä. Yleisimmin viitattu Hamming -koodi tunnetaan nimellä Hamming (7,4), jossa neljä ilmaisee aloitusbittien alkuperäisen määrän ja seitsemän edustaa bittien kokonaismäärää sekvenssissä sen jälkeen, kun lisätarkistusbitit on sisällytetty.

Tekniikka sai nimensä sen luojalta Richard Hammingilta, joka julkaisi menetelmän vuonna 1950. Hamming -koodin toiminta perustuu ottamalla bittisarja ja lisäämällä sekvenssiin lisää tarkistusbittejä, joita kutsutaan pariteettibiteiksi. Tarkastusbitit ruiskutetaan aina kohtaan, joka on kahden tehon, joten mikä tahansa määrä bittejä voidaan todentaa lisäämällä lisäpariteettibittejä. Tämä voi jatkua, kunnes sekvenssiin lisätty viimeinen pariteettibitti on kohdassa, jonka teho on kaksi ja joka on pienempi tai yhtä suuri kuin sarjan lopullinen sijainti.

Kun kaikki pariteettibitit ovat paikoillaan, loput paikat ovat todellisia databittejä. Kun otetaan huomioon neljän bitin esimerkki, bittiasemat yksi, kaksi ja neljä olisivat pariteettibittejä, kun taas sijainnit kolme, viisi, kuusi ja seitsemän ovat dataa. Kun tämä sekvenssi on muodostettu, Hamming -koodin logiikka toimii.

Hamming -koodissa kutakin sekvenssiin lisättyä pariteettibittiä käytetään tarkistamaan joitakin lähellä olevia bittiasemia, myös itseään. Pariteettibitti asennossa yksi tarkistaa jokaisen bitin sijainnin, mikä on olennaisesti jokainen pariton numero sekvenssissä. Toinen pariteettibitti, asennossa kaksi, tarkistaa paikat kaksi ja kolme, ohittaa sitten kaksi asemaa, tarkistaa kaksi muuta asentoa, ohittaa kaksi muuta jne. Jos asemassa neljä on pariteettibitti, se toimii samalla tavalla, koska se tarkistaa paikat neljästä seitsemään, ohittaa sitten neljä asemaa, tarkistaa neljä lisää ja jatkaa. Jokainen pariteettibitti sarjassa jatkuu tällä tavalla koko sekvenssin ajan.

Prosessi, jolla Hamming -koodi havaitsee ja korjaa virheen, on laskemalla yhteen kunkin pariteettitarkistuksen tarkistusjakson bitit, joista jokaisen on annettava parillinen luku. Kun otetaan huomioon seitsemän bitin esimerkki, ensimmäistä pariteettitarkistusta varten lasketaan yhteen yksi, kolme, viisi ja seitsemän bittiä. Jos summa on parillinen luku, pariteetti tarkistaa, mutta jos summa on pariton, on virhe. Koska pariteettitarkastukset ovat päällekkäisiä, kaksi tällaista virhettä tulee näkyviin. Kun kahden pariteetin bittiasemat, jotka eivät pysty tuottamaan edes kokonaissummia, lasketaan yhteen, se paljastaa korjattavan bitin.

Katso seitsemän bitin Hamming-koodiesimerkissä, että aseman numero viisi bitti on väärä. Bittien summa paikoissa yksi, kolme, viisi ja seitsemän tulee pariton numero, samoin kuin bittien summa paikoissa neljästä seitsemään. Tämä osoittaa, että pariteettitarkastukset tarkastusbitteille paikoissa yksi ja neljä epäonnistui. Kun yksi ja neljä lasketaan yhteen, kokonaismäärä on viisi, mikä on virheellisen bitin paikka lähetyksessä, joka on korjattava.