Hamming-code: voorbeelden van foutcorrectie

Inhoudsopgave:

Anonim

Wat is een fout?

Verzonden gegevens kunnen tijdens communicatie beschadigd raken. Het wordt waarschijnlijk beïnvloed door externe ruis of andere fysieke storingen. In een dergelijke situatie kunnen de invoergegevens niet hetzelfde zijn als de uitvoergegevens. Deze discrepantie staat bekend als "Fout".

De gegevensfouten kunnen resulteren in het verlies van belangrijke of beveiligde gegevens. De meeste gegevensoverdracht in digitale systemen zal plaatsvinden in de vorm van 'bitoverdracht'. Zelfs een kleine verandering kan de prestaties van het hele systeem beïnvloeden. Als in een gegevensreeks 1 wordt gewijzigd in 0 of 0 wordt gewijzigd in 1, wordt dit "Bitfout" genoemd.

In deze zelfstudie over Hamming-code leert u:

  • Wat is een fout?
  • Soorten fouten
  • Wat is foutdetectie en -correctie?
  • Wat is een Hamming-code?
  • Geschiedenis van Hamming-code
  • Toepassing van Hemming-code:
  • Voordelen van Hamming-code
  • Nadelen van Hamming-code
  • Proces voor het coderen van een bericht met behulp van Hamming-code
  • Proces voor het decoderen van een bericht in Hamming-code

Soorten fouten

Er zijn hoofdzakelijk drie soorten bitfouten die optreden bij de gegevensoverdracht van de zender naar de ontvanger.

  • Enkele bit-fouten
  • Meerdere bitfouten
  • Burst-fouten

Enkele bit-fouten

De wijziging die in één bit in de volledige gegevensreeks wordt aangebracht, staat bekend als "enkele bitfout". Het optreden van een enkele bitfout is echter niet zo gebruikelijk. Bovendien treedt deze fout alleen op in een parallel communicatiesysteem, omdat gegevens bitsgewijs op één regel worden overgedragen. Daarom is er meer kans dat een enkele lijn ruis kan bevatten.

Meerdere bitfouten

Als er in de gegevensreeks een wijziging is in twee of meer bits van een gegevensreeks van een zender naar een ontvanger, staat dit bekend als "meervoudige bitfouten".

Dit type fout treedt meestal op in zowel seriële als parallelle datacommunicatienetwerken.

Burst-fouten

De verandering van de set bits in de gegevensreeks staat bekend als "Burst-fout". Dit type datafout wordt berekend vanaf de eerste bitwijziging tot de laatste bitwijziging.

Wat is foutdetectie en -correctie?

Bij digitale communicatie worden systeemfouten overgedragen van het ene communicatiesysteem naar het andere. Als deze fouten niet worden gedetecteerd en gecorrigeerd, gaan de gegevens verloren. Voor effectieve communicatie moeten systeemgegevens met hoge nauwkeurigheid worden overgedragen. Dit wordt gedaan door eerst de fouten te identificeren en deze te corrigeren.

Foutdetectie is een methode voor het detecteren van de fouten die aanwezig zijn in de gegevens die worden verzonden van een zender naar een ontvanger in een datacommunicatiesysteem.

Hier kunt u redundantiecodes gebruiken om deze fouten op te sporen door aan de gegevens toe te voegen wanneer deze vanaf de bron worden verzonden. Deze codes worden "Foutopsporingscodes" genoemd.

Er zijn drie soorten foutdetectiecodes:

  • Pariteitscontrole
  • Cyclische redundantiecontrole (CRC)
  • Longitudinale redundantiecontrole (LRC)

Pariteitscontrole:

  • Het wordt ook wel een pariteitscontrole genoemd.
  • Het heeft een kosteneffectief mechanisme voor foutdetectie.
  • Bij deze techniek staat de overtollige bit bekend als een pariteitsbit. Het is bijgevoegd voor elke data-eenheid. Het totale aantal enen in de eenheid moet even worden, wat bekend staat als een pariteitsbit.

Longitudinale redundantiecontrole

