Hvad er Hamming Code: Historie, arbejde og dets applikationer

Prøv Vores Instrument Til At Fjerne Problemer





I digitale systemer er de transmitterede data for meddelelse kan blive ødelagt på grund af ekstern støj og andre fysiske fejl. Hvis de transmitterede data ikke matches med de givne inputdata, kaldes det en 'fejl'. Datafejlene kan slette vitale data i digitale systemer. Overførslen af ​​data sker i form af bits (0 og 1) i digitale systemer. Hvis nogen af ​​biten ændres, kan hele systemets ydeevne blive påvirket. Hvis bit '1' ændres til bit '0' eller omvendt, kaldes det bitfejl. Der er forskellige typer fejl som single bit-fejl, flere fejl og burst-fejl. I denne artikel diskuterer vi fejlkorrektion og detektion og hamming-kode.

Hvad er fejlregistrering og -korrektion?

Ved digital kommunikation går dataene tabt, hvis der er en fejl i overførslen af ​​information fra et system / netværk til et andet system / netværk. Så det er vigtigt at finde og rette fejl. Nogle fejl opdagelse og korrektionsmetoder bruges til at opdage og rette fejlene til effektiv kommunikation. Hvis disse metoder anvendes, kan dataene overføres med højere nøjagtighed.




Fejldetektion defineres som den metode, der bruges til at detektere de fejl, der transmitteres fra sender / sender til modtager i digitale systemer. Redundanskoder føjes til dataene under transmissionen for at finde fejlene. Disse kaldes fejlregistreringskoder.

Fejlkorrektion er korrektion af data transmitteret fra sender til modtager. Fejlkorrektion kan udføres i to typer.



Tilbagevendende fejlkorrektion

I denne type fejlkorrektion anmoder modtageren afsenderen om at videresende dataene, hvis modtageren registrerer fejlen.

Fejlretning fremad

hvis data modtaget af modtageren finder fejlen, udfører den fejlkorrektionskoder for at rette og gendanne dataene automatisk.


Hvis der er 'm' antal databits og 'r' antal overflødige bits, vil kombinationerne af information være 2r.

2r> = m + r + 1

Typer af fejlregistreringskoder

Fejlene i de modtagne data kan detekteres ved hjælp af 3 typer fejlregistreringskoder. Det er paritetskontrol, cyklisk redundanskontrol (CRC) og longitudinal redundanskontrol.

Paritetskontrol

Den overflødige bit kaldet paritetsbit tilføjes for at gøre antallet af bits lige eller ulige i tilfælde af lige paritet eller ulige paritet. Modtageren tæller antallet af bit (1) i en ramme for at tilføje paritetsbiten. Dette kaldes paritetskontrol. Hvis antallet af 1'er i en ramme er jævnt, bruges lige paritet ved at tilføje biten '1'med nulværdien. På samme måde er antallet af 1'er ulige, så den ulige paritet bruges ved at tilføje biten med værdien '1'.

Fejlregistrering

fejlregistrering

Derfor bruges den til at sikre, at den ramme / dato, som modtageren modtager fra kilden, ikke er beskadiget. I denne type fejlregistrering skal antallet af 1'er være lige i den modtagne ramme. Det er meget billigere blandt alle typer fejldetektering.

Langsgående redundanskontrol (LRC)

når sæt / blok af bits er organiseret, kan LRC-metoden bruges til at kontrollere paritetsbiten i hver ramme. Det hjælper med at sende paritetsbitsættet sammen med de originale data og kontrollerer redundansen.

Cyklisk redundanskontrol

hans type bruges til at registrere data / ramme modtaget fra kilden er gyldig eller ej. Det involverer i den binære deling af de data, der skal sendes og bruger polynomer (til at generere divisor). Før transmission , udføres en opdelingsoperation af afsenderen på data / bits / rammen for at beregne resten.

Cyklisk redundans-kontrol

cyklisk redundans-kontrol

Under transmission af faktiske data fra afsenderen tilføjer den resten i slutningen af ​​de faktiske data. Kombinationen af ​​faktiske data og resten kaldes et kodeord. Dataene overføres i form af kodeord. I denne proces, hvis dataene er beskadiget, afvises dataene af modtageren, ellers accepteres de.

Hvad er Hamming-koden?

Hamming-kode er defineret som en lineær kode, der bruges i fejlregistreringsprocessen op til 2-mellemliggende fejl. Det er også i stand til at detektere single-bit fejl. I denne metode føjes de overflødige bits til dataene / meddelelsen af ​​afsenderen for at kode dataene. For at udføre fejldetektering og korrektion tilføjes disse overflødige bits i bestemte positioner til fejlkorrektionsprocessen.

Hamming-kode

hamming-kode

Hamming-kodes historie

I 1950 opfandt Richard W. hamming Hamming-koder til at opdage og rette fejl i data. Efter udviklingen af ​​computere med højere pålidelighed introducerede han hammingkoder til 1-fejlkorrektionskoder og senere udvidede han op til 2-fejlregistreringskoder. Hamming-koder oprettes, fordi paritetskontrol ikke kan registrere og rette fejl i dataene. Hamming-koder indsættes i enhver bloklængde af data mellem faktiske data og redundansbits. Han udviklede en række algoritmer til at arbejde på problemerne med fejlkorrektionsmetoder, og disse koder bruges meget i ECC-hukommelse.

