Hamming-kod: Exempel på felkorrigering

Innehållsförteckning:

Anonim

Vad är ett fel?

Överförda data kan bli skadade under kommunikationen. Det kommer sannolikt att påverkas av externt buller eller andra fysiska fel. I en sådan situation kan ingångsdata inte vara samma som utdata. Denna felaktighet är känd som "Fel".

Datafelen kan leda till förlust av viktiga eller säkra data. Det mesta av dataöverföringen i digitala system kommer att vara i form av "Bitöverföring". Även en liten förändring kan påverka hela systemets prestanda. I en datasekvens, om 1 ändras till 0 eller 0 ändras till 1, kallas det "Bitfel."

I denna Hamming-kodhandledning lär du dig:

  • Vad är ett fel?
  • Typer av fel
  • Vad är felavkänning och korrigering?
  • Vad är en Hamming-kod?
  • Hamming-kodens historia
  • Tillämpning av Hemming-kod:
  • Fördelar med Hamming-kod
  • Nackdelar med Hamming-kod
  • Process för kodning av ett meddelande med hjälp av Hamming-kod
  • Process för dekryptering av ett meddelande i Hamming-kod

Typer av fel

Det finns huvudsakligen tre typer av bitfel som uppstår vid dataöverföring från avsändaren till mottagaren.

  • Fel med enstaka bitar
  • Flera bitfel
  • Burst-fel

Fel med enstaka bitar

Ändringen som gjorts i en bit i hela datasekvensen är känd som "Single bit error". Emellertid är förekomsten av enbitsfel inte så vanligt. Dessutom inträffar detta fel bara i ett parallellt kommunikationssystem eftersom data överförs bitvis i en enda linje. Därför finns det fler chanser att en enda rad kan vara bullrig.

Flera bitfel

I datasekvens, om det finns en förändring i två eller flera bitar i en datasekvens för en sändare till mottagaren, är den känd som "Multipelbitfel."

Denna typ av fel förekommer oftast i både seriell och parallell datakommunikationsnätverk.

Burst-fel

Ändringen av uppsättningen bitar i datasekvensen är känd som "Burst error". Denna typ av datafel beräknas från första bitbyte till senaste bitbyte.

Vad är felavkänning och korrigering?

I digitalt kommunikationssystem kommer fel att överföras från ett kommunikationssystem till ett annat. Om dessa fel inte upptäcks och korrigeras kommer data att gå förlorade. För effektiv kommunikation bör systemdata överföras med hög noggrannhet. Detta görs genom att först identifiera felen och korrigera dem.

Felavkänning är en metod för att detektera de fel som finns i data som sänds från en sändare till mottagaren i ett datakommunikationssystem.

Här kan du använda redundanskoder för att hitta dessa fel genom att lägga till data när de överförs från källan. Dessa koder kallas "Felavkänningskoder".

Tre typer av felavkänningskoder är:

  • Paritetskontroll
  • Cyklisk redundanskontroll (CRC)
  • Längsgående redundanskontroll (LRC)

Paritetskontroll:

  • Det är också känt som en paritetskontroll.
  • Den har en kostnadseffektiv mekanism för feldetektering.
  • I denna teknik är den redundanta biten känd som en paritetsbit. Den bifogas för varje dataenhet. Det totala antalet 1s i enheten ska bli jämnt, vilket kallas en paritetsbit.

Längsgående redundanskontroll

I denna feldetekteringsteknik är ett bitblock organiserat i tabellformat. LRC-metoden hjälper dig att beräkna paritetsbiten för varje kolumn. Uppsättningen för denna paritet skickas också tillsammans med originaldata. Paritetsblocket hjälper dig att kontrollera redundansen.

Cyklisk redundanskontroll

Cyklisk redundanskontroll är en redundansekvens som måste läggas till i slutet av enheten. Därför bör den resulterande dataenheten delas med ett andra, förutbestämt binärt tal.

Vid destinationen måste inkommande data delas med samma nummer. Om det inte finns någon återstod antas dataenheten vara korrekt och accepteras. Annars indikerar det att dataenheten är skadad vid överföring och därför måste den avvisas.

Vad är en Hamming-kod?

Hamming-kod är en linjekod som är användbar för feldetektering upp till två omedelbara bitfel. Den klarar av enstaka bitfel.

I Hamming-kod kodar källan meddelandet genom att lägga till överflödiga bitar i meddelandet. Dessa överflödiga bitar infogas oftast och genereras vid vissa positioner i meddelandet för att åstadkomma feldetektering och korrigeringsprocess.

Hamming-kodens historia

  • Hamming-kod är en teknik som RWHamming bygger för att upptäcka fel.
  • Hamming-kod ska tillämpas på dataenheter av vilken längd som helst och använder förhållandet mellan data och redundansbitar.
  • Han arbetade med problemet med felkorrigeringsmetoden och utvecklade en allt mer kraftfull rad algoritmer som kallas Hamming-kod.
  • 1950 publicerade han Hamming-koden, som ofta används idag i applikationer som ECC-minne.

Tillämpning av Hamming-kod

Här är några vanliga applikationer för att använda Hemming-kod:

  • Satelliter
  • Datorminne
  • Modem
  • PlasmaCAM
  • Öppna kontakterna
  • Skärmtråd
  • Inbäddad processor

