Vad är kanalkodning?

Kanalkodning är en teknik som används i digital kommunikation för att säkerställa att en överföring tas emot med minimala eller inga fel. De olika kodningsmetoderna som kan användas uppnås genom att sammanväva ytterligare binära siffror i överföringen. När den avkodas på den mottagande sidan kan överföringen kontrolleras för fel som kan ha uppstått och i många fall repareras. Andra gånger ber mottagaren helt enkelt om överföringen igen.

Idén bakom kanalkodning utvecklades på grund av den oundvikliga förekomsten av fel på en given typ av kommunikationskanal. Radiovågor, elektriska signaler och till och med ljusvågor över fiberoptiska kanaler kommer att ha en viss mängd brus på mediet, såväl som försämring av signalen som uppstår över ett visst avstånd. Eftersom det är ett så vanligt problem inom kommunikation, har många teorier för hur man hanterar det utvecklats under grenar av tillämpad matematik som informationsteori och kodningsteori.

En vanlig metod kallas automatisk upprepad begäran (ARQ), som helt enkelt innebär att mottagaren kontrollerar överföringen för fel och ber om återsändning om något skulle inträffa. Detta kallas ibland för bakåtriktad felkorrigering. Kanalkodning, å andra sidan, är en teknik för framåtfelkorrigering (FEC). Avsändaren förbereder bitarna för överföring med hjälp av en speciell algoritm som kallas en felkorrigerande kod, som sedan avkodas på den mottagande sidan. Båda metoderna används också ofta på ett hybridsätt, vilket gör att små fel i överföringen kan repareras med en kanalkod, med större fel som kräver en fullständig återsändning.

Den första kanalkodningstekniken skapades av en matematiker vid namn Richard Hamming, som utvecklade vad som är känt som Hamming-koden. Detta var den första framåtriktade felkorrigeringskoden, som innebär inkludering av ytterligare binära siffror i överföringen som kallas paritetsbitar. En smart beräkning av paritetsbitarna på den mottagande sidan av överföringen kommer att avslöja om några fel har inträffat i överföringen, var de finns i strängen av bitar, och hur man reparerar dem för att återställa den ursprungliga överföringen.

Hamming-koden hör till familjen av kanalkodningsmetoder som kallas blockkoder, av vilka många har utvecklats under åren. Blockkoder involverar vanligtvis att bitarna samlas in i block med fasta längder, som sedan benämns kodord. Varje kodord ges de lämpliga kontrollbitarna för avkodning av mottagaren. Blockkodsmetoder tenderar att öka storleken på överföringen på grund av de tillagda bitarna i kodordet, vilket kan ha en effekt på kanalens bandbredd.

En annan kanalkodningsmetod är känd som en faltningskod. Dessa metoder är mycket snabbare och kan koda en bitström av valfri längd. En vanlig kod av denna typ kallas Viterbi-koden, skapad av den italienske matematikern Andrew Viterbi. Nackdelen med denna metod är att när längden på faltningskoden ökar, ökar dess komplexitet vid avkodning. I många fall används faltningskoder i kombination med blockkoder i vad som kallas sammanlänkade felkorrigeringskoder.