Bij deze foutdetectietechniek wordt een blok bits georganiseerd in tabelformaat. De LRC-methode helpt u bij het berekenen van de pariteitsbit voor elke kolom. De set van deze pariteit wordt ook meegestuurd met de originele gegevens. Het pariteitsblok helpt u bij het controleren van de redundantie.

Cyclische redundantiecontrole

Cyclische redundantiecontrole is een reeks redundantie die aan het uiteinde van de eenheid moet worden toegevoegd. Daarom moet de resulterende data-eenheid deelbaar worden door een tweede, vooraf bepaald binair getal.

Op de bestemming moeten de inkomende gegevens worden gedeeld door hetzelfde nummer. Als er geen rest is, wordt aangenomen dat de gegevenseenheid correct is en wordt deze geaccepteerd. Anders geeft het aan dat de gegevenseenheid beschadigd is tijdens de verzending en daarom moet worden geweigerd.

Wat is een Hamming-code?

Hamming-code is een liner-code die nuttig is voor foutdetectie tot twee onmiddellijke bitfouten. Het is in staat tot enkelbitsfouten.

In Hamming-code codeert de bron het bericht door redundante bits aan het bericht toe te voegen. Deze overtollige bits worden meestal ingevoegd en gegenereerd op bepaalde posities in het bericht om een ​​foutdetectie- en correctieproces te bewerkstelligen.

Geschiedenis van Hamming-code

  • Hamming-code is een techniek die door RWHamming is ontwikkeld om fouten op te sporen.
  • Hamming-code moet worden toegepast op gegevenseenheden van elke lengte en gebruikt de relatie tussen gegevens en redundantiebits.
  • Hij werkte aan het probleem van de foutcorrectiemethode en ontwikkelde een steeds krachtigere reeks algoritmen genaamd Hamming-code.
  • In 1950 publiceerde hij de Hamming-code, die tegenwoordig op grote schaal wordt gebruikt in toepassingen zoals ECC-geheugen.

Toepassing van Hamming-code

Hier zijn enkele algemene toepassingen van het gebruik van Hemming-code:

  • Satellieten
  • Computer geheugen
  • Modems
  • PlasmaCAM
  • Open connectoren
  • Afschermingsdraad
  • Ingebouwde processor

Voordelen van Hamming-code

  • Hamming-codemethode is effectief op netwerken waar de datastromen worden gegeven voor de enkelbitsfouten.
  • Hamming-code zorgt niet alleen voor de detectie van een bitfout, maar helpt u ook om een ​​bit met een fout te laten inspringen, zodat deze kan worden gecorrigeerd.
  • Het gebruiksgemak van hamming-codes maakt ze het beste geschikt voor gebruik in computergeheugen en correctie van enkele fouten.

Nadelen van Hamming-code

  • Single-bit foutdetectie en correctiecode. Als er echter meerdere bits zijn gegrondvest, kan de uitkomst resulteren in een andere bit die correct moet zijn om te worden gewijzigd. Dit kan ertoe leiden dat de gegevens verder worden vergist.
  • Hamming-code-algoritme kan alleen problemen met enkele bits oplossen.

Proces voor het coderen van een bericht met behulp van Hamming-code

Het proces dat door de afzender wordt gebruikt om het bericht te coderen, omvat de volgende drie stappen:

  • Berekening van het totale aantal overtollige bits.
  • Controle van de positie van de overtollige bits.
  • Ten slotte het berekenen van de waarden van deze overtollige bits.

Wanneer de bovenstaande overtollige bits in het bericht zijn ingebed, wordt deze naar de gebruiker verzonden.

Stap 1) Berekening van het totale aantal overtollige bits.

Laten we aannemen dat het bericht bevat:

  • n - aantal databits
  • p - aantal redundante bits die eraan worden toegevoegd zodat np ten minste (n + p + 1) verschillende toestanden kan aangeven.

Hier geeft (n + p) de locatie weer van een fout in elk van de (n + p) bitposities en een extra toestand geeft geen fout aan. Omdat p bits 2 p toestanden kunnen aangeven , moet 2 p tenminste gelijk zijn aan (n + p + 1).

Stap 2) Het plaatsen van de overtollige bits op hun juiste positie.