Process med kodning af en meddelelse ved hjælp af Hamming-kode

Processen med at kode en besked ved hjælp af en hammingkode af afsenderen inkluderer 3 trin.

Trin 1: Det første trin er at beregne antallet af overflødige bits i en meddelelse

  • For eksempel, hvis en meddelelse indeholder 'n' nr. Bit og 'p' nr. Redundante bits føjes til meddelelsen, så indikerer 'np' (n + p + 1) forskellige tilstande.
  • Hvor (n + p) repræsenterer placeringen af ​​en fejl i hver bitposition
  • 1 (ekstra tilstand) repræsenterer ingen fejl.
  • Da 'p' angiver 2 ^ p (2p) -tilstande, som er lig med (n + p + 1) -tilstande.

Trin 2: Placer de overflødige bits i den nøjagtige / korrekte position

'p' bits indsættes i bitpositionerne, der er effekten af ​​2 som 1, 2, 4, 8, 16 osv. Disse bitpositioner er angivet som p1 (position 1), p2 (position 2), p3 (position 4) osv.

Trin 3: Beregn værdierne for overflødige bits

  • Her bruges paritetsbit til at beregne værdierne for overflødige bits.
  • Paritetsbits kan gøre antallet af 1'er i en besked til lige eller ulige.
  • Hvis det samlede antal af 1'er i en meddelelse er jævnt, bruges lige paritet
  • Hvis det samlede antal af 1'er i en meddelelse er ulige, bruges ulige paritet.

Process med dekryptering af en besked i Hamming-kode

Processen med at dekryptere en besked modtaget fra afsenderen af ​​modtageren ved hjælp af hammingkoden inkluderer følgende trin. Denne proces er kun genberegning for at opdage og rette fejlene i en meddelelse.

Trin 1: Tæl antallet af overflødige bits

Formlen til at kode meddelelsen ved hjælp af overflødige bits er,

2p≥ n + p + 1

Trin 2: korriger placeringen af ​​alle overflødige bits

'P' nr. Af overflødige bits placeres i en bit kraftpositioner på 2 som 1,2,4,8,16,32 osv.

Trin 3: paritetskontrol (ulige paritet og lige paritet)

Paritetsbits beregnes ud fra antallet af 1'er i databits og redundante bits.

For eksempel

Paritet af p1 ville være 1, 3, 5, 7, 9, 11, ...

Paritet af p2 ville være 2, 3, 6, 7, 10, 11, ...

Paritet af p3 ville være 4-7, 12-15, 20-23, ...

Fordele ved Hamming Code

Den største fordel ved at bruge en hamming-kode er omkostningseffektiv, hvis en datastrøm indeholder single-bit-fejl.

  • Det kan give fejlregistrering og angiver også den bit, der indeholder en fejl til korrektion.
  • Hamming-koder er meget nemme og bedst at bruge i computerhukommelse og rettelse og detektion af single-bit fejl.

Ulemper ved Hamming Code

  • Det er kun bedst til korrektion og detektion af enkeltbitfejl. Hvis der opstår flere bits fejl, kan det hele blive ødelagt.
  • Hamming-kodealgoritmen kan kun løse enkeltbitfejl.

Anvendelser af Hamming-koder

Hamming koder bruges i,

  • Computing
  • Telekommunikation
  • Datakomprimering
  • Løsning af gåder og turbokoder
  • Satellitter
  • Plasma CAM
  • Afskærmede ledninger
  • Modemer
  • Computerhukommelse
  • Åbn stik
  • Indlejrede systemer og processor

Ofte stillede spørgsmål

1). Kan Hamming-koden registrere 2-bit fejl?

Hamming-koder kan registrere og rette op til 2-bit fejl i en datastrøm

2). Hvordan løser du Hamming-koden?

Hamming-koder placeres i en hvilken som helst datalængde mellem de faktiske data og redundante bits. Disse koder er steder med en minimumafstand på 3 bit

3). Hvad er paritetskoden?

Paritetskode eller paritetsbit tilføjer en smule til den modtagne ramme (data indeholder 1'er og 0'er) for at gøre det samlede antal bit (1'er) lige eller ulige.

4). Hvad er Hamming-afstanden mellem dataene?

Hammingsafstanden mellem de to forskellige datastrømme af samme længde er nr. 1.

Hammingsafstanden mellem to datastrenge af samme længde kan beregnes ved hjælp af XOR-operationen.

For eksempel er a = 11011001

b = 10011101

Hammingafstand kan beregnes som,

11011001 ⊕ 10011101 = 01000100 (antal 1-bits er 2)

Hammingsafstanden angiver antallet af 1'er i den resulterende datastrøm

Så, d (11011001, 10011101) = 2

Tilsvarende er 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Er Hamming-kode cyklisk?

Ja, hammingkoder svarer til cykliske koder, der kan bruges som fejlregistreringskoder.

Således handler alt om fejlkorrektion og detektion, typer af fejldetektion, hamming-koder processen med at kryptere og dekryptere meddelelsen ved hjælp af hammingkoder, anvendelser af hammingkoder, fordele og ulemper ved Hamming-koder. Her er et spørgsmål til dig, 'Hvad er anvendelsen af ​​fejldetektering og -korrektion?'