I digitala system, överförda data för kommunikation kan skadas på grund av externt buller och andra fysiska fel. Om den överförda informationen inte matchas med den angivna indata, kallas det ett ”fel”. Datafelen kan ta bort vital data i digitala system. Överföringen av data sker i form av bitar (0 och 1) i digitala system. Om någon av bitarna ändras kan hela systemets prestanda påverkas. Om biten '1' ändras till biten '0' eller vice versa kallas det bitfel. Det finns olika typer av fel som enstaka bitfel, flera fel och burst-fel. I den här artikeln diskuterar vi felkorrigering och upptäckt och hamming-kod.
Vad är felavkänning och korrigering?
Vid digital kommunikation kommer data att gå förlorade om det uppstår ett fel i överföringen av information från ett system / nätverk till ett annat system / nätverk. Så det är viktigt att hitta och korrigera fel. Något fel upptäckt och korrigeringsmetoder används för att upptäcka och korrigera felen för effektiv kommunikation. Om dessa metoder används kan data överföras med högre noggrannhet.
Felavkänning definieras som, metoden som används för att upptäcka de fel som överförs från sändare / avsändare till mottagare i digitala system. Redundanskoder läggs till i data under överföringen för att hitta fel. Dessa kallas felavkänningskoder.
Felkorrigering är korrigering av data som överförs från sändare till mottagare. Felkorrigering kan göras i två typer.
Bakåt felkorrigering
I denna typ av felkorrigering begär mottagaren avsändaren att återutsända data om mottagaren upptäcker felet.
Felkorrigering framåt
om data som mottagits av mottagaren hittar felet, kör den felkorrigerande koder för att korrigera och återställa data automatiskt.
Om det finns 'm' antal databitar och 'r' antal redundanta bitar kommer informationskombinationerna att vara 2r.
2r> = m + r + 1
Typer av felavkänningskoder
Felen i mottagen data kan detekteras med hjälp av tre typer av feldetekteringskoder. De är paritetskontroll, cyklisk redundanskontroll (CRC) och longitudinell redundanskontroll.
Paritetskontroll
Den överflödiga biten som kallas paritetsbit läggs till för att göra antalet bitar jämna eller udda vid jämn paritet eller udda paritet. Mottagaren räknar antalet bitar (1) i en ram för att lägga till paritetsbiten. Detta kallas paritetskontroll. Om antalet 1 i en ram är jämnt, används jämn paritet genom att lägga till biten '1' med nollvärde. På samma sätt är antalet nr 1 udda, då används udda pariteten genom att lägga till biten med värdet '1'.
felavkänning
Därför används den för att säkerställa att den ram / datum som mottagaren mottager från källan inte skadas. I den här typen av feldetektering ska antalet 1-tal vara jämnt i den mottagna ramen. Det är mycket billigare bland alla typer av feldetektering.
Longitudinal Redundancy Check (LRC)
när uppsättningen / blocket av bitar är organiserade kan LRC-metoden användas för att kontrollera paritetsbiten i varje ram. Det hjälper till att skicka uppsättningen paritetsbitar tillsammans med originaldata och kontrollerar redundansen.
Cyklisk redundanskontroll
hans typ används för att upptäcka data / ram mottagen från källan är giltig eller inte. Det involverar i den binära uppdelningen av data som ska skickas och använder polynom (för att generera divisor). Innan överföringen , utförs en uppdelningsoperation av avsändaren på data / bitar / ram för att beräkna återstoden.
cyklisk redundanskontroll
Under överföringen av faktiska data från avsändaren lägger den till resten i slutet av den faktiska informationen. Kombinationen av faktiska data och resten kallas ett kodord. Uppgifterna överförs i form av kodord. Om data är skadade i den här processen kommer data att avvisas av mottagaren, annars kommer de att accepteras.
Vad är Hamming-koden?
Hamming-kod definieras som en linjär kod som används i feldetekteringsprocessen upp till 2-mellanliggande fel. Det kan också upptäcka fel med en bit. I denna metod läggs de redundanta bitarna till data / meddelandet av avsändaren för att koda data. För att göra feldetektering och korrigering läggs dessa redundanta bitar till i vissa positioner för felkorrigeringsprocessen.
hamming-kod
Hamming Codes historia
1950 uppfann Richard W. hamming Hamming-koder för att upptäcka och korrigera datafel. Efter utvecklingen av datorer med högre tillförlitlighet introducerade han hammingkoder för 1-felkorrigeringskoder och senare utvidgade han upp till 2-feldetekteringskoder. Hamming-koder skapas eftersom paritetskontroll inte kan upptäcka och korrigera fel i datan. Hamming-koder infogas till valfri datalängd mellan faktiska data och redundansbitar. Han utvecklade en rad algoritmer för att arbeta med problemen med felkorrigeringsmetoder och dessa koder används ofta i ECC-minne.
Process för kodning av ett meddelande med hjälp av Hamming-kod
Processen att koda ett meddelande med hjälp av en hammingkod av avsändaren innehåller tre steg.
Steg 1: Det första steget är att beräkna antalet redundanta bitar i ett meddelande
- Till exempel, om ett meddelande innehåller 'n' antal bitar och 'p' antal överflödiga bitar läggs till i meddelandet, så anger 'np' (n + p + 1) olika tillstånd.
- Där (n + p) representerar placeringen av ett fel i varje bitposition
- 1 (extra tillstånd) representerar inget fel.
- Eftersom 'p' anger 2 ^ p (2p) tillstånd, som är lika med (n + p + 1) tillstånd.
Steg 2: Placera de överflödiga bitarna i exakt / korrekt position
'p' bitar infogas i bitpositionerna som är kraften av 2 som 1, 2, 4, 8, 16, etc. Dessa bitpositioner indikeras som p1 (position 1), p2 (position 2), p3 (position 4) etc.
Steg 3: Beräkna värdena för redundanta bitar
- Här används paritetsbitar för att beräkna värdena för redundanta bitar.
- Paritetsbitar kan göra antalet 1 i ett meddelande antingen jämnt eller udda.
- Om det totala antalet 1 i ett meddelande är jämnt, används jämn paritet
- Om det totala antalet 1 i ett meddelande är udda, används udda paritet.
Process för dekryptering av ett meddelande i Hamming Code
Processen för att dekryptera ett meddelande som mottagits från avsändaren av mottagaren med hjälp av hamming-koden inkluderar följande steg. Denna process är bara omberäkning för att upptäcka och korrigera felen i ett meddelande.
Steg 1: Räkna antalet överflödiga bitar
Formeln för att koda meddelandet med redundanta bitar är,
2p≥ n + p + 1
Steg 2: korrigera positionerna för alla överflödiga bitar
'P' antal överflödiga bitar placeras i bitpositioner av kraft på 2 som 1,2,4,8,16,32 etc
Steg 3: paritetskontroll (udda paritet och jämn paritet)
Paritetsbitar beräknas baserat på antalet 1 i databitar och redundanta bitar.
Till exempel
Paritet för p1 skulle vara 1, 3, 5, 7, 9, 11, ...
Paritet för p2 skulle vara 2, 3, 6, 7, 10, 11, ...
Paritet för p3 skulle vara 4-7, 12-15, 20-23, ...
Fördelar med Hamming Code
Den största fördelen med att använda en hammingkod är kostnadseffektiv om en dataström innehåller enbitsfel.
- Det kan ge feldetektering och indikerar också biten som innehåller ett fel för korrigering.
- Hamming-koder är mycket enkla och bäst att använda i datorminne och felkorrigering och upptäckt i en bit.
Nackdelar med Hamming Code
- Det är bäst endast för felkorrigering och upptäckt med en bit. Om fel med flera bitar kan hela skadas.
- Hamming-kodalgoritmen kan endast lösa enkelbitsfel.
Tillämpningar av Hamming-koder
Hamming-koder används i,
- Datoranvändning
- Telekommunikation
- Datakomprimering
- Lösa pussel och turbokoder
- Satelliter
- Plasma CAM
- Skärmade ledningar
- Modem
- Datorminne
- Öppna kontakterna
- Inbyggda system och processor
Vanliga frågor
1). Kan Hamming-koden upptäcka 2-bitarsfel?
Hamming-koder kan upptäcka och korrigera upp till 2-bitarsfel i en dataström
2). Hur fixar du Hamming-koden?
Hamming-koder placeras i valfri datalängd mellan den faktiska datan och redundanta bitar. Dessa koder är platser med ett minsta avstånd på 3 bitar
3). Vad är paritetskoden?
Paritetskod eller paritetsbit lägger till lite i den mottagna ramen (data innehåller 1 och 0) för att göra totalt antal bitar (1) jämnt eller udda.
4). Vad är Hamming-avståndet mellan data?
Hammningsavståndet mellan de två olika dataströmmarna med samma längd är nr 1.
Hammningsavståndet mellan två datasträngar med samma längd kan beräknas med XOR-funktionen.
Till exempel a = 11011001
b = 10011101
Hammingavstånd kan beräknas som,
11011001 ⊕ 10011101 = 01000100 (antalet 1-bitar är 2)
Hammningsavståndet anger antalet 1 i den resulterande dataströmmen
Så, d (11011001, 10011101) = 2
På samma sätt är 010 ⊕ 011 = 001, d (010, 011) = 1.
5). Är Hamming-kod cyklisk?
Ja, hamming-koder motsvarar cykliska koder som kan användas som felavkänningskoder.
Således handlar det här om felkorrigering och upptäckt, typer av felavkänning, hamming-koder , processen att kryptera och dekryptera meddelandet med hjälp av hammingkoder, tillämpningar av hammingkoder, fördelar och nackdelar med Hamming-koder. Här är en fråga till dig, 'Vilka är tillämpningarna för felidentifiering och korrigering?'