De p redundante bits moeten op bitposities met machten van 2 worden geplaatst. Bijvoorbeeld 1, 2, 4, 8, 16, enz. Ze worden aangeduid als p 1 (op positie 1), p 2 (op positie 2) , p 3 (op positie 4), etc.

Stap 3) Berekening van de waarden van de overtollige bit.

De overtollige bits moeten pariteitsbits zijn, waardoor het aantal 1s even of oneven is.

De twee soorten pariteit zijn -

  • Het totale aantal bits in het bericht dat wordt gemaakt, wordt even pariteit genoemd.
  • Het totale aantal bits in het bericht dat oneven is gemaakt, wordt oneven pariteit genoemd.

Hier moet alle overtollige bit, p1, worden berekend als de pariteit. Het moet alle bitposities beslaan waarvan de binaire weergave een 1 op de eerste positie moet bevatten, met uitzondering van de positie van p1.

P1 is de pariteitsbit voor alle databits op posities waarvan de binaire weergave een 1 bevat in de minder belangrijke positie, exclusief 1 Like (3, 5, 7, 9,

​ ​

P2 is de pariteitsbit voor alle databits op posities waarvan de binaire weergave 1 in de positie 2 van rechts omvat, exclusief 2 Like (3, 6, 7, 10, 11,

P3 is de pariteitsbit voor elk bit op posities waarvan de binaire weergave een 1 bevat in de positie 3 van rechts, exclusief 4 Like (5-7, 12-15,

Proces voor het decoderen van een bericht in Hamming-code

De ontvanger ontvangt inkomende berichten die herberekeningen moeten uitvoeren om fouten op te sporen en te corrigeren.

Het herberekeningsproces gebeurt in de volgende stappen:

  • Het aantal overtollige bits tellen.
  • Correcte positionering van alle overtollige bits.
  • Pariteitscontrole

Stap 1) Tellen van het aantal overtollige bits

U kunt dezelfde formule gebruiken voor het coderen, het aantal overtollige bits

2 p ≥ n + p + 1

Hier is het aantal databits en p is het aantal overtollige bits.

Stap 2) Correct positioneren van alle overtollige bits

Hier is p een overtollige bit die zich op bitposities met machten van 2 bevindt, bijvoorbeeld 1, 2, 4, 8, enz.

Stap 3) Pariteitscontrole

Pariteitsbits moeten worden berekend op basis van databits en de redundante bits.

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

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

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

Overzicht

  • Verzonden gegevens kunnen tijdens communicatie beschadigd raken
  • Drie soorten Bit-fouten zijn 1) Enkele Bit-fouten 2) Meerdere Bit-fouten 3) Burst Bit-fouten
  • De wijziging die in één bit in de gehele gegevensreeks wordt aangebracht, staat bekend als "Enkele bitfout".
  • Als er in de gegevensreeks een wijziging is in twee of meer bits van een gegevensreeks van een zender naar een ontvanger, staat dit bekend als "meervoudige bitfouten".
  • De verandering van de set bits in de gegevensreeks staat bekend als "Burst-fout".
  • Foutdetectie is een methode voor het detecteren van de fouten die aanwezig zijn in de gegevens die worden verzonden van een zender naar een ontvanger in een datacommunicatiesysteem
  • Er zijn drie soorten foutdetectiecodes: 1) Pariteitscontrole 2) Cyclische redundantiecontrole (CRC) 3) Longitudinale redundantiecontrole (LRC)
  • Hamming-code is een liner-code die nuttig is voor foutdetectie tot twee onmiddellijke bitfouten. Het is in staat tot enkelbitsfouten.
  • Hamming-code is een techniek die door RWHamming is ontwikkeld om fouten op te sporen.
  • Veelvoorkomende toepassingen van het gebruik van Hemming-code zijn het computergeheugen van satellieten, modems, ingebouwde processor, enz.
  • Het grootste voordeel van de hamming-codemethode is effectief op netwerken waar de datastromen worden gegeven voor de enkelbitsfouten.
  • Het grootste nadeel van de hamming-codemethode is dat deze alleen problemen met enkele bits kan oplossen.
  • We kunnen het proces van het coderen en decoderen van het bericht uitvoeren met behulp van hamming-code.