Nagy számok közelről · 4 perc olvasás
Három plusz bitből kiderülhet, melyik bit romlott el
Egy üzenethez hozzáadott három bit elég lehet ahhoz, hogy a fogadó megmondja, a hét átküldött bit közül melyik egy fordult át. A Hamming(7,4) kód négy adatbithez ad három ellenőrző bitet. Egy teljes példán végigkövethető, hogyan lesz a hibajelzésből javítható helymegjelölés.
Ebben a cikkben
Négy adatbitet hét helyre osztunk szét
A hét kódhelyet balról jobbra 1-től 7-ig számozzuk. Az 1., 2. és 4. hely ellenőrző bit, a 3., 5., 6. és 7. hely hordozza a négy adatbitet. Minden ellenőrző bithez más helycsoport tartozik. A Stanford hibajavító kódokról szóló jegyzetében is ez a helyszámozás szerepel.
Az első ellenőrzés az 1., 3., 5., 7. bitet, a második a 2., 3., 6., 7. bitet, a harmadik a 4., 5., 6., 7. bitet figyeli. Mindhárom csoportban páros számú 1-est szeretnénk. Az ellenőrző biteket úgy választjuk meg, hogy ez teljesüljön. A bitenkénti XOR művelet pontosan azt mutatja, páros vagy páratlan számú 1-es szerepel-e a csoportban.
Az 1011 üzenetből 0110011 lesz
A saját adatunk 1011. A négy adatot sorban a 3., 5., 6. és 7. helyre írva ezek értéke 1, 0, 1, 1. Az első csoport adatbitjeiben két 1-es van, ezért az 1. helyre 0 kerül. A második csoport adatbitjeiben három 1-es van, ezért a 2. hely 1. A harmadik csoport két 1-est tartalmaz, ezért a 4. hely 0.
A hét bit így 0, 1, 1, 0, 0, 1, 1, egybeírva 0110011. Ellenőrizheted: az 1., 3., 5., 7. helyen kettő; a 2., 3., 6., 7. helyen négy; a 4., 5., 6., 7. helyen kettő az 1-esek száma. Mindegyik páros, tehát a kódszó mindhárom feltételnek megfelel.
A hatodik bit hibája két ellenőrzésnél látszik
Tegyük fel, hogy kizárólag a 6. bit fordul át 1-ről 0-ra. A fogadó 0110001-et kap. Az első ellenőrzési csoport változatlanul páros, a második és a harmadik páratlan lesz. A hibajelzések az 1-es, 2-es és 4-es súlyhoz rendre 0, 1, 1 értéket adnak.
A hibás hely száma 0 × 1 + 1 × 2 + 1 × 4 = 6. A fogadó ezért megfordítja a 6. bitet, és visszakapja az eredeti 0110011 kódszót. A szabály azért működik, mert minden hely más ellenőrzési csoportokban szerepel: a hely bináris száma pontosan megadja ezeket a csoportokat. Egyetlen ellenőrző bit hibája is azonosítható ezzel a módszerrel.
Egymillió adatbitből 1,75 millió átküldött bit lesz
Egymillió adatbit 250 ezer négybites blokkra osztható. Minden blokkból hétbites kódszó lesz, összesen 250 000 × 7 = 1 750 000 bit. A többlet 750 ezer bit, vagyis az eredeti adatmennyiség 75%-a. A teljes elküldött adaton belül az ellenőrző bitek aránya 3/7, körülbelül 42,86%. A két százaléknak eltér a nevezője.
Ez a kis kód a működés megértésére alkalmas. Nagyobb Hamming-kódok más adat–ellenőrzés arányt adhatnak, és más kódcsaládok több hibát is kezelhetnek. Az átviteli többlet önmagában kevés az összevetéshez: az is számít, milyen hibatípusokra és milyen blokkhossz mellett adnak felismerési vagy javítási garanciát.
Két hiba esetén a javító rossz helyre nyúlhat
A fenti javítás feltétele legfeljebb egy hibás bit a hétbites blokkban. Ha például az 1. és a 2. bit együtt változik meg, a hibajelzés a 3. helyet jelöli. Az egyhibás dekóder ezért egy eredetileg jó bitet is átfordítana, és téves adatot adna vissza. A több ellenőrző bit tehát semmilyen számú hibára nem jelent korlátlan védelmet.
Saját valószínűségi példaként legyen minden bit átfordulási esélye 0,001, egymástól függetlenül. Egy hétbites blokkban a nulla vagy egy hiba esélye 0,999⁷ + 7 × 0,001 × 0,999⁶. A legalább két hibás eset ennek ellentettje, körülbelül 0,002093%. A 250 ezer blokkban így átlagosan 5,23 blokk kerül az egyhibás javítás garantált tartományán kívül. Ez hibamodellhez kötött számítás; csoportosan jelentkező bithibáknál új elemzés kell.
A példák és a források
A számpéldák saját, szemléltető feladatok; a megadott feltételezésekből és képletekből újraszámolhatók. Valós vállalkozásra, országos statisztikára vagy jövőbeli eredményre nem vonatkoznak.
Forrásellenőrzés: 2026-11-09. A hivatkozások a fogalmakat és a módszert támasztják alá; a példaszámítások a cikk részei.
Négy kérdés a cikkhez
A válaszokból kiderül, melyik összefüggést érted már, és melyik részt érdemes újraolvasnod. A válaszokat és a pontszámot nem mentjük.