Hva Er Channel Coding?

Uttrykket "kanalkoding" beskriver en av flere teknikker for å kontrollere feil i kommunikasjonssystemer. Hvis et kommunikasjonssystem utganger data med for mange feil, tillater kanalkoding redusert feilrate for en fast hastighet på dataoverføring eller økt hastighet på dataoverføring for en fast feilrate.

Objektiv

Det generelle målet med kanalkodingen er å sende så mye data som mulig i så lite overføringskapasitet, eller båndbredde, av et kommunikasjonssystem som mulig, samtidig som det opprettholdes akseptabel overføringskvalitet. I digital kommunikasjon, blir overføringskvaliteten bestemmes av bitfeilraten - prosentandelen av biter som har feil, i forhold til det totale antallet biter mottas - ved mottageren. Mottakeren oppdager om hvert element i en sending, kjent som et kodeord, inneholder feil og helst korrigerer disse feilene.

ARQ versus FEC

De to viktigste metodene for feilkontroll er Automatic Repeat Request (ARQ) og Forward Error Correction (FEC). I ARQ, når en mottagerkrets detekterer feil i en datablokk, krever det at dataene sendes på nytt, mens det i FEC, dataene er kodet, slik at mottakeren kan korrigere samt oppdage feil. Nøkkelen Ideen om FEC er å overføre nok duplikat eller redundante data for å tillate mottakeren å gjenopprette fra feil på egen hånd. ARQ er relativt rimelig å iverksette, og er ofte foretrukket for samtidig, uavhengig overføring av data i begge retninger over en to-veis kanal, kjent som full dupleks kommunikasjon. FEC, på den annen side, blir brukt for halv-dupleks (enveis) kommunikasjon.

Block Codes

De to hovedtyper av kanal-koden er kjent som "blokk-koder" og "foldingskoder." For å lage en blokk-kode, blir data deles opp i blokker som har lengde, i biter, er representert ved bokstaven "k", og et antall paritetsbiter eller sjekk, representert ved en bokstav "r", ble tilsatt til hver blokk. Sluttresultatet er et kodeord med en samlet lengde på "n" bits, hvor n = k + r. Block koder vanligvis innebærer en avveining mellom effektivitet, pålitelighet og kompleksiteten av koding og dekoding av data.

foldingskoder

Opprettelsen av en konvolusjonell kode innebærer koder for en strøm av data i stedet for blokker av data. Den sekvens av biter i en konvolusjonell kode avhenger ikke bare av de aktuelle databiter, men også på tidligere biter av data. Foldingskoder er vanligvis dekodet ved hjelp av et sett av regler, kalt Viterbi-algoritmen, og er spesielt godt egnet til kommunikasjonskanaler ødelagt av støy som svarer til en matematisk modell som kalles additiv hvit gaussisk støy (AWGN).