Wat is blokcodering?
Onderdeel van de codetheorie, blokcodering is een vorm van voorwaartse foutcorrectie (FEC), ook bekend als een kanaalcode, die berichten omzet in specifieke codes en de informatie als een gegevens blok met een vooraf bepaalde lengte verzendt. Grotere gegevensblokken maken het voor de ontvangende computer gemakkelijker om de informatie te decoderen en fouten te corrigeren die tijdens de overdracht plaatsvinden. Blokcodes en convolutionele codes zijn twee codetypen die vaak worden gebruikt in FEC. Met deze soorten code kunnen een bericht worden verzonden via een onbetrouwbare verbinding en nog steeds ontcijferen wanneer het aankomt.
Het gebruik van blokcodering is noodzakelijk vanwege ruis dat optreedt wanneer een bericht wordt verzonden. Wanneer gegevens op een lange afstand of over een onbetrouwbare verbinding moeten reizen, worden het hammetgewicht en de afstand gebruikt om de kans op fouten te bepalen. Hamming -gewicht is het aantal cijfers dat nodig is om alle mogelijke codecombinaties uit te drukken, en de hamming -afstand is hoeveel fouten zouden moeten plaatsvinden voordat een beetje een legi vertegenwoordigdeTimate, maar verkeerd, stukje informatie.
Als een afzender bijvoorbeeld gebruikte blokcodering een bericht wilde verzenden dat slechts drie mogelijke codes kon gebruiken die elk drie cijfers lang waren, zou het hammetgewicht drie zijn. De codes kunnen 000, 010 en 011 zijn. Als een fout resulteerde in het veranderen van een cijfer, zoals 000 die naar 010 wijzigt, zou de code lezen als een legitieme code (010) maar niet de code die de afzender bedoelde (000). De hamming -afstand voor deze code is dus één omdat slechts één cijfer moet veranderen om een fout te veroorzaken die de computer niet kan oplossen.
Om de hamming -afstand te verlagen en fouten te verminderen, worden gegevens verzonden als een blok code die is gecodeerd in specifieke codewoorden van een bepaalde lengte. De originele berichtgegevens worden K -bits genoemd. De K -bits worden vertaald in overeenkomstige N -bits, die codes zijn die zijn geselecteerd om in te staan als langere codes voor elk K -bit.Die of nullen worden toegevoegd om de bits een uniforme lengte te maken en de hamming -afstand te verminderen. Vervolgens worden deze blokken n bits verzonden naar de ontvangende computer.
Het is het eenvoudigst na te denken over blokcodering bij het vergelijken met twee mensen die een gesprek hebben. Wanneer je in een lawaaierige kamer praat of over een lange afstand schreeuwt, is er meer ruimte voor fouten in wat de ontvangende persoon hoort. Als de zin lang is, kan de persoon meer fouten corrigeren door de hele zin in context te nemen, maar korte zinnen hebben een hoger foutenpercentage omdat het moeilijker is om te ontcijferen wat de persoon zegt.
Als een voorbeeld, als de ene persoon roept, "Red Cat" en de andere persoon hoort, "Fed Cat", onderbreken ze de zin verkeerd. Als de eerste persoon echter zei: "Ik heb een rood gekleurde kat" en de tweede persoon hoorde: "Ik heb een gevoed gekleurde kat," de context van de zin maakt het gemakkelijk om de persoon te bepalen die daadwerkelijk "rood" zei en niet "gevoed". Dit is het basisprincipe achter blokK codering en het gebruik van langere, uniforme codes om computers te helpen een blok informatie nauwkeurig te vertalen.