Technische encyclopedie

Winkler Prins (1975)

Gepubliceerd op 10-01-2025

DIGITALE CODERING

betekenis & definitie

(Fr.: codage numérique; Du.: digitale Codierung; Eng.: digital coding), de omzetting van een reeks symbolen met symboolwaarden of letters van één alfabet in die van een ander (tevens zie Code). In de transmissietechniek worden twee soorten codering onderscheiden: broncodering en kanaalcodering.

Broncodering heeft ten doel de door de bron geleverde code om te zetten in een meestal binaire code met een maximale informatie-inhoud per symbool; volgens de informatietheorie is dit het geval als de code-elementen een gelijke kans van voorkomen hebben. Dit wordt bereikt door veel voorkomende broncodesymbolen met een korte en minder vaak voorkomende met langere binaire codes te coderen.

Uit de informatietheorie volgen voor de broncodering de volgende formules:

H(x) = −∑ni=1 p(xi)lg2p(xi) (1)

η = (H(x))/L (2)

R = (1 − η) (3)

waarin H(x) de gemiddelde hoeveelheid informatie per symbool in bits is, xi het i-de symbool van het alfabet, p(xi) de kans op voorkomen daarvan, lg2 de logaritme met grondtal 2, n de grootte van het alfabet, η de efficiëntie, L de codewoordlengte in bits per symbool en R de redundantie in procenten. Stel nu dat een bron vier verschillende symbolen (A, B, C, D) kan afgeven met een kans op voorkomen van resp. 0,6, 0,2, 0,1, 0,1. Volgens (1) is H(x) = 1,57 bit per symbool. Een eerste ontwerp van een broncoder codeert volgens:

A → 00, B → 01, C → 10, D → 11

Dit betekent:

L = 2, η = 0,785, R = 21,5%

p(0) = 0,75, p(1) = 0,25

Een intuïtieve andere codering levert:

A → 0, B →10, C → 110, D → 1110

Nu is:

L = 1,7, η = 0,922, R = 7,8%,

p(0) = 0,59, p(1) = 0,41

Volgens de meer systematische methode van Hufman vindt men:

A → 0, B → 10, C → 110, D → 111

In dit geval:

L = 1,6, η = 0,98, R = 2%,

p(0) = 0,56, p(1) = 0,44

Hieruit blijkt dat door geschikte codeermethoden L kleiner wordt, η toeneemt en p(0) en p(1) dichterbij 0,5 komen, dus 1 en 0 een gelijke kans van voorkomen steeds dichter benaderen.

Kanaalcodering wordt gebruikt om bij het overdragen van de door de broncodering verkregen code via een transmissiemedium een goede aanpassing te krijgen aan de eigenschappen van dat medium. In het algemeen wordt deze verkregen door het toevoegen van redundantie. Kanaalcodering kan bijv. worden gebruikt om het signaal in het kanaal een bepaalde frequentie-inhoud te geven, waardoor de gelijkstroomcomponent ontbreekt en andere frequenties juist geaccentueerd worden, en om aan de ontvangstzijde te kunnen constateren of tijdens de transmissie een fout is opgetreden die eventueel te herstellen is. Er zijn twee klassen kanaalcodes.

Een blokcode transformeert (eventueel toestandsafhankelijk) blokken van n symbolen uit een alfabet in blokken van m symbolen.

De pariteitscode is een foutherkennende code, die de door een bron of broncoder afgegeven binaire symbolenreeks indeelt in blokken van een vaste lengte. Aan elk codeblok wordt een pariteitssymbool toegevoegd in de vorm van een 0 of een 1, zodanig dat bijv. het aantal enen in het gehele blok even is. Wordt bij de ontvangst geconstateerd dat het aantal enen oneven is, dan kan om heruitzending worden gevraagd.

De AMI-code (van alternate mark inversion) is een kanaalcode waarmee men de, in de broncode of in de code van de broncoder aanwezige gelijkstroom en frequentiecomponenten in de buurt van 0 Hz kan elimineren, vooral van belang bij transmissiesystemen die door de aanwezigheid van transformatoren en koppelcondensatoren niet in staat zijn deze frequentiecomponenten over te dragen. Deze code zet de binaire symbolen zodanig om in bipolaire symbolen uit de verzameling −1, 0, +1, dat de binaire enen afwisselend omgezet worden in een +1 en een −1 (afb. 2).

Foutherstellende blokcodes kunnen worden gebruikt wanneer sporadisch fouten optreden tijdens de informatieoverdracht; tegen bursts van fouten kan men daarmee weinig uitrichten.

Is bij digitale communicatie de kans op kanaalfouten groot, dan kan men gebruik maken van convolutiecodes, die een goede foutencorrectie hebben. Dit is vooral van belang bij de zeer lange verbindingen in de ruimtevaart.

Deze codes ontlenen hun naam aan hun lineariteit, d.w.z. dat de codering van de som van twee informatiestromen gelijk is aan die van de coderingen ervan. Afb. 3 toont een eenvoudige convolutiecoder. S1, S2 en S3 vormen een drietrapsschuifregister. De uitgangen van de twee modulo 2-optellers worden beurtelings met de coderuitgang verbonden.

De hier beschreven code is een van de eenvoudigste convolutiecodes; ingewikkelder codes kunnen worden verkregen met langere schuifregisters en door het gebruik van meer modulo 2-optellers.

< >