Fördelar med Hamming-kod

  • Hamming-kodmetoden är effektiv i nätverk där dataströmmarna ges för enkelbitsfelen.
  • Hamming-kod ger inte bara detektering av ett bitfel utan hjälper dig också att dra in bit innehållande fel så att det kan korrigeras.
  • Lättanvändningen av hammingkoder gör det bäst för dem lämpliga för användning i datorminne och korrigering av enfel.

Nackdelar med Hamming-kod

  • Enkel-bit fel upptäckt och korrigeringskod. Men om flera bitar grundas fel kan resultatet resultera i en annan bit som bör vara korrekt att ändras. Detta kan leda till att uppgifterna blir felaktiga.
  • Hamming-kodalgoritmen kan bara lösa problem med enstaka bitar.

Process för kodning av ett meddelande med hjälp av Hamming-kod

Processen som används av avsändaren för att koda meddelandet innehåller följande tre steg:

  • Beräkning av det totala antalet redundanta bitar.
  • Kontrollerar de redundanta bitarnas position.
  • Slutligen beräknar du värdena för dessa redundanta bitar.

När ovanstående redundanta bitar är inbäddade i meddelandet skickas det till användaren.

Steg 1) Beräkning av det totala antalet redundanta bitar.

Låt oss anta att meddelandet innehåller:

  • n - antal databitar
  • p - antal redundanta bitar som läggs till den så att np kan indikera åtminstone (n + p + 1) olika tillstånd.

Här visar (n + p) placeringen av ett fel i var och en av (n + p) bitpositioner och ett extra tillstånd indikerar inget fel. Eftersom p-bitar kan indikera 2 p- tillstånd, måste 2 p åtminstone vara lika med (n + p + 1).

Steg 2) Placera de redundanta bitarna i rätt läge.

De överflödiga p-bitarna ska placeras vid bitpositioner med befogenheter 2. Till exempel 1, 2, 4, 8, 16, etc. De kallas p 1 (vid position 1), p 2 (vid position 2) , p 3 (vid position 4), etc.

Steg 3) Beräkning av värdena för den redundanta biten.

De överflödiga bitarna ska vara paritetsbitar gör antalet 1s antingen jämnt eller udda.

De två typerna av paritet är -

  • Totalt antal bitar i meddelandet görs jämnt kallas jämn paritet.
  • Det totala antalet bitar i meddelandet görs udda kallas udda paritet.

Här måste hela den överflödiga biten, p1, beräknas som pariteten. Den ska täcka alla bitpositioner vars binära representation bör inkludera en 1 i första positionen exklusive positionen för p1.

P1 är paritetsbiten för varje databitar i positioner vars binära representation inkluderar en 1 i den mindre viktiga positionen som inte inkluderar 1 Like (3, 5, 7, 9,

.... )

P2 är paritetsbiten för varje databitar i positioner vars binära representation inkluderar 1 i position 2 från höger, inklusive 2 Like (3, 6, 7, 10, 11,

...)

P3 är paritetsbiten för varje bit i positioner vars binära representation inkluderar en 1 i position 3 från höger inte inkluderar 4 Gilla (5-7, 12-15,

...)

Process för dekryptering av ett meddelande i Hamming-kod

Mottagaren får inkommande meddelanden som kräver omberäkningar för att hitta och korrigera fel.

Omberäkningen sker i följande steg:

  • Räknar antalet överflödiga bitar.
  • Korrekt placering av alla redundanta bitar.
  • Paritetskontroll

Steg 1) Räknar antalet överflödiga bitar

Du kan använda samma formel för kodning, antalet redundanta bitar

2 p ≥ n + p + 1

Här är antalet databitar och p antalet redundanta bitar.

Steg 2) Placera korrekt alla redundanta bitar

Här är p en överflödig bit som är belägen vid bitpositioner av krafter på 2, till exempel 1, 2, 4, 8, etc.

Steg 3) Paritetskontroll

Paritetsbitar måste beräknas baserat på databitar och de redundanta bitarna.

p1 = paritet (1, 3, 5, 7, 9, 11

...)

p2 = paritet (2, 3, 6, 7, 10, 11

...)

p3 = paritet (4-7, 12-15, 20-23

...)

Sammanfattning

  • Överförda data kan bli skadade under kommunikationen
  • Tre typer av bitfel är 1) Fel med enstaka bitar 2) Fel med flera bitar 3) Burst-fel
  • Förändringen i en bit i hela datasekvensen är känd som "Single bit error."
  • I datasekvens, om det finns en förändring i två eller flera bitar i en datasekvens för en sändare till mottagaren, är den känd som "Multipelbitfel."
  • Ändringen av uppsättningen bitar i datasekvensen är känd som "Burst error".
  • Felavkänning är en metod för att detektera de fel som finns i data som sänds från en sändare till mottagaren i ett datakommunikationssystem
  • Tre typer av felavkänningskoder är 1) Paritetskontroll 2) Cyklisk redundanskontroll (CRC) 3) Längsredundanskontroll (LRC)
  • Hamming-kod är en linjekod som är användbar för feldetektering upp till två omedelbara bitfel. Den klarar av enstaka bitfel.
  • Hamming-kod är en teknik som RWHamming bygger för att upptäcka fel.
  • Vanliga applikationer för att använda Hemming-kod är satellitminne, modem, inbäddad processor etc.
  • Den största fördelen med hamming-kodmetoden är effektiv i nätverk där dataströmmarna ges för single-bit-fel.
  • Den största nackdelen med hamming-kodmetoden är att den endast kan lösa problem med enstaka bitar.
  • Vi kan utföra processen att kryptera och avkoda meddelandet med hjälp av hamming-kod.