122
alidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder Institut for Matematiske Fag 27/5 - 2005 Aalborg Universitet U k =(U 1 ,...,U k ) X n (U k ) ,, X n =(X 1 ,...,X n ) vvl l l l l l l l l l l l l l kanal med støj vvl l l l l l l l l l l l l Y n =(Y 1 ,...,Y n ) f n (Y n ) 22 ˆ U k =( b U 1 ,..., b U k ) Gruppe G3-112

Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Embed Size (px)

DESCRIPTION

Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder. Matematikprojekt, Aalborg Universitet

Citation preview

Page 1: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Palidelig kommunikation over støjfyldte kanalerved hjælp af lange fejlkorrigerende koder

Institut for Matematiske Fag 27/5 - 2005Aalborg Universitet

Uk = (U1, . . . , Uk)Xn(Uk) ,,

Xn = (X1, . . . ,Xn)

vvllllllllllllll

kanal med støj

vvlllllllllllll

Y n = (Y1, . . . , Yn)fn(Y n) 22

Uk = (U1, . . . , Uk)

Gruppe G3-112

Page 2: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder
Page 3: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

AALBORG UNIVERSITET

INSTITUT FOR MATEMATISKE FAG

TITEL:

Palidelig kommunikation overstøjfyldte kanaler ved hjælp aflange fejlkorrigerende koder

PROJEKT PERIODE:

Fra 2. februar

til 27. maj 2005

SEMESTER:

MAT2, Gruppe G3-112

PROJEKTGRUPPE:

Ann-Eva Christensen

Line Juhl

Kenneth Buchwald Johansen

Rasmus Hedegaard Kristiansen

Mathias Andersen

VEJLEDER:

Christian Thommesen

OPLAGSTAL: 9

ANTAL SIDER: 114

SYNOPSIS:

I denne rapport vil vi give eksempler pakoder, og omtale hvor gode disse koderer til at rette fejl. Disse koder er line-ære koder, Reed-Solomon-koder, cykli-ske koder og slutteligt Justesen-koder.Vi vil gennem den sakaldte Gilbert-Varshamov-grænse give en metode til atafgøre, hvor god en kode er givet nogleaf dens egenskaber.Vi behandler entropibegrebet dyb-degaende, og indfører endvidere de ty-piske sekvenser. Vi beskæftiger os des-uden med bade kilde- og kanalkodning,og særligt behandler vi kanalkodnings-sætningen og dens modsatte. Kilde- ogkanalkodningen sammenføjes og giveranledning til den kombinerede kilde-kanalkodningssætning, som gør brug afde typiske sekvenser.

c© Gruppe G3-112, MAT2

Page 4: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Forord

Nærværende rapport er blevet til under MAT2-perioden pa Aalborg Uni-versitet. Perioden har strakt sig fra 2. februar til 27. maj. Vi vil gerne takkevores vejleder Christian Thommesen for hans uudtømmelige engagement oghjælp under projektarbejdet. De primære kilder, som vi har benyttet os afved tilblivelsen af denne rapport er [Rom92] og [Tom04]. Nar vi undlader enreference, er det en af disse bøger, vi har brugt.

Aalborg den 27/5 2005

Mathias Andersen Ann Eva Christensen

Line Juhl Kenneth Buchwald Johansen

Rasmus Hedegaard Kristiansen

IV

Page 5: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Indhold

Figurer VII

1 Indledende kodningsteori 1

1.1 Linære blokkoder . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Entropi 7

2.1 Entropifunktionen . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Egenskaber ved entropien . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Vurderinger af binomialkoefficienten . . . . . . . . . . 16

2.3 Typiske sekvenser . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Kildekodning 27

3.1 Krafts ulighed . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 McMillans sætning . . . . . . . . . . . . . . . . . . . . 31

3.2 Huffman-kodning . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.3 Kildekodningssætningen . . . . . . . . . . . . . . . . . . . . . 42

4 Kanalkodning 47

4.1 Kanaler og fejlsandsynligheder . . . . . . . . . . . . . . . . . 47

4.2 Kanalkapacitet . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Kanalkodningssætningen . . . . . . . . . . . . . . . . . . . . . 53

4.3.1 Indledende betragtninger . . . . . . . . . . . . . . . . 53

4.3.2 Sætningens bevis . . . . . . . . . . . . . . . . . . . . . 55

V

Page 6: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.4 Den svage modsatte . . . . . . . . . . . . . . . . . . . . . . . 62

4.5 Den stærke modsatte . . . . . . . . . . . . . . . . . . . . . . . 71

4.6 Den kombinerede kilde-kanalkodningssætning . . . . . . . . . 78

5 Koder 83

5.1 Vægtfordelingspolynomier . . . . . . . . . . . . . . . . . . . . 83

5.2 Gilbert-Varshamov-grænsen . . . . . . . . . . . . . . . . . . . 88

5.3 Cykliske koder . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.3.1 BCH-grænsen . . . . . . . . . . . . . . . . . . . . . . . 97

5.4 Reed-Solomon-koder . . . . . . . . . . . . . . . . . . . . . . . 98

5.4.1 Indkodning og dekodning . . . . . . . . . . . . . . . . 100

5.4.2 Cykliske Reed-Solomon koder . . . . . . . . . . . . . . 102

Binære RS-koder . . . . . . . . . . . . . . . . . . . . . 104

5.5 Konkatenerede koder . . . . . . . . . . . . . . . . . . . . . . . 105

5.5.1 Justesen-koder . . . . . . . . . . . . . . . . . . . . . . 106

6 Afslutning 113

Litteratur 114

Page 7: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Figurer

1.1 Indkodning og dekodning . . . . . . . . . . . . . . . . . . . . 1

2.1 log(x) og x− 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Huffmanindkodning, skridt 1 . . . . . . . . . . . . . . . . . . 35

3.2 Huffmanindkodning, skridt 2 . . . . . . . . . . . . . . . . . . 35

4.1 Den binære symmetriske kanal . . . . . . . . . . . . . . . . . 48

4.2 Kapaciteten af den q-ære symmetriske kanal som funktion affejlsandsynligheden, for tre forskellige værdier af q . . . . . . 54

4.3 Kodning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.1 Binær entropifunktion . . . . . . . . . . . . . . . . . . . . . . 89

5.2 Konkateneret kode . . . . . . . . . . . . . . . . . . . . . . . . 106

5.3 Nedre grænser for den relative minimumafstand af kodernelovet af Gilbert-Varshamov-grænsen, Justesen-koderne og ko-derne lovet i kanalkodningssætningen. Her er £= d

n . . . . . . 111

VII

Page 8: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder
Page 9: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 1

Indledende kodningsteori

Informations- og kodningsteorien har vide anvendelser, og udgør en vigtigdel af vores hverdag. Om vi skal telegrafere, telefonere eller pa anden madekommunikere med hinanden over en elektronisk kanal, sa er det en klarfordel, at der ikke sker fejl under overførslen af vores beskeder, sa vi kantyde hinandens budskaber. Desværre findes ingen kanaler, hvori der ikkesker fejl nu og da. I stedet for at sætte sig tilbage og se pa, at disse fejlopstar, sa kan man gøre to ting. Man kan forsøge at gøre kanalen bedre endden er, sa der kommer mest muligt af afsenderens budskab gennem kanalentil modtageren. Ellers kan man se om man kan rette de fejl, som afsenderensbudskab undergik før det kom til modtageren.

I den datalogiske verden kunne man forestille sig, at afsenderen vil sendeen eller anden besked. Denne besked omsættes til en binær streng, sendesgennem kanalen og modtages sa af hvem der nu befinder sig i den andenende af kanalen, hvorefter den igen omsættes til en, for et menneske, læsbarbesked, se figur 1.1.

Nar afsenderens binære streng er kommet igennem kanalen, er der somnævnt muligvis sket fejl. Modtageren har intet kendskab til afsenderens op-rindelige besked. Hvis afsenderen sender den binære streng 10001, sa modta-ges den maske som 10101. Der er forskellige mader, hvorpa man kan vurdere,

kilde // indkodningkanal med støj

///o/o/o/o/o/o/o/o/o/o/o dekodning // modtager

Figur 1.1: Indkodning og dekodning

at der er sket en fejl. For eksempel kan man sætte afsenderen til at sendesin besked mere end en gang. Hvis 10001 sendes tre gange, sa far modta-geren maske strengene 10101, 10001 og 10100. Det bliver derefter besluttet,

1

Page 10: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2 1.1. LINÆRE BLOKKODER

at den korrekte streng bestar af sammensætningen af de bits, som optræderhovedparten af gangene pa deres respektive pladser.

Der findes bedre mader at gøre dette pa. Kodnings- og informationsteoriensopgave er at undersøge, om man overhovedet kan kommunikere fejlfrit (detkan man), om det er praktisk muligt (det ved man ikke), og hvilke metoderman skal bruge dertil (der findes metoder, som er “gode nok”). Disse metoderkan være bestemte typer af sakaldte koder.

1.1 Linære blokkoder

Vi vil starte med at formalisere begrebet en kode. I det følgende antager vi,at vi skal indkode noget information, som vi kan opfatte som en vektor afen given længde. Efter indkodningen bliver dette til et kodeord.

Definition 1.1. En blokkode C er en mængde bestaende af M kodeord

C = (c1, c2, . . . , cM ), hvor hvert ci = (ci0 , ci1 , . . . , cin−1).

Nar hvert kodeord er en n-tuppel, siges koden at have længde n. Elementernecij tilhører et endeligt kodealfabet. Hvis der i dette alfabet er q symboler,kaldes koden for q-ær. Hvis der kun er to symboler {0, 1}, sa siger vi, atkoden er binær.

En blokkode er altsa en mængde af kodeord, der alle har samme længde, ogsom alle benytter sig af det samme alfabet. Ofte kaldes en blokkode bare enkode.

Definition 1.2. En lineær [n, k] q-ær blokkode C er et k-dimensionalt un-

derrum af vektorrummet Fnq .

Her betegner n længden af kodeordene, og k er længden af informationsvek-torerne. Dette motiverer, at man ofte kalder k for dimensionen af koden. Enikke-lineær kode vil vi betegne med (n, k).

Bemærkning 1.3. Her, og i resten af rapporten, er Fq et legeme bestaende

af elementerne {0, 1, . . . , q − 1}. Betegnelserne Fnq vil vi benytte om en n-

dimensionalt vektorrum over Fq.

Antallet af kodeord er M = qk, hvor q er antallet af elementer i legemet F.

Nar man konstruerer koder, benytter man sig af generatormatricer til atindkode sin informationsvektor til et kodeord. Nedenstaende matrixproduktbegrunder, at de informationsvektorer vi bruger alle har længde k.

Page 11: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

1.1. LINÆRE BLOKKODER 3

Definition 1.4. En generatormatrix G for en [n, k]-kode C, er en k × nmatrix, hvor row(G) = C.

Hvis informationen er en vektor u af længde k, sa kan man kode informa-tionen ved

c = uG. (1.1)

Sa en generatormatrix bestar derfor af k lineært uafhængige rækker, r1, . . . , rk,hvorom der gælder, at ri ∈ C for i = 1, . . . , k. Som det ses fra definitionen,kan der sagtens findes flere forskellige generatormatricer til en kode, oftevælger man blot den mest bekvemme at regne med. Det er klart, at uGaltid er et kodeord, da row(G) = C.

Har vi sendt vores kodeord gennem en kanal med støj, er det ønskværdigt atkunne tjekke, hvorvidt der er sket en fejl under overførslen. Dette motivererdefinitionen af en pararitetstjekmatrix, som kan bruges til at tjekke, om denmodtagne vektor rent faktisk er et kodeord. Vi definerer nu et paritetstjeksom en vektor h af længde n, som opfylder

GhT = 0.

Paritetstjekvektorerne udgør da et underrum af Fnq med dimension n− k.

Definition 1.5. En paritetstjekmatrix H for en [n, k]-kode C er en (n −k)× n matrix, hvis rækker er lineært uafhængige paritetstjek.

Sammenhængen mellem generatormatricen G og paritetstjekmatricen H erda

GHT = 0,

hvor 0 er en k × (n− k) nul-matrix.

Pa samme made som rækkerummet for generatormatricen udgør koden C, savil rækkerummet af paritetstjekmatricen ogsa udgøre en kode. Denne kodehar et navn.

Definition 1.6. Koden C⊥ = {x ∈ Fn | x · c for alle c ∈ C}, som dermed

er udspændt af rækkerummet for paritetstjekmatricen, kaldes for dualkoden

for koden C.

Bemærk, at generatormatricen for dualkoden C⊥ saledes er paritetstjekma-tricen for koden C, og omvendt. Maske ikke overraskende kan man sige nogetom koden C udfra dualkoden C⊥ og omvendt. Tilsvarende kan siges nogetom vægten af kodeord i koden C, hvis man har kendskab til generatorma-tricen for dualkoden.

Page 12: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4 1.1. LINÆRE BLOKKODER

Lemma 1.7. Lad C være en [n, k]-kode med paritetstjekmatrix H. Hvis der

findes j lineært afhængige søjler i H, sa findes et kodeord i C, som har ikke-

nul elementer i nogle af indgangene svarende til søjlerne, som var lineært

afhængige. Omvendt gælder, at hvis C har et ord af vægt j, sa eksisterer j

lineært afhængige søjler i H.

Bevis. Lad v1, . . . ,vj være de lineært afhængige søjler iH, sa findes skalarer

a1, . . . , aj , som ikke alle er nul, som opfylder

a1v1 + · · ·+ ajvj = 0.

Da HcT = 0 for alle c ∈ C, og da C bestar af alle elementer, som opfylder

denne ligning, sa findes et kodeord c ∈ C, som har nuller i alle indgange, som

ikke svarer til numrer pa de lineært afhængige søjler, og som har skalarerne

a1, . . . ,aj i de resterende indgange. Da disse skalarer ikke alle er nul, er det

ønskede vist. Omtrent tilsvarende har vi, at hvis et ord i C har vægt j, sa

har H netop j lineært afhængige søjler.

Hvis vi forestiller os, at vi sender en kodet information over en kanal, h-vorpa der er støj, vil modtageren maske ikke modtage den originale kodedeinformationsvektor. Vi er derfor interesseret i at vide, hvor mange fejl, vikan rette med en specifik kode, og hvordan vi kan regne os frem til det. Tildette er følgende definitioner en god hjælp.

Definition 1.8. Hammingvægten af en vektor x, som betegnes w(x), er lig

antallet af ikke-nul koordinater i vektoren.

Vi kalder i denne rapport ogsa Hammingvægten for vægten, da dette ikkevil skabe misforstaelser.

Definition 1.9. Hammingafstanden mellem to vektorer x og y, som beteg-

nes d(x,y), er antallet af koordinater, hvor vektorerne er forskellige.

Hammingafstanden kalder vi ogsa afstanden i denne rapport. Med detteafstandsmal kan man vise, at Fnq er et metrisk rum.

Vi kan nu definere minimumafstanden, som vil være et vigtigt redskab gen-nem resten af rapporten.

Definition 1.10. Minimumafstanden for en kode er den mindste Hamming-

afstand mellem ethvert par af forskellige kodeord.

Page 13: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

1.1. LINÆRE BLOKKODER 5

Lemma 1.11. For en [n, k]-kode gælder, at minimumafstanden er lig mini-

mumvægten blandt alle ikke-nul kodeord.

Bevis. Af definitionerne har vi, at w(x) = d(0,x) og d(x,y) = w(x − y).

Lad c være et kodeord af minimal vægt. Sa er w(c) = d(0, c), og da 0 er et

kodeord, har vi at dmin ≤ wmin. Hvis vi til gengæld har kodeordene c1 og c2

med minimal afstand mellem hinanden, sa har vi d(c1, c2) = w(c1 − c2), og

da c1 − c2 ogsa er et kodeord, idet koden er lineær, far vi, at wmin ≤ dmin,og sa ma dmin = wmin.

Nu følger umiddelbart fra lemma 1.7, at

Sætning 1.12. Hvis C er en [n, k]-kode med paritetstjekmatrix H, sa er

minimumafstanden for C lig det mindste antal lineært afhængige søjler i H.

Hvis vi forestiller os, at vi modtager en vektor r, sa er denne lig det origi-nale kodeord pahæftet en fejlvektor, altsa r = cj + e. Antallet af fejl i denmodtagede kode er da vægten af e, altsa w(e).

Vi vil nu se pa hvad det vil sige, at en kode kan rette fejl.

Definition 1.13. En kode er t-fejlkorrigerende, hvis vi for to vilkarlige ko-

deord ci 6= cj og fejlvektorer e1 og e2 af vægt mindre end eller lig t har, at

ci + e1 6= cj + e2.

Definitionen betyder, at hvis vi modtager et ord med mere end t fejl, kanvi ikke være sikker pa, at vi far dekodet det rigtigt. Vi har nu følgendesammenhæng mellem minimumafstanden og det antal fejl, der kan rettes.

Sætning 1.14. En [n, k]-kode er t-fejlkorrigerende, hvis og kun hvis t < d2 .

Bevis. Antag, at t < d2 , og at vi har to kodeord ci og cj med tilhørende

fejlvektorer e1 og e2 af vægt ≤ t, sadan at ci + e1 = cj + e2. Sa er ci− cj =

e2 − e1, men w(e2 − e1) = w(ci − cj) ≤ 2t < d. Dette strider imod, at

minimumvægten er d.

Vi viser nu sætningen den anden vej ved kontraponering. Antag, at t ≥ d2

og at c har vægt d. Vi bytter nu d d2e af ikke-nul koordinaterne i c ud med

0’er og kalder resultatet y. Sa er d(0,y) = d− d d2e ≤ d− d2 ≤ 2t− t = t og

d(c,y) = dd2e ≤ 2t2 = dte, da t er et positivt heltal. Men 0 +y = c+ (y− c),

sa koden er ikke t-fejlkorrigerende.

Page 14: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

6 1.1. LINÆRE BLOKKODER

Der findes forskellige mader at dekode pa. Den mest oplagte metode kaldesminimumafstandsdekodning og fungerer sadan, at nar man modtager et ord,sa dekodes det altid, som det kodeord, der ligger nærmest. Denne metodevil vi senere benytte.

Page 15: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 2

Entropi

Indenfor informationsteorien er entropien et grundlæggende begreb, og vivil derfor undersøge denne i dybden.

Definition 2.1. En kilde er et ordnet par S = (S, P ), hvor S = {x1, . . . , xn}er en endelig mængde, kaldet kildealfabetetet, og P er en sandsynlighedsfor-

deling pa S. Vi betegner sandsynligheden for at xi bliver udtrukket blandt

elementerne i S med p(xi) = pi.

Hvis vi vælger et tilfældigt element fra S, vil der være pahæftet en vis usik-kerhed pa udfaldet. Efter udfaldet har vi saledes faet noget information omkilden. Pa den made hænger begreberne usikkerhed og information sammen.Nar alle sandsynlighederne for at trække et element fra S er ens, ma manformode, at der er mest usikkerhed, og samtidig vil man fa mest mulig in-formation ud af et tilfældigt valg. Er sandsynligheden for et af elementernederimod 1, vil vi altid trække dette element, og der vil derfor ikke være nogenusikkerhed før udtagningen og vi far ingen information efter udtagningen.

2.1 Entropifunktionen

Vi far nu brug for en funktion H(p1, p2, . . . , pn), som kan give os et mal forusikkerheden ved udvælgelse fra S. Sadan en funktion kaldes for en entro-pifunktion eller en usikkerhedsfunktion.

Tilgangen til entropifunktionen er aksiomatisk; og vi stiller følgende krav.

En entropifunktion skal være defineret for alle p1, . . . , pn, som overholder0 ≤ pi ≤ 1 og

∑pi = 1, dvs. for alle sandsynlighedsmal. Man ma ogsa

7

Page 16: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

8 2.1. ENTROPIFUNKTIONEN

forvente, at hvis man ændrer sandsynligheden en lille smule, vil man ogsakun kunne forvente en lille ændring i usikkerheden. Altsa skal H(p1, . . . , pn)være kontinuert. Nar alle udfald er lige sandsynlige, virker det rimeligt, atjo flere udfald der er, jo større er usikkerheden. Funktionen skal altsa ogsaopfylde kravet

H

(1

n, . . . ,

1

n

)

︸ ︷︷ ︸n elementer

≤ H(

1

n+ 1, . . . ,

1

n+ 1

)

︸ ︷︷ ︸n+1 elementer

.

Det sidste krav man stiller til en entropifunktion er som følger:

Antag, at sandsynlighedsfunktionen for elementerne fra kildealfabetet S ={x1, . . . , xn} er ligefordelt, og at disse elementer deles ud i ikke-tomme dis-junkte blokkeB1, . . . , Bk, hvor |Bi| = bi og

∑ki=1 bi = n. Vi vælger nu en blok

Bi, med sandsynlighed proportional med dens størrelse, dvs. P (Bi) = bi/n.Vi tager sa et element fra den udvalgte blok. Hvis xj er i blok Bu, sa er

P (xj |Bi) =

{0 hvis i 6= u1bu

hvis i = u ,

og vi far ud fra loven om total sandsynlighed ([Sør04] s. 26), at

P (xj) =k∑

i=1

P (xj|Bi)P (Bi) =1

bu

bun

=1

n,

altsa er sandsynligheden for at vælge xj sa den samme under disse betingel-ser, som den er, hvis vi vælger den direkte fra S, sa usikkerheden i udfaldeneer den samme. Usikkerheden i at vælge direkte fra S med lige stor sandsyn-lighed er H( 1

n , . . . ,1n). Til gengæld er usikkerheden i at vælge en af blokkene

B1, . . . , Bk, sa

H

(b1n, . . . ,

bkn

).

Nar en blok er valgt, er der ogsa en usikkerhed i at vælge et element fra denpagældende blok. Gennemsnittet af usikkerheden i at vælge fra en blok ersa

k∑

i=1

P (Bi) · (usikkerheden i at vælge fra blok Bi) =k∑

i=1

binH

(1

bi, . . . ,

1

bi

).

Vi far altsa, at

H

(1

n, . . . ,

1

n

)= H

(b1n, . . . ,

bkn

)+

k∑

i=1

binH

(1

bi, . . . ,

1

bi

).

For at opsummere er de tre betingelser til entropifunktionen altsa

Page 17: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.1. ENTROPIFUNKTIONEN 9

1. H(p1, p2, . . . , pn) er defineret og kontinuert for alle p1, p2, . . . , pn somoverholder 0 ≤ p(xi) ≤ 1 og

∑pi = 1.

2. H( 1n , . . . ,

1n) < H( 1

n+1 , . . . ,1

n+1), for n ∈ Z+.

3. For bi ∈ Z+,∑bi = n gælder

H

(1

n, . . . ,

1

n

)= H

(b1n, . . . ,

bkn︸ ︷︷ ︸

k variable

)+

k∑

i=1

binH

(1

bi, . . . ,

1

bi︸ ︷︷ ︸bi variable

).

Det viser sig, at udvalget af funktioner H, som opfylder de tre nævnte be-tingelser ikke er stort. Vi har nemlig følgende sætning.

Sætning 2.2. En funktion H opfylder betingelserne 1–3, hvis og kun hvis

den er pa formen

Hb(p1, . . . , pn) = −n∑

i=1

pi logb pi,

hvor b > 1, og hvor vi definerer 0 logb 0 = 0.

En funktion med de ønskede egenskaber er altsa entydigt bestemt op tilen konstant faktor, idet det om enhver logaritmefunktion logb gælder, atlogb x = log x

log b , hvor x ≥ 0.

Bevis. Vi viser først, at funktionerneHb defineret i sætningen har de ønskede

egenskaber. Funktionerne er tydeligvis defineret for alle pi, som opfylder

0 ≤ pi ≤ 1, i = 1, . . . , n. Ifølge L‘Hopitals regel [Wad04, s. 97] vil p logb p→ 0

for p→ 0+, idet vi har

limp→0+

p logb p = limp→0+

logb p1p

= limp→0+

(log plog b

)′

(1p

)′ = limp→0+

1p log b

− 1p2

= limp→0+

−plog b

= 0.

Sa er Hb en sum af kontinuerte funktioner pa [0,∞), og er derfor kontinuert

for pi ≥ 0, i = 1, . . . , n [Wad04, s. 271].

Vi viser nu betingelse 2. Vi har

H

(1

n, . . . ,

1

n

)=

n∑

i=1

1

nlogb n = logb n,

og pa lignende vis er H( 1n+1 , . . . ,

1n+1) = logb(n + 1). Da logb er en strengt

voksende funktion, er logb n < logb(n+ 1), og betingelse 2 er opfyldt.

Page 18: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

10 2.1. ENTROPIFUNKTIONEN

Endelig vises betingelse 3. Vi har, at

Hb

(b1n, . . . ,

bkn

)= −

k∑

i=1

bin

logb

(bin

)= −

k∑

i=1

bin

(logb bi − logb n)

= logb n−k∑

i=1

bin

logb bi,

men der gælder netop, at logb bi = H( 1bi, . . . , 1

bi), sa

logb n = Hb

(b1n, . . . ,

bkn

)+

k∑

i=1

binH

(1

bi, . . . ,

1

bi

).

Da endelig logb n = H( 1n , . . . ,

1n), ses det, at funktionerne Hb opfylder be-

tingelse 3.

Vi vil nu vise, at en funktion, der opfylder betingelse 1-3 nødvendigvis ma

være pa formen

Hb(p1, . . . , pn) = −k∑

i=1

pi logb(pi).

Vi starter med at opdele vores alfabet S = {x1, . . . , xn} i disjunkte mængder

Bi, hvor i = 1, . . . , k. Vi vælger et tal m|n, sa |Bi| = bi = m, i = 1, . . . , k.

Hvis vi nu har k disjunkte Bi’er, vil vi have mk =∑k

i=1 bi = n og bi >

0, hvorved kravene til bi’erne i betingelse 3 er opfyldt, hvorfor det giver

mening at lade bi’erne i betingelsen betegne de bi’er, vi far fra ovenstaende

konstruktion. Fra betingelse 3 fas

H

(1

n, . . . ,

1

n

)= H

(mn, . . . ,

m

n

)+

k∑

i=1

m

nH

(1

m, . . . ,

1

m

)

= H(mn, . . . ,

m

n

)+m

nkH

(1

m, . . . ,

1

m

)

= H(mn, . . . ,

m

n

)+H

(1

m, . . . ,

1

m

).

Vi vælger et m ≥ 2 og et s ≥ 2, saledes at n er fastlagt ved n = ms. Sa fas

H

(1

ms, . . . ,

1

ms

)= H

(1

ms−1, . . . ,

1

ms−1

)+H

(1

m, . . . ,

1

m

).

Lad g(n) = H( 1n , . . . ,

1n). Dermed haves

g(ms) = g(ms−1) + g(m).

Page 19: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.1. ENTROPIFUNKTIONEN 11

Anvendes denne formel igen pa g(ms−1) fas

g(ms) = g(ms−2) + g(m) + g(m).

Fortsættes rekursivt pa denne vis fas

g(ms) = sg(m),

som gælder for alle m ≥ 2 og alle s ≥ 1 Vi bemærker, at dette er en egenskab

logaritmefunktionen ogsa besidder. Desuden ser vi fra betingelse 2, at g er

en strengt voksende funktion, hvorved vi har

g(ms) = sg(m) < g(ms+1) = (s+ 1)g(m).

Det fremgar, at g(m) > 0 for alle m ≥ 2. Vi vælger nu r og m, saledes, at

vi for ethvert t ≥ 0 kan vælge et s sa følgende er opfyldt

ms ≤ rt < ms+1. (2.1)

Vi kan anvende g pa ovenstaende, og da g er voksende fas

g(ms) ≤ g(rt) < g(ms+1)⇔

sg(m) ≤ tg(r) < (s+ 1)g(m).

Da g(m) > 0 og t > 0 kan vi dividere igennem med disse. Vi far

s

t≤ g(r)

g(m)<s+ 1

t. (2.2)

Ved at anvende logaritmefunktionen log, hvor grundtallet er uden betydning,

pa (2.1) istedet for g, fas tilsvarende

s

t≤ log(r)

log(m)<s+ 1

t⇔

−st≥ − log(r)

log(m)> −s+ 1

t.

Vi lægger nu dette til (2.2) og far

s+ 1− st

>g(r)

g(m)− log(r)

log(m)>s− s− 1

t

1

t>

g(r)

g(m)− log(r)

log(m)>−1

t.

Page 20: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

12 2.1. ENTROPIFUNKTIONEN

Dette betyder, at vi kan fa g(r)/g(m)− log(r)/log(m) til at ligge i et interval af

længde 2/t. Da t er valgt vilkarlig, kan vi gøre dette interval vilkarligt lille,

og dermed kan vi fa g(r)/g(m) villkarligt tæt pa log(r)/log(m), og vi ma derfor

konkludere, atg(r)

g(m)=

log(r)

log(m),

og dermedg(r)

log(r)=

g(m)

log(m)

Da m er konstant, fremgar det nu, at

g(u)

log(u)= k for alle u ∈ S

hvor k ∈ R er en konstant. Hermed har vi nu

g(r) = k log(r).

Ved at vælge vores grundtal b for logaritmefunktionen hensigtsmæssigt, sa

k = 1log(b) , fas

g(r) =1

log(b)log(r) = logb(r).

Vi laver nu følgende omskrivning af betingelse 3:

H

(1

n, . . . ,

1

n

)= H

(b1n, . . . ,

bkn

)+

k∑

i=1

binH

(1

bi, . . . ,

1

bi

)⇔

H

(b1n, . . . ,

bkn

)= H

(1

n, . . . ,

1

n

)−

k∑

i=1

binH

(1

bi, . . . ,

1

bi

)

= g(n)−k∑

i=1

bing(bi)

= logb(n)−k∑

i=1

bin

logb(bi)

= −(− logb(n) +

k∑

i=1

bin

logb(bi)

)

= −k∑

i=1

(bin

logb(bi)− logb(n)

)

=

k∑

i=1

bin

logb

(bin

). (2.3)

Page 21: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.2. EGENSKABER VED ENTROPIEN 13

Alle rationale tal p1, . . . , pk kan skrives pa formen b1n , . . . ,

bkn ved at finde en

fællesnævner. Dermed vil (2.3) gælde for alle p = (p1, . . . , pk) ∈ Qk+, hvor∑k

l=1 pl = 1. Desuden har vi, at ethvert irrationalt tal kan tilnærmes med

en følge af rationale tal. Dermed vil der for ethvert irrationalt tal x og {qn}en følge af rationale tal gælde, at limn→∞ qn = x, hvor x er et irrationalt tal.

Eller sagt pa en anden made: De rationale tal ligger tæt; Vi ma derfor, pga.

kontinuiteten have, at (2.3) ogsa gælder, for alle p ∈ Rk+, hvor

∑kl=1 pl = 1.

Vi ser desuden, at

limp→0+

p logb p = 0,

hvorfor (2.3) ma gælde for alle ikke-negative reelle tal.

2.2 Egenskaber ved entropien

For senere at kunne vise nogle hovedresultater vedrørende entropien, skal viførst se pa følgende sætninger.

Sætning 2.3. For den naturlige logaritme log gælder, at

log(x) ≤ x− 1, for alle x > 0.

Uligheden bliver en lighed, hvis og kun hvis x = 1.

Bevis. Vi definerer funktionen ψ(x) = x − 1 − log x for x > 0. Kan vi nu

vise, at ψ aldrig antager negative værdier for alle x > 0, er sætningen vist.

Vi differentierer ψ(x):

ψ′(x) = 1− 1

x.

Ved at sætte ψ′(x) = 0, finder vi et ekstremumspunkt i x = 1. Om ψ(1) er

et globalt/lokalt minimum eller maksimum ses vha. ψ′′(x), som bliver

ψ′′(x) =1

x2.

Da ψ′′(x) er positiv for alle x > 0, er ψ konveks, og ψ(1) er derfor et globalt

minimum. Udfra ψ(1) = 1−1− log(1) = 0 ser vi, at ψ(x) ≥ 0 for alle x > 0.

Her har vi ogsa lige set, at log(x) kun er lig x− 1 nar x = 1, sa uligheden er

kun en lighed, nar dette er opfyldt. De to funktioner kan ogsa ses pa figur

2.1.

Page 22: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

14 2.2. EGENSKABER VED ENTROPIEN

5

-5

0

-10

105-10 -5 0

x

Figur 2.1: log(x) og x− 1

Med sætning 2.3 kan vi nu vise følgende resultat.

Sætning 2.4. Lad P = {p1, p2, . . . , pn} være en sandsynlighedfordeling,

saledes at 0 ≤ pi ≤ 1 og∑pi = 1. Lad Q = {q1, q2, . . . , qn} opfylde

0 ≤ qi ≤ 1 og∑qi ≤ 1. Sa gælder

n∑

i=1

pi log

(1

pi

)≤

n∑

i=1

pi log

(1

qi

),

hvor det vedtages, at 0 · log(

10

)= 0 og p · log

(10

)=∞ for p > 0. Uligheden

bliver en lighed, hvis og kun hvis pi = qi for alle i = 1, . . . , n.

Bevis. Da logaritmer med forskelligt grundtal er proportionale, antager vi

uden tab af generalitet, at log er den naturlige logaritme.

Vi vil vise, at følgende holder

pi log

(1

pi

)≤ pi log

(1

qi

)+ qi − pi.

Hvis pi = 0, bliver uligheden 0 ≤ qi, hvilket er sandt for alle qi. Er pi 6= qi

og qi = 0 holder uligheden ogsa, da højresiden i sa fald vil være ∞. Er bade

Page 23: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.2. EGENSKABER VED ENTROPIEN 15

pi 6= 0 og qi 6= 0, laver vi følgende omskrivning

pi log

(1

pi

)−pi log

(1

qi

)≤ qi−pi ⇔ pi log

(qipi

)≤ qi−pi ⇔ log

(qipi

)≤ qipi−1.

Bruger vi nu sætning 2.3 ser vi, at uligheden holder for alle qipi> 0.

Da dette gælder for alle i = 1, . . . , n, kan vi summere over i pa begge sider,

og uligheden vil stadig gælde, og vi far

n∑

i=1

pi log

(1

pi

)≤

n∑

i=1

(pi log

(1

qi

)+ qi − pi

)

=n∑

i=1

pi log

(1

qi

)+

n∑

i=1

qi −n∑

i=1

pi

≤n∑

i=1

pi log

(1

qi

).

Sidste ulighed fremkommer ved vurderingen

n∑

i=1

qi −n∑

i=1

pi =n∑

i=1

qi − 1 ≤ 0.

Da sætning 2.3 kun er en lighed for x = 1, gælder ligheden i denne sætning

ogsa kun for qipi

= 1, hvilket kun opfyldes for pi = qi for alle i = 1, . . . , n.

Vha. sætning 2.4 kan vi bevise følgende om entropifunktions største og mind-ste værdier.

Sætning 2.5. Lad X være en stokastisk variabel, som kan antage værdierne

{x1, . . . , xn}. Sa vil

0 ≤ H(X) ≤ logn.

Første halvdel af dobbeltuligheden vil være en lighed (0 = H(X)), hvis og

kun hvis p(xi) = 1 for et vilkarligt i. Anden halvdel vil være en lighed

(H(X) = logn), hvis og kun hvis p(xi) = 1n for alle i = 1, . . . , n. Sand-

synlighedsfordelingen skal med andre ord være en ligefordeling.

Bevis. At 0 ≤ H(X) gælder, følger af definitionen pa entropifunktionen,

H(X) =n∑

i1

p(xi) log

(1

p(xi)

).

Page 24: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

16 2.2. EGENSKABER VED ENTROPIEN

Da 0 ≤ p(xi) ≤ 1 og log x ≥ 0 for x ≥ 1, bliver log(

1p(xi)

)aldrig negativ, og

vi far dermed aldrig en negativ sum. For at H(X) kan blive 0, ma alle led

i summen nødvendigvis ogsa være lig 0, da leddene som sagt ikke kan være

negative. Da leddene kun kan blive 0 nar enten p(xi) eller log(

1p(xi)

)er lig

0, kan dette kun ske nar p(xi) = 1 for et i = 1, . . . , n. Dette led i summen vil

da blive 0, da log 11/1 er lig 0. De resterende sandsynligheder vil være 0, og

disse led vil derfor ogsa være 0, da vi pr. vedtagelse har, at 0 · log 10 = 0. Ved

vi pa den anden side, at p(xi) = 1 for et i = 1, . . . , n, ses det ved indsættelse,

at H(X) = 0.

For den højre side af dobbeltuligheden anvender vi nu sætning 2.4, hvor X

er P -fordelingen, og ligefordelingen { 1n , . . . ,

1n} er Q-fordelingen og far

H(X) =n∑

i=1

p(xi) log

(1

p(xi)

)≤

n∑

i=1

p(xi) log

(1

1/n

)

=n∑

i=1

p(xi) logn = lognn∑

i=1

p(xi) = logn.

Sidste del af dobbeltuligheden gælder derfor. Det er kun en lighed, nar be-

tingelserne for lighed i sætning 2.4 er opfyldt. Dette sker nar p(xi) = 1n for

alle i = 1, . . . , n.

At entropifunktionen antager sit minimum og maksimum i de nævnte til-fælde stemmer ogsa overens med, hvad vi forventede i starten af kapitlet.

2.2.1 Vurderinger af binomialkoefficienten

Vil vi nu vise følgende uligheder omhandlende binomialkoefficienter og en-tropifunktionen, som skal bruges i forbindelse med flere af de efterfølgenderesultater. I forbindelse med den binære entropifunktion, har vi pr. konven-tion H(p) = H(p, 1− p).

Sætning 2.6. Lad k ∈ {0, 1, . . . , n} og lad H være den binære entropifunk-

tion. Sa gælder1

n+ 12nH(k/n) ≤

(n

k

)≤ 2nH(k/n).

Bevis. Vi viser først højre del af dobbeltuligheden og dernæst venstre. Udfra

Page 25: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.2. EGENSKABER VED ENTROPIEN 17

binomialformlen [Sør04, s. 60], kan vi opskrive følgende

n∑

i=0

(n

i

)pi(1− p)n−i = (p+ (1− p))n = 1n = 1.

Alle led i summen er desuden positive, sa for et enkelt k ∈ {0, . . . , n} haves(n

k

)pk(1− p)n−k ≤ 1. (2.4)

Vi foretager følgende omskrivning af en del af venstresiden i (2.4)

pk(1− p)n−k = 2log2(pk(1−p)n−k).

Sætter vi p = kn , vil potensen kunne skrives pa følgende form

log2

(( kn)k(1− k

n)n−k)

= log2

(( kn)k

)+ log2

((1− k

n)n−k)

= k log2(kn) + (n− k) log2(1− k

n)

= n kn log2(kn) + n(1− k

n) log2(1− kn)

= −n(− kn log2(

kn)− (1− k

n) log2(1− kn))

= −n(kn log2((

kn)−1) + (1− k

n) log2((1− kn)−1)

).

Da udtrykket i parentesen er lig H( kn), hvor H er den binære entropifunk-

tion, far vi følgende, hvis vi indsætter dette i (2.4)(n

k

)2−nH( k

n) ≤ 1,

og udtrykket giver os nu højre side af uligheden, hvis vi multiplicerer med

2nH( kn

) pa begge sider (n

k

)≤ 2nH( k

n).

Hvad angar den venstre side af dobbeltuligheden, bemærker vi først, at

ai =

(n

i

)( kn)i(1− k

n)n−i , i ∈ {0, 1, . . . , n} (2.5)

er voksende for i ≤ k og aftagende for i > k. Dette kan indses ved at betragte

forholdet mellem ai−1 og ai og dermed vise, atai−1

ai< 1 for i ≤ k og

ai−1

ai> 1

for i− 1 > k. Vi omskriver til dette formal binomialkoefficienten(ni

)saledes

(n

i

)=

n!

i!(n− i)! =n!(n− i+ 1)

i(i− 1)!(n− i+ 1)!

=

(n

i− 1

)n− i+ 1

i. (2.6)

Page 26: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

18 2.2. EGENSKABER VED ENTROPIEN

Vi undersøger nu førnævnte forhold

ai−1

ai=

(ni−1

)( kn)i−1(1− k

n)n−i+1

(ni

)( kn)i(1− k

n)n−i

=

(ni−1

)( kn)i( kn)−1(1− k

n)n−i(1− kn)

(ni−1

)n−i+1

i ( kn)i(1− kn)n−i

=1− k

nn−i+1

ikn

=1− k

nn−i+1n

ki

,

hvor lighedstegn nr. 2 fas ved at benytte (2.6). Vi kan nu for i ≤ k lave

følgende vurdering

1− kn

n−i+1n

ki

≤ 1− kn

n−i+1n

=(1− k

n)n

n− i+ 1=

n− kn− i+ 1

<n− kn− i ≤ 1,

da nævneren bliver større end eller lig tælleren for i ≤ k. For i− 1 ≥ k far

vi

1− kn

n−i+1n

ki

≥ 1− kn

n−i+1n

=(1− k

n)n

n− i+ 1=

n− kn− i+ 1

≥ 1,

da vi denne gang far en tæller, der er større end eller lig nævneren for

i − 1 > k. Vi har da, at ai ma være voksende for i ≤ k og aftagende for

i > k. Den største værdi for ai fas derfor hvor i = k. I forvejen ved vi, at

n∑

i=0

(n

i

)( kn)i(1− k

n)n−i = 1.

Da denne sum bestar af n+1 led, hvor det største led forekommer for i = k,

ma n+1 af disse største led være større eller lig ovenstaende sum. Altsa har

vi

(n+ 1)

(n

k

)( kn)k(1− k

n)n−k ≥n∑

i=0

(n

i

)( kn)i(1− k

n)n−i = 1.

Kombinerer vi dette med vores tidligere udregninger, far vi

(n+ 1)

(n

k

)( kn)k(1− k

n)n−k = (n+ 1)

(n

k

)2−nH( k

n) ≥ 1.

Venstre side af uligheden kommer nu frem ved at multiplicere med 1n+12nH( k

n)

pa begge sider, sa (n

k

)≥ 1

n+ 12nH( k

n).

Page 27: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.2. EGENSKABER VED ENTROPIEN 19

Vi har indtil videre kun kigget pa resultater i forbindelse med den binæreentropifunktion. Følgende resultat er brugbart i forbindelse med den q-æreentropifunktion.

Vi kalder Hq, som er givet ved

Hq(x) = −x logq x− (1− x) logq(1− x),

for den q-ære entropifunktion. Vi vil bevise en nyttig sætning i forbindelsemed den q-ære entropifunktion, men vi far brug for følgende lemma.

Lemma 2.7. For p1, p2 ≥ 0 og p1 + p2 = 1 gælder, at

bλnc∑

k=0

(n

k

)pk1p

n−k2 ≤ λ−λnµ−µnpλn1 pµn2 ,

for λ ≤ p2 og µ = 1− λ.

Bevis. Hvis X er en stokastisk variabel, som kun antager ikke-negative vær-

dier, sa siger Markovs ulighed ([Sør04] s. 110), at

P (X ≥ a) ≤ E(X)

a

for alle a > 0.

Antag, at X er pa formen X = etY , hvor Y er en stokastisk variabel, og hvor

t ∈ R. Lad endvidere a = etb, hvor b ∈ R, sa kan Markovs ulighed omskrives

til

P (etY ≥ etb) ≤ E(etY )

etb,

for alle b ∈ R.

Hvis t < 0 gælder, at etY ≥ etb ⇔ tY ≥ tb ⇔ Y ≤ b. Da kan Markovs

ulighed omskrives til

P (Y ≤ b) ≤ E(etY )

etb

for alle b ∈ R og t < 0.

Er Y binomialfordelt med parametrene (n, p1), er

P (Y ≤ b) =

bbc∑

k=0

(n

k

)pk1p

n−k2 ,

hvor p1 + p2 = 1.

Page 28: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

20 2.2. EGENSKABER VED ENTROPIEN

Da er middelværdien E for fordelingen etY givet ved

E(etY ) =

n∑

k=0

etk(n

k

)pk1p

n−k2 =

n∑

k=0

(n

k

)(p1e

t)kpn−k2 = (p1et + p2)

n,

og Markovs ulighed bliver sa

bbc∑

k=0

(n

k

)pk1p

n−k2 ≤ e−tb(p2 + p1e

t)n.

Lad særligt b = λn, hvor 0 < λ < 1, hvoraf

bλnc∑

k=0

(n

k

)pk1p

n−k2 ≤ e−λnt(p2 + p1e

t)n.

For t < 0 er 0 < et < 1, og ved at minimere højresiden ved hjælp af

differentiation af uligheden med hensyn til et far vi, at

et =λp2

µp1,

hvor vi har sat µ = 1 − λ, og hvor λ < p1, idet vi ellers ville have λp2µp1

=λ(1−p1)(1−λ)p1

> 1. Hvis vi indsætter denne værdi af et i højresiden af uligheden,

fas

(λp2

µp1

)−λn(p2 + p1

λp2

µp1

)n=

(λp2

µp1

)−λnp2n

(1 +

λ

µ

)n

=

(λp2

µp1

)−λnp2n

(µ+ λ

µ

)n

=

(λp2

µp1

)−λn(p2

µ

)n

= λ−λnµ−µnpλn1 pµn2 ,

sa uligheden kan skrives pa sin strengest mulige form som

bλnc∑

k=0

(n

k

)pk1p

n−k2 ≤ λ−λnµ−µnpλn1 pµn2 ,

stadig under forudsætning af, at λ < p1, hvilket skulle vises.

Vi er nu klar til at vise sætningen.

Page 29: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.2. EGENSKABER VED ENTROPIEN 21

Sætning 2.8. For q ∈ Z+ og q ≥ 2 gælder, at

bλnc∑

k=0

(n

k

)(q − 1)k ≤ q(Hq(λ)+λ logq(q−1))n, for λ ≤ q − 1

q.

Bevis. Vi benytter uligheden beskrevet i lemmaet, og bringer derfor ven-

stresiden af uligheden i sætningen pa denne form:

bλnc∑

k=0

(n

k

)(q − 1)k =

bλnc∑

k=0

(n

k

)(1− 1

q

)kqk

= qnbλnc∑

k=0

(n

k

)(1− 1

q

)kqk−n

= qnbλnc∑

k=0

(n

k

)(1− 1

q

)k (1

q

)n−k,

sa for λ ≤ q−1q = 1− 1

q er

bλnc∑

k=0

(n

k

)(q − 1)k = qn

bλnc∑

k=0

(n

k

)(1− 1

q

)k (1

q

)n−k

≤ qnλ−λnµ−µn(

1− 1

q

)λn(1

q

)µn

= qnqnHq(λ)

(1− 1

q

)λn(1

q

)µn,

idet qnHq(λ) = λ−λnµ−µn.

Vi har desuden, at(

1− 1

q

)λn(1

q

)µn= (q − 1)λn

(1

q

)λn(1

q

)µn

= (q − 1)λnq−λnq−µn

= (q − 1)λnq−(λ+µ)n

= (q − 1)λnq−n,

idet λ+ µ = 1, sa

qnqnHq(λ)

(1− 1

q

)λn(1

q

)µn= qnqnHq(λ)(q − 1)λnq−n

= qnHq(λ)(q − 1)λn.

Page 30: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

22 2.3. TYPISKE SEKVENSER

Da endelig (q−1)λn = qλ logq(q−1)n, er qnHq(λ)(q−1)λn = qnHq(λ)qλ logq(q−1)n,

sa vi har i alt, idet vi minder om, at λ < q−1q ,

bλnc∑

k=0

(n

k

)(q − 1)k ≤ q(Hq(λ)+λ logq(q−1))n,

hvilket skulle vises.

2.3 Typiske sekvenser

De typiske sekvenser, som dette afsnit omhandler, far vi brug for senere, narvi viser den kombinerede kilde-kanalkodningssætning. De er ogsa nyttige nu,idet de angiver en sammenhæng mellem entropi og antal forekomster af etbestemt kildesymbol. Vi gør dette mere præcist.

Lad S = {x1, . . . , xm} være en kilde med tilhørende fordeling P (xi) = pi,og antag, at vi sampler n uafhængige identisk fordelte stokastiske variab-le X1, . . . ,Xn fra kilden – alle med fordelingen P . Ideen er nu, at vi vilundersøge, hvor ofte kildesymbolet xi fremkommer blandt disse stokastiskevariable. Vi vil opfatte hver sampling af en stokastisk variabel Xj som etBernoulli-forsøg med succes, hvis Xj = xi, og fiasko, hvis Xj 6= xi. Saledes erP (Xj = xi) = pi. Definer den stokastiske vektor X ved X = (X1, . . . ,Xn),og lad Si = Si(X) betegne antal succes’er i de n forsøg X1, . . . ,Xn. DaXi’erne, i = 1, . . . , n, er Bernoullifordelte, uafhængige stokastiske variablemed fordeling P , sa er Si binomialfordelt med fordelingen

P (Si = j) =

(n

j

)pji (1− pi)n−j.

Denne binomialfordeling har middelværdi µ = npi og varians σ2i = npi(1−

pi). Vi kan kvalitativt beskrive Si via Chebyshevs ulighed. For k > 0 gældernemlig, at

P

(∣∣∣∣Si − µiσi

∣∣∣∣ > k

)<

1

k2,

sa der gælder, at vi oftere finder Si tæt pa µi end langt fra. Fra definitionenaf Si vil det sige, at antallet af xi’er blandt X1, . . . ,Xn oftest er tæt pa µi.For store k er det usandsynligt, at

∣∣∣∣Si − µiσi

∣∣∣∣ > k,

mens det for sma k sker oftere. Dette giver anledning til definitionen af entypisk sekvens.

Page 31: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.3. TYPISKE SEKVENSER 23

Definition 2.9. Lad X være en stokastisk variabel, som kan antage værdier

i mængden {x1, . . . , xm}, og som har sandsynlighedsfordeling P (X = xj) =

pj . Lad X1, . . . ,Xn være uafhængige, identisk fordelte stokastiske variable,

ogsa med fordeling P . Hvis X1 = α1, . . . ,Xn = αn, sa betegner vi med Si(α)

antal forekomster af xi blandt elementerne i α = (α1, . . . , αn). Sekvensen α

kaldes for en k-typisk sekvens, hvis

∣∣∣∣Si(α)− µi

σi

∣∣∣∣ ≤ k, for alle i = 1, . . . , n.

Eksplicit vil det sige, at

∣∣∣∣∣Si(α)− npi√npi(1− pi)

∣∣∣∣∣ ≤ k, for alle i = 1, . . . , n.

Vi ser, at en sekvens α kaldes k-typisk, hvis antallet af xi’er er tæt pa detantal, som vi faktisk vil forvente, at antallet af xi’er er. Vi viser nu, hvilkensammenhæng der er mellem entropi og k-typiske sekvenser.

Sætning 2.10. Lad k > 0. Vi har følgende tre resultater.

1. Sandsynligheden for, at en sekvens ikke er k-typisk er højst m/k2.

Denne sandsynlighed kan gøres vilkarligt lille ved at vælge et tilpas

stort k.

2. Hvis X = (X1, . . . ,Xn) og hvis α = (α1, . . . , αn) er en k-typisk se-

kvens, sa gælder, at

m−nHm(X)+√nCk ≤ P (X = α) ≤ m−nHm(X)−√

nCk ,

hvor Hm(X) er den m-ære entropifunktion, og hvor

Ck =m∑

i=1

k√pi(1− pi) logm pi

kun afhænger af k og af pi. Bemærk ogsa, at Ck er negativ, idet

logm pi < 0. Heraf følger, at der for n, k → ∞ pa en sadan made,

at k/√n→ 0 gælder, at

P (X = α) ≈ m−nHm(X).

Page 32: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

24 2.3. TYPISKE SEKVENSER

3. Antallet Nk,n af k-typiske sekvenser af længde n opfylder dobbeltulig-

heden

(1− m

k2

)mnHm(X)+

√nCk ≤ Nk,n ≤ mnHm(X)−√

nCk .

Heraf følger, at det for n, k → ∞ pa en sadan made, at k/√n → 0

gælder, at

Nk,n ≈ mnHm(X).

Bevis. Beviset opdeles naturligt i tre dele.

1. Vi har, at sandsynligheden for, at en sekvens X ikke er k-typisk er

P (X ikke k-typisk) = P

(∣∣∣∣Si − npi

σi

∣∣∣∣ > k for et index i

).

Dette er naturligvis mindre end summen af alle sandsynlighederne,

hvor i løber gennem indexmængden, og vi far endvidere ved brug af

Chebyshevs ulighed, at

P (X ikke k-typisk) ≤∑mi=1 P

(∣∣∣Si−npi

σi

∣∣∣ > k)

(2.7)

≤∑m

i=11k2 = m

k2 ,

hvilket skulle vises.

2. Antag nu, at α = (α1, . . . , αn) er en k-typisk sekvens. Vi har sa, at

P (X = α) = P (X1 = α1, . . . ,Xn = αn) =n∏

i=1

P (Xi = αi) =n∏

i=1

pi,

idet Xi’erne er uafhængige. Da Si(α) angiver antallet af xi’er blandt

α1, . . . , αn, sa kan det sidste udtryk omskrives som

P (X = α) =m∏

i=1

pSi(α)i .

Benyttes den m-ære logaritme pa begge sider af denne ligning fas

Page 33: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

2.3. TYPISKE SEKVENSER 25

logm P (X = α) =m∑

i=1

Si(α) logm pi.

Da α er en k-typisk sekvens, har vi pr. definition, at

npi − kσi ≤ Si(α) ≤ npi + kσi

for alle i, men sa har vi, at

m∑

i=1

(npi + kσi) logm pi ≤ logm P (X = α) ≤m∑

i=1

(npi − kσi) logm pi,

idet logm pi er negativ. Da σi =√npi(1− pi), fas ved indsættelse, at

n

m∑

i=1

pi logm pi +√n

m∑

i=1

k√pi(1− pi) logm pi ≤ logm P (X = α)

≤ nm∑

i=1

pi logm pi −√n

m∑

i=1

k√pi(1− pi) logm pi

og ved at sætte

Ck =m∑

i=1

k√pi(1− pi) logm pi

fas

−nH(X) +√nCk ≤ logm P (X = α) ≤ −nH(X)−

√nCk,

hvoraf sætningen følger ved at opløfte m til alle tre dele af dobbel-

tuligheden. Bemærk, at

m−nHm(X)−√nCk = m

−n(Hm(X)+ 1√nCk)

,

sa da Ck er proportional med k, vil 1√nCk → 0 for k/

√n→ 0.

Page 34: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

26 2.3. TYPISKE SEKVENSER

3. Lad E være den delmængde af de mn mulige sekvenser af længde

n, som bestar af de k-typiske sekvenser. Hvis alle elementer e ∈ E

opfylder, at r1 ≤ P (e) ≤ r2, sa er

r1|E| ≤∑

e∈EP (e) ≤ r2|E|,

og da vi definerer

P (E) =∑

e∈EP (e),

sa er

P (E)

r2≤ |E| ≤ P (E)

r1.

Fra første del af sætningen gælder jo, at

1− m

k2≤ P (E) ≤ 1,

og fra anden del af sætningen har vi for alle α ∈ E, at

m−nHm(X)+√nCk ≤ P (α) ≤ m−nHm(X)−√

nCk ,

det vil sige, at der findes r1 og r2 som netop beskrevet. Ved at benytte

venstre- og højresiden af denne dobbeltulighed som henholdsvis r1 og

r2, og ved at benytte 1− mk2 og 1 som henholdsvis nedre og øvre grænse

for P (E), sa har vi da, at

(1− m

k2

)mnHm(X)+

√nCk ≤ |E| ≤ mnHm(X)−√

nCk ,

hvilket skulle vises, idet |E| = Nk,n.

Page 35: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 3

Kildekodning

I dette kapitel vil vi beskæftige os med kildekodning. Her vil vi ikke sendevores kodeord over en kanal, men derimod undersøge, hvordan man kankomprimere sine data. Altsa gar det ud pa at finde koder, der har sa smagennemsnitslængder som muligt.

Givet en kilde S bestaende af et kildealfabet S og en sandsynlighedsfordelingP pa S, vil vi formalisere, at man til ethvert symbol i kildealfabetet ladersvare et kodeord i en kode C.

Definition 3.1. Lad S = (S, P ) være en kilde. Det ordnede par (C, f),

hvor C er en kode, og hvor f : S → C er en injektiv afbildning, kaldes et

kodningsskema. Afbildningen f kaldes ogsa en kodningsfunktion.

Til ethvert kodeord i C lader vi saledes svare højst et kildesymbol i S.Jævnfør skuffeprincippet er funktionen f en bijektion, hvis og kun hvis|S| = |C|. Middelordlængden af et kodningsskema afhænger ikke af kil-desymbolerne, derfor behøver disse ikke at blive angivet. Hvis det er kendt,hvilken sandsynlighedsfordeling P = (p1, . . . , pn), der hører til en given ko-de C = (c1, . . . , cn), sa taler vi blot om kodningsskemaet C = (c1, . . . , cn) istedet for ogsa at angive afbildningen f , som skrevet i definitionen. Middel-ordlængden defineres saledes.

Definition 3.2. Middelordlængden af kodeord i kodningsskemaet (c1, . . . , cn)

er givet ved

AveLen(c1, . . . , cn) =

n∑

i=1

pili ,

hvor vi lader li betegne længden af det i’te kodeord ci i C.

27

Page 36: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

28

Er en kode ikke er entydigt dekodbar, sa er den praktisk talt ubrugelig. Vafar derfor brug for en definition af, hvad det vil sige at en kode er entydigtdekodbar.

Definition 3.3 (Entydigt dekodbar kode). En kode C er entydigt dekodbar

hvis der gælder at, nar c1, . . . , ck, d1, . . . , dj er kodeord i C og

c1 . . . ck = d1 . . . dj,

sa er k = j, og ci = di for i = 1, . . . , k.

Da vi er interesserede i, at modtageren af beskeden skal være i stand tildekode den undervejs, vil vi definere endnu en vigtig egenskab.

Definition 3.4. En kode siges at være momentan, hvis hvert kodeord i en-

hver streng af kodeord kan dekodes sa snart det er modtaget.

Det viser sig, at denne egenskab er ækvivalent med præfiksegenskaben, somvi skal definere om et øjeblik. Med andre ord er en kode momentan, hvis ogkun hvis den har præfiksegenskaben. Det er vigtigt at bemærke, at hvis enkode er momentan, sa er den ogsa entydigt dekodbar.

Definition 3.5. En kode siges at have præfiksegenskaben, hvis intet kode-

ord er præfiks i noget andet kodeord. Med andre ord, nar x1x2 · · ·xn er et

kodeord, sa er x1x2 · · ·xk ikke et kodeord, for 1 ≤ k < n.

Vi benytter MinAveLenr(p1, . . . , pn) til at betegne den mindste gennem-snitlige ordlængde blandt alle momentane, r-ære kodningsskemaer knyttettil sandsynlighedsfordelingen (p1, . . . , pn). Nar et kodningsskema skal væregodt, ønsker vi at gøre den gennemsnitlige ordlængde lille. Vi har derforfølgende definition.

Definition 3.6. Hvis det for et r-ært kodningsskema (c1, . . . , cn) med sand-

synlighedsfordeling (p1, . . . , pn) gælder, at

AveLen(c1, . . . , cn) = MinAveLenr(p1, . . . , pn),

sa kaldes kodningsskemaet for optimalt.

Da afbildningen MinAveLenr kun tager minimum over momentane kod-ningsskemaer, er et optimalt kodningsskema saledes momentant. Jævnførkorollar 3.10 til McMillans sætning, svarer det at tage minimum over allemomentane kodningsskemaer til at tage minimum over alle entydigt dekod-bare kodningsskemaer. Der gælder derfor ogsa, at et optimalt momentantkodningsskema er et entydigt dekodbart kodningsskema.

Page 37: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.1. KRAFTS ULIGHED 29

3.1 Krafts ulighed

Lad os antage, at vi star med en entydigt dekodbar kode, som ikke er momen-tan. Hvordan afgører vi sa, hvorvidt der rent faktisk eksisterer en tilsvarendemomentan kode, med de samme ordlængder? Dette er et vigtigt spørgsmal,og vi vil nu introducere en vigtig ulighed, kaldet Krafts ulighed, som kanbesvare dette spørgsmal. Først skal vi bruge et lemma.

Lemma 3.7. Lad αj betegne antal ord i C af længde j. Lad endvidere

l1, . . . , ln være ordlængderne i koden C og lad L være den maksimale ord-

længde. Sa gælder, atn∑

k=1

1

rlk=

L∑

i=1

αiri. (3.1)

Bevis. Lad os antage, at vi har αp ord af længde p. Sa har vi, at

αp = ‖{li | li = p, i = 1, . . . , n}‖ .

Vi vil da have αp led pa venstre side af (3.1) pa formen 1rp , og pa højre side

vil vi tilsvarende have et led pa formenαp

rp = αp · 1rp .

Sætning 3.8 (Krafts ulighed).

1. Hvis C er en r-ær momentan kode med kodeordlængder l1, . . . , ln sa

ma r og l1, . . . , ln tilfredsstille

n∑

k=1

1

rlk≤ 1. (3.2)

2. Hvis l1, . . . , ln og r tilfredsstiller

n∑

k=1

1

rlk≤ 1,

sa findes en r-ær momentan kode med disse ordlængder, l1, . . . , ln.

Bevis.

1. Antag, at C = (c1, . . . , cn) er en momentan r-ær kode med kodeord-

længder l1, . . . , ln, over kodealfabet A. Vi skal vise at (3.2) gælder. Lad

L = max{l1, . . . , ln}. Givet ci = x1x2 · · ·xli ∈ C har vi

x = x1x2 · · ·xliyli+1· · · yL /∈ C (3.3)

Page 38: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

30 3.1. KRAFTS ULIGHED

for vilkarlig valg af yj ∈ A, da C er momentan. Vi er interesserede i

det totale antal ord, som ikke kan tilhøre C, da vi kan vurdere denne

størrelse opad med antallet af mulige ord af længde L. Vi indser nu,

at for hvert li ∈ {l1, . . . , ln} er der rL−li af disse, da der vil være i

alt rL−li mader, hvorpa man kan vælge de L− li yj ’er i (3.3). Da det

totale antal ord af længde L over A er rL har vi nu

n∑

i=1

rL−li = rLn∑

i=1

1

rli≤ rL

, ellern∑

i=1

1

rli≤ 1

, og vi har vist 1.

2. Antag nu, at l1, . . . , ln og r tilfredsstiller (3.2). Vi viser, at der findes

en r-ær momentan kode over alfabetet A = {a1, a2, . . . , ar} med kode-

ordlængder l1, . . . , ln. Lad αj være antallet af kodeord med længde j i

C. Vi vælger α1 kodeord af længde 1, nemlig de første α1 symboler i

A. Dette kan vi gøre sa længe

α1 ≤ r.

De første α1 kodeord bliver saledes a1, a2, . . . , aα1 . Nu skal vi vælge

α2 kodeord af længde 2, men a1, a2, . . . , aα1 ma ikke være præfiks. Der

er r2 ord af længde 2 over A, og vi ma ikke bruge α1r af dem, sa vi

kræver, at α2 ≤ r2 − α1r eller

α1r + α2 ≤ r2.

Vi fortsætter denne proces og far saledes

α1 ≤ r

α1r + α2 ≤ r2

α1r2 + α2r + α3 ≤ r3

...

α1rn−1 + α2r

n−2 + · · ·+ αn−1r + αn ≤ rn. (3.4)

Page 39: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.1. KRAFTS ULIGHED 31

Hvis (3.4) er opfyldt, sa er de foregaende ligninger det ogsa. Det ses

ved at dele begge sider af (3.4) med r og fa

α1rn−2 + α2r

n−3 + · · ·+ αn−1 +αnr≤ rn−1,

men sa har vi bestemt ogsa

α1rn−2 + α2r

n−3 + · · ·+ αn−1 ≤ rn−1.

Dette er netop den forrige ligning. Ulighed (3.4) omskriver vi til

α1

r1+α2

r2+ · · ·+ αn

rn≤ 1.

Men dette udtryk er ifølge lemma 3.7 ækvivalent med Krafts ulighed

og vi har vist 2.

Det er vigtigt at bemærke, hvad Krafts ulighed ikke siger. Den siger ikke, atenhver kode, hvis ordlængder tilfredsstiller Krafts ulighed, ma være momen-tan. Men vi kan være sikre pa, at hvis vore ordlængder tilfredsstiller Kraftsulighed, sa ma der eksistere en momentan kode med disse ordlængder. End-videre har vi med Krafts ulighed, at enhver momentan kodes ordlængdertilfredsstiller denne. Man ser heraf nødvendigheden af, at sætningen gives ito dele, og ikke som en biimplikation.

3.1.1 McMillans sætning

Da en momentan kode altid er entydigt dekodbar, vil tilfredstillelsen afKrafts ulighed altid være tilstrækkelig for at sikre en entydigt dekodbarkode. Følgende sætning viser, at Krafts ulighed ogsa er en nødvendighed foreksistensen af en entydigt dekodbar kode.

Sætning 3.9 (McMillans sætning). Ordlængderne i en entydigt dekodbar

kode tilfredsstiller Krafts ulighed.

Bevis. Lad C = (c1, c2, . . . , cn) være en r-ær entydigt dekodbar kode med

ordlængder l1, l2, . . . , ln. Fra lemma (3.7) har vi identiteten

n∑

k=1

1

rlk=

m∑

i=1

αiri.

Page 40: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

32 3.1. KRAFTS ULIGHED

Her er αj antallet af ord i C med længde j. Vi bemærker, at m blot skal

være et positivt heltal større end eller lig med den største ordlængde, saledes

at alle ordlængderne tælles med. Vi vælger m = max({l1, l2, . . . , ln}). Ideen

i beviset er at manipulere med højre side af ovenstaende identitet, indtil vi

opnar et udtryk, der kan vurderes opadtil med rk, hvor k er længden af en

streng af kodeord (k specificeres senere). Vi begynder med at opløfte højre

side til u’te potens, hvor u er et positivt heltal:

( m∑

i=1

αiri

)u=

(α1

r+α2

r2+ · · ·+ αm

rm

)u

=m∑

i1=1

m∑

i2=1

· · ·m∑

iu=1

αi1ri1

αi2ri2· · · αiu

riu

=∑

i1,i2,...,iu1≤ij≤m

αi1 · αi2 · · ·αiuri1+i1+···+iu .

Det andet lighedstegn fas ved at tage et element fra hver af de u faktorer,

og sa summere over produkterne af disse elementer. Vi ser, at for hver sum

i1 + i2 + · · ·+ iu = k har vi u ≤ k ≤ u ·m. Vi samler led med fælles sum k,

og far følgende identitet

( m∑

i=1

αiri

)u=

um∑

k=u

( ∑

k=i1+i2+···+iuαi1 · αi2 · · ·αiu

)1

rk.

Lad nu Nk =∑

k=i1+i2+···+iu αi1 · αi2 · · ·αiu . Det er klart, at αi1 · αi2 · · ·αiuer alle muligheder, hvorpa vi kan danne strenge af kodeord med længde k,

bestaende af først et kodeord med længde i1 dernæst et kodeord med længde

i2 osv (under forudsætning af at k = i1 + i2 + · · ·+ iu). Derfor ma Nk være

det totale antal strenge af kodeord med længde k, dannet af u kodeord. Lad

N = {x = c1c2 · · · cu | ci ∈ C, len(x) = k}, vi har sa Nk = |N |. Der findes

rk strenge af længde k, over et alfabet med r symboler. Vi er nu klar til at

bruge vores forudsætning. Da C er entydigt dekodbar har vi

Nk ≤ rk,

idet vi ellers ville have mere end en repræsentation af en eller flere strenge

Page 41: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.1. KRAFTS ULIGHED 33

af u kodeord med længde k. Vi har nu( m∑

i=1

αiri

)u=

um∑

k=u

Nk

rk

≤um∑

k=u

rk

rk

=

( um∑

k=0

1

)− u

= u(m− 1) + 1

≤ um.

Da u er valgt som som positivt heltal. Vi tager den u’te rod pa begge sider,

og farm∑

k=1

αkrk≤ u 1

um1u .

Dette gælder for alle u ∈ Z+, og ma saledes ogsa gælde for meget store u.

Vi far nu brug for at evaluere

ψ = limu→∞

(u

1um

1u

).

Dette gøres ved at kigge pa elog(ψ).

limu→∞

(log(u

1um

1u )

)= lim

u→∞

(1

ulog(u) +

1

ulog(m)

)

= limu→∞

(1

ulog(u)

)

= limu→∞

(1/u

1

)

= 0.

Hvor tredje lighedstegn fas ved brug af l’Hopitals regel. Vi har da

limu→∞

(u

1um

1u

)= lim

u→∞

(elog(u

1um

1u )

)= 1,

og det ønskede resultat er opnaet

m∑

k=1

αkrk≤ 1.

Page 42: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

34 3.2. HUFFMAN-KODNING

Korollar 3.10. Hvis der findes en entydigt dekodbar kode med ordlængder

l1, l2, . . . , ln, sa ma der ogsa findes en momentan kode med disse ordlængder.

Dette spændende korollar følger direkte ved kombination af Krafts ulighedog McMillans sætning. Det fortæller os, at vi i vores fortsatte udvikling afteorien, uden tab af generalitet, kan nøjes med at se pa momentane koder.

3.2 Huffman-kodning

Emnet Huffman-kodning, som dette afsnit omhandler, er en metode til atfinde optimale, momentane kodningsskemaer.

Før vi beviser Huffmans sætning, gives et eksempel pa, hvordan man, giveten sandsynlighedfordeling, kan konstruere et optimalt kodningsskema.

Eksempel 3.11. Lad sandsynlighedsfordelingen

P = {0.3, 0.05, 0.03, 0.02, 0.3, 0.1, 0.15, 0.05}

være givet. Vi konstruerer et optimalt 4-ært kodningsskema hørende til den-

ne fordeling. Først senere beviser vi, at kodningsskemaet faktisk er optimalt,

men her angiver vi metoden.

Omordn sandsynlighederne i P om nødvendigt, sa de fremkommer i aftagen-

de rækkefølge, og indsæt dem i en søjle, som set i figur 3.1. Vi ønsker nu at

samle visse sandsynligheder, sa vi ender med en ny sandsynlighedsfordeling,

som kun bestar af fire sandsynligheder. Ved at samle sandsynligheder forstas

at trække nogle sandsynligheder ud fra den oprindelige fordeling, lægge dem

sammen, og tilføje denne nye sandsynlighed til de urørte sandsynligheder,

sa vi stadigvæk har en sandsynlighedsfordeling.

Vi slar de to sidste sandsynligheder sammen i første søjle i figuren, og

overfører den nye sandsynlighed til næste søjle sammen med de gamle urørte

sandsynligheder. Herefter slas de fire mindste sandsynligheder sammen fra

anden søjle, og vi far den ønskede sandsynlighedsfordeling med fire sandsyn-

ligheder i tredje søjle. Processen med at sla nogle sandsynligheder sammen

til en kaldes for en Huffman-reduktion. Alle Huffman-reduktioner efter den

første reduktion skal sla 4 sandsynligheder sammen, idet vi ønsker at kon-

struere en 4-ær kode. Den første Huffman-reduktion er løst sagt konstrueret

saledes, at metoden virker – mere herom senere!

Page 43: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.2. HUFFMAN-KODNING 35

0.300.15

0.050.050.030.02

0.10

Sand.

0.300.300.150.100.050.050.05

Sand.

0.300.300.250.15

Sand.

0.30

Figur 3.1: Huffmanindkodning, skridt 1

Tag nu fat i de fire sidste sandsynligheder i tredje søjle i figur 3.2. Tillæg

dem symbolerne 0, 1, 2 og 3 i den rækkefølge, som sandsynlighederne har. Vi

ser i figur 3.1, at vi i anden søjle slog de fire sidste sandsynligheder sammen

til 0.25. Som antydet i figur 3.2 lader vi 2-tallet knyttet til 0.25 ga tilbage

til disse fire sandsynligheder, men tilføjer cifrene fra 0 til 3 efter symbolet 2.

Samme princip gentages, nar vi i figur 3.2 gar fra anden søjle til første søjle.

Pa denne made konstrueres en kode knyttet til den oprindelige sandsynlig-

hedsfordeling. Koden er tydeligvis momentan, og der gælder faktisk ogsa, at

koden er optimal.

0.300.15

0.050.050.030.02

0.10

Sand.

013202122230231

Kode

0.300.300.150.100.050.050.05

Sand.

01320212223

Kode

0.300.300.250.15

Sand.

0123

Kode

0.30

Figur 3.2: Huffmanindkodning, skridt 2

Størrelsen pa den første Huffman-reduktion kan ikke være hvad som helst.Vi har nemlig følgende resultat.

Lemma 3.12. Ved konstruktion af en r-ær Huffman-kode, er den første

Page 44: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

36 3.2. HUFFMAN-KODNING

Huffman-reduktion s entydigt bestemt ved

s ≡ n mod (r − 1), 2 ≤ s ≤ r,

hvor C = (c1, . . . , cn).

Bevis. Ved konstruktion af et optimalt r-ært kodningsskema ønsker vi, at

alle Huffman-reduktionerne, undtagen den første, skal have størrelse r. Fore-

tages en Huffman-reduktion af størrelse t, formindskes antallet af sandsyn-

ligheder med t − 1. Lad s angive størrelsen pa den første reduktion, og lad

u angive antallet af reduktioner af størrelse r, som foretages derefter. Da vi

konstruerer et r-ært kodningsskema, skal der gælder, at

n− (s− 1)− u(r − 1) = r,

hvoraf

s = n− (u+ 1)(r − 1).

Den første reduktions størrelse er mindst 2 og højst størrelsen pa de ef-

terfølgende reduktioner, dvs. 2 ≤ s ≤ r, men vi sa netop, at s ≡ n mod (r−1), sa vi kan vise, at størrelsen pa den første Huffman-reduktion er entydigt

givet ved

s ≡ n mod (r − 1), 2 ≤ s ≤ r.

Antag nemlig, at

s1 ≡ n mod (r − 1), 2 ≤ s1 ≤ r,

og

s2 ≡ n mod (r − 1), 2 ≤ s2 ≤ r.

Da kongruens modulo et heltal er en ækvivalensrelation, har vi ved transi-

tivitet, at

s1 ≡ s2 mod (r − 1),

men |s1 − s2| ≤ r − 2, sa s1 − s2 = 0, hvoraf lemmaet følger.

I eksempel 3.11 var antal sandsynligheder n = 8, og kodens radix r = 3. Davar den første reduktion s entydigt givet ved

s ≡ 8 mod 2, 2 ≤ s ≤ 3,

sa s = 2, hvilket passer med, hvad vi foretog os. Pa vejen mod Huffmanssætning far vi brug for endnu et lemma.

Page 45: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.2. HUFFMAN-KODNING 37

Lemma 3.13. Lad C = (c1, . . . , cn) være et optimalt kodningsskema for

sandsynlighedsfordelingen (p1, . . . , pn), som er ordnet saledes, at p1 ≥ · · · ≥pn, og lad L betegne den største ordlængde af kodeord i C. Hvis C har s

kodeord af længde L pa formen d0, . . . ,d(s − 1), og hvis C ikke har andre

ord end disse med d som præfix, sa er

MinAveLenr(p1, . . . , pn−s, q) = MinAveLenr(p1, . . . , pn)− q,

hvor q = pn−s+1 + · · ·+ pn, og hvor vi arbejder med samme s som ovenfor.

Nar vi kun behandler gennemsnitslængder, er navnene pa symbolerne i ko-dealfabetet ligegyldige. Da vi arbejder med r-ære koder, kan kodealfabetetvælges til {0, 1, . . . , r − 1}.

Bevis. Antag, at P = (p1, . . . , pn) er en sandsynlighedsfordeling ordnet

saledes, at pi ≥ pi+1 for alle i ∈ {1, . . . , n − 1}. Foretages en Huffman-

reduktion af størrelse s, fremkommer sandsynlighedsfordelingen

Q = (p1, . . . , pn−s, q),

hvor q = pn−s+1 + · · ·+ pn. Lad endvidere

D = (c1, . . . , cn−s,d)

være et optimalt kodningsskema for Q. Vi udvider kodningsskemaet D ved

at omdanne kodeordet d til s nye kodeord af længde L pa formen

d0,d1, . . . ,d(s− 1).

Saledes er

C = (c1, . . . , cn−s,d0, . . . ,d(s− 1))

et kodningsskema for P , og da D var momentan, er C momentan.

Da nu

AveLen(D) =n−s∑

i=1

pili + q len(d),

og

AveLen(C) =n−s∑

i=1

pili +n∑

i=n−s+1

pi(len(d) + 1) =n−s∑

i=1

pili + q(len(d) + 1),

Page 46: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

38 3.2. HUFFMAN-KODNING

sa gælder, at

MinAveLenr(p1, . . . , pn) ≤ AveLen(C) = AveLen(D) + q

= MinAveLenr(p1, . . . , pn−s, q) + q,

hvor det sidste lighedstegn følger af, at D er optimal.

KodningsskemaetC er optimalt, hvis og kun hvisMinAveLenr(p1, . . . , pn) =

AveLen(C), men sa er C optimalt, hvis og kun hvisMinAveLenr(p1, . . . , pn) =

MinAveLenr(p1, . . . , pn−s, q) + q. For at opna dette, vil vi under lemmaets

antagelser vise, at

MinAveLenr(p1, . . . , pn) ≥MinAveLenr(p1, . . . , pn−s, q) + q, (3.5)

hvorfor vi sa har den ønskede identitet. Lad K være et optimalt kodnings-

skema for fordelingen P , og lad den største ordlængde i K være L. Antag,

at K har s kodeord af længde L pa formen

d0, . . . ,d(s− 1)

for et d ∈ {0, 1, . . . , r − 1}∗, hvor ∗ angiver samtlige ord af endelig længde,

der kan dannes af dette alfabet. For fordelingen (p1, . . . , pn−s, q) kan vi sa

danne kodningsskemaet

D = (c1, . . . , cn−s,d),

og sa haves

MinAveLenr(p1, . . . , pn−s, q) ≤ AveLen(D)

=n−s∑

i=1

pili + (L− 1)q

=

n∑

i=1

pili − q

= AveLen(K)− q= MinAveLenr(p1, . . . , pn)− q,

men sa gælder (3.5).

Vi fremhæver, at resultatet i lemma 3.13 forudsatte, at der fandtes et opti-malt kodningsskema C for P med egenskaben, at C har s kodeord af mak-simal længde L pa formen d0, . . . ,d(s− 1) (C kan dog godt have andre ordaf maksimal længde, men ikke med d som præfix). Vi mangler omtrent kunat vise, at denne antagelse er sand.

Page 47: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.2. HUFFMAN-KODNING 39

Sætning 3.14. Lad P = (p1, . . . , pn) være en sandsynlighedsfordeling, hvor

p1 ≥ p2 ≥ · · · ≥ pn. Sa eksisterer et optimalt r-ært kodningsskema C =

(c1, . . . , cn) for P , som har netop s kodeord af maksimal længde L pa formen

d0, . . . ,d(s− 1), hvor s er som i lemma 3.12.

Vores bevis for denne sætning struktureres pa samme made som beviset i[Rom92].

Bevis. Vælg et optimalt r-ært kodningsskemaC = (c1, . . . , cn) for (p1, . . . , pn),

som har den mindst mulige samlede ordlængde

n∑

i=1

li.

Om C gælder, at pi > pj medfører, at li ≤ lj . Antag nemlig modsætningsvist,

at pi > pj og li > lj . Sa er pi(li−lj) > pj(li−lj), hvoraf pili+pj lj > pj li+pilj .

Ved at bytte om pa kodeordene ci og cj fas sa et kodningsskema med en

mindre ordgennemsnitslængde, hvilket strider imod, at C er optimal. Pr.

antagelse er

p1 ≥ · · · ≥ pn,

og derfor er

l1 ≤ · · · ≤ ln.

Lad der nu være netop k kodeord i C af maksimal længde L, sa vi har

ln−k < ln−k+1 = · · · = ln = L.

Vi minder om, at s er længden af den første Huffman-reduktion. Vi vil vise,

at k ≥ s og at k ≡ s mod r, sa C indeholder mindst s kodeord af maksimal

længde. Vi har, at Kraft-summen

K =n∑

i=1

r−li ≤ 1,

idet C er en momentan kode. Vi har desuden, at

K > r−L − r−(L−1) + 1 (3.6)

for antag modsætningsvist, at K − r−L + r−(L−1) ≤ 1. Vi trækker r−L fra

K, men lægger r−(L−1) til, hvilket svarer til at udskifte det sidste led r−L i

Page 48: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

40 3.2. HUFFMAN-KODNING

summen K med r−(L−1). I sa fald vil der ifølge Krafts ulighed (sætning 3.8)

findes en momentan kode med ordlængderne

l1, . . . , ln−1, ln − 1

stridende mod, at C var valgt til at have minimal samlet ordlængde blandt

r-ære, optimale kodningsskemaer, hvis pn 6= 0, og stridende mod, at C var

optimalt, hvis pn = 0.

Fra (3.6) har vi, at

1 + r−L − r−(L−1) < K ≤ 1,

hvoraf vi ved multiplikation med rL far

rL − r + 1 < rLK ≤ rL.

Da rLK er et positivt heltal, findes dermed et α ∈ {2, 3, . . . , r}, sa

rLK = rL − r + α.

Da (r − 1) | (rL − r), har vi derfor, at

rLK ≡ α mod (r − 1). (3.7)

Da der gælder, at rL−li ≡ 1 mod (r− 1) (pr. Fermats lille sætning) for alle

li ∈ {0, . . . , L}, og da

rLK =n∑

i=1

rL−li ,

vil

rLK ≡ n mod (r − 1). (3.8)

Fra (3.7) og (3.8) fas pr. transitivitet, at α ≡ n mod (r−1), og da 2 ≤ α ≤ r,har vi ifølge lemma 3.12, at α = s, dvs.

rLK = rL − r + s. (3.9)

Da r|(rL − r) har vi fra (3.9), at

rLK ≡ s mod r, (3.10)

og da L− li = 0, hvis og kun hvis i > n− k, da det kun er for disse i’er, at

li antager værdien L, er

rLK =

n∑

i=1

rL−li =

n−k∑

i=1

rL−li + k,

Page 49: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.2. HUFFMAN-KODNING 41

hvorfor

rLK ≡ k mod r. (3.11)

Ligningerne (3.10) og (3.11) giver tilsammen, at

s ≡ k mod r,

men da 2 ≤ s ≤ r, har vi enten k ≤ 0, k = s eller k > r. Vi udelukker

den første mulighed, da vi ikke kan tale om et ikke-positivt antal kodeord

af maksimal længde. Da r ≥ s, gælder derfor, at k ≥ s, sa C indeholder

mindst s kodeord af maksimal længde L – lad de sidste s ord have maksimal

længde. Da ogsa s ≡ k mod r, sa findes et t ≥ 0, saledes at k = s+ tr. Hvis

d1, . . . ,dt,d er forskellige ord af længde L − 1, sa kan ordene af længde L

efter passende ombytninger antages at være pa formen

d10, . . . ,d1(r − 1)

...

dt0, . . . ,dt(r − 1)

d0, . . . ,d(s− 1).

Bemærk, at denne ombytning ikke laver om pa, at C er momentan, og ej

heller, at C er et optimalt skema, idet vi nøjes med at udskifte ord af samme

længde. Vi vil opna, at ordene

d0,d1, . . . ,d(s− 1) (3.12)

er de s sidste. Da de sidste k kodeord i C har samme længde, kan de om

nødvendigt omordnes saledes, at ordene i (3.12) er de s sidste, hvorfor vi

opnar det ønskede. Saledes har vi fundet et optimalt kodningsskema med

den ønskede egenskab.

Vi er klar til at formulere Huffmans sætning. Da vi har rullet alle kanoner istilling, bevises denne let.

Sætning 3.15 (Huffmans sætning). Lad P = (p1, . . . , pn) være en sandsyn-

lighedsfordeling med p1 ≥ · · · ≥ pn. Sa gælder, at

MinAveLenr(p1, . . . , pn) = MinAveLenr(p1, . . . , pn−s, q) + q.

Det følger heraf, at hvis D = (c1, . . . , cn−s,d) er et optimalt kodningsskema

for p1, . . . , pn−s, q, sa er (c1, . . . , cn−s,d0, . . . ,d(s−1)) et optimalt kodnings-

skema for p1, . . . , pn.

Page 50: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

42 3.3. KILDEKODNINGSSÆTNINGEN

Bevis. Antag, at fordelingen P = (p1, . . . , pn) er ordnet, sa p1 ≥ · · · ≥ pn.

Ifølge sætning 3.14 findes et optimalt r-ært kodningsskema C for P , som

har s kodeord af maksimal længde L pa formen (3.12). Ifølge lemma 3.13 vil

det for et sadant kodningsskema gælde, at

MinAveLenr(p1, . . . , pn) = MinAveLenr(p1, . . . , pn−s, q) + q.

Pr. konstruktion er D et optimalt kodningsskema. Som set i beviset for

lemma 3.13, sa er C optimalt, hvis der gælder ovenstaende, som vi netop

beviste.

3.3 Kildekodningssætningen

Gennem kildekodningssætningen opnar vi et mal for hvor meget det er mu-ligt at komprimere sine data under forudsætning af at ens kode er momentan,og dermed entydig dekodbar. Vi far brug for følgende sætning, der giver envurdering af middelordlængden vha. entropien.

Sætning 3.16. Lad C = (c1, . . . , cn) være en momentan kode, og lad P =

(p1, . . . , pn) være den tilhørende sandsynlighedsfordeling. Da gælder at

Hr(p1, . . . , pn) ≤ AveLen(c1, . . . , cn),

og der gælder lighedstegn, hvis og kun hvis

li = logr

(1

pi

).

Bevis. Da C er en momentan kode, vil den opfylde Krafts ulighed, dvs. vi

harn∑

i=1

1

rli≤ 1,

men sa kan vi sætte 1/rli = qi og benytte sætning 2.4. Vi far

Hr(p1, . . . , pn) =

n∑

i=1

pi logr

(1

pi

)

≤n∑

i=1

pi logr

(1

qi

)=

n∑

i=1

pi logr(rli)

=n∑

i=1

pili = AveLen(c1, . . . , cn).

Page 51: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.3. KILDEKODNINGSSÆTNINGEN 43

I sætning 2.4 gælder lighedstegn, hvis og kun hvis

pi = qi ⇔ pi =1

rli⇔ li = logr

(1

pi

).

Da vi ønsker sa lille en middelordlængde som muligt, er det klart, at vi gernevil komme sa tæt pa den nedre grænse for denne som muligt. Det fremgaraf ovenstaende, at vi kun kan komme helt ned pa den nedre grænse, hvisli = logr (1/pi). Dette er imidlertid sjældent et heltal, sa det er ikke sa ofteat grænsen nas.

Kildekodningssætningen, som vi vil fremføre nedenfor, siger, at det er muligtat konstruere momentane koder, der ligger tæt pa entropifunktionen.

Sætning 3.17 (Kildekodningssætningen). Lad C = (c1, . . . , cn) være en

momentan kode og P = (p1, . . . , pn) sandsynlighedsfordelingen herfor. Da

gælder, at

Hr(p1, . . . , pn) ≤MinAveLenr(p1, . . . , pn) < Hr(p1, . . . , pn) + 1.

Bevis. Kan vi konstruere en momentan kode, saledes at ovenstaende ulighed

er opfyldt, er vi færdige. Vi bemærker desuden, at den første ulighed er givet

fra den forrige sætning. Lad

li = dlogr

(1

pie),

og dermed er følgende ulighed opfyldt

logr1

pi≤ li < logr

1

pi+ 1.

Vi ønsker nu at konstruere en kode, der har ordlængder li. Der eksisterer en

momentan kode med disse ordlængder, da

li ≥ logr1

pi⇔ rli ≥ 1

pi⇔ pi ≥

1

rlifor alle i = 1, . . . , n,

men sa ma ogsan∑

i=1

1

rli≤

n∑

i=1

pi = 1,

Page 52: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

44 3.3. KILDEKODNINGSSÆTNINGEN

som viser, at Krafts ulighed er opfyldt. Derfor findes en momentan kode

med ordlængder li. Vi ser nu, at dennes middelordlængde er

AveLen(c1, . . . , cn) =

n∑

i=1

pili

≤n∑

i=1

pi(logr1

pi+ 1)

=n∑

i=1

pi logr1

pi+

n∑

i=1

pi

= Hr(p1, . . . , pn) + 1.

Sa for den momentane kode vi har konstrueret, har vi

Hr(p1, . . . , pn) ≤ AveLen(c1, . . . , cn) < Hr(p1, . . . , pn) + 1,

men sa ma der for en kode med minimal middelordlængde for sandsynlig-

hedsfordelingen P = (p1, . . . , pn) gælde

Hr(p1, . . . , pn) ≤MinAveLenr(p1, . . . , pn) < Hr(p1, . . . , pn) + 1.

I ovenstaende kodes et kildesymbol af gangen. Vi vil nu se, at man kannedsætte middelordlængden pr. kildesymbol ved at kode flere kildesymbolerpa samme tid. Vi vil derfor udvide vores kilde til en sakaldt superkilde.

Definition 3.18. Den m’te udvidelse af kilden S = (S, P ) betegnes Sm =

(Sm, Pm), hvor Sm = {(x1, . . . , xm) | xi ∈ S} og sandsynlighedsfordelingen

Pm er defineret ved Pm((X1, . . . ,Xm)

)= P (X1) · · ·P (Xm). Denne kaldes

en superkilde.

Vi far brug for følgende sætning.

Sætning 3.19. Lad X1, . . . ,Xn være stokastiske variable. Da gælder, at

Hr(X1, . . . ,Xn) ≤ Hr(X1) + . . .+Hr(Xn) (3.13)

Ovenstaende er en lighed, hvis og kun hvis X1, . . . ,Xn er uafhængige.

Page 53: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

3.3. KILDEKODNINGSSÆTNINGEN 45

Bevis. Vi laver følgende omskrivninger af venstresiden.

Hr(X1, . . . ,Xn) =∑

i1,...,in

p(xi1 , . . . , xin) logr

(1

p(xi1 , . . . , xin)

)

≤∑

i1,...,in

p(xi1 , . . . , xin) logr

(1

p(xi1), . . . , p(xin)

)(3.14)

=∑

i1,...,in

p(xi1 , . . . , xin)(logr

(1

p(xi1)

)+ . . .+ logr

(1

p(xin )

))

=∑

i1

p(xi1) logr

(1

p(xi1)

)+ . . .+

in

p(xin) logr

(1

p(xin )

)(3.15)

= Hr(X1) + . . .+Hr(Xn),

hvor (3.14) følger af sætning 2.4, da vi har, at∑

i1,...,inp(xi1 , . . . , xin−1)p(xin) =

1, og vi derfor kan bruge denne som vores Q-fordeling.

Ligheden (3.15) følger af det faktum, at vi kan summe variable ud, dvs for

de stokastiske variable X1, . . . ,Xn gælder der, at

p(xin) =∑

i1,...,in−1

p(xi1 , . . . , pin).

Der gælder lighedstegn hvis og kun hvis der gælder lighedstegn i sætning

2.4, hvilket er nar P (X1, . . . ,Xn) = P (X1) · · ·P (Xn), dvs. hvis og kun hvis

X1, . . . ,Xn er uafhængige.

Vi kan nu vise følgende sætning.

Sætning 3.20. Lad Sm være superkilden givet i definition 3.18. Da gælder

Hr(Sm) = mHr(S).

Bevis. Vi sa i ovenstaende sætning, sætning 3.19, at Hr(X1, . . . ,Xm) =

Hr(X1)+ . . .+Hr(Xm), hvis og kun hvis X1, . . . ,Xm er uafhængige. Fra de-

finitionen af Pm, vil denne være sandsynlighedsfordelingen for X1, . . . ,Xm,

hvis disse er uafhængige. Eller sagt pa en anden made, Pm opfylder pr. de-

finition den betingelse, der sikrer lighedstegn i ovenstaende sætning. Derfor

haves

Hr(Sm) = Hr(X1, . . . ,Xm) = Hr(X1) + . . .+Hr(Xm)

= Hr(S) + . . .+Hr(S) = mHr(S).

Page 54: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

46 3.3. KILDEKODNINGSSÆTNINGEN

Hvis vi anvender dette resultat i kildekodningssætningen fas

mHr(S) ≤MinAveLen(C) ≤ mHr(S) + 1.

dvs.

Hr(S) ≤ MinAveLen(C)

m≤ Hr(S) +

1

m.

Det fremgar, at det er muligt at komme vilkarligt tæt pa den nedre grænsefor minimumordlængden ved at lade m ga mod uendeligt. Dette betyder, atdet kan være en stor fordel at kode flere kildesymboler pa samme tid.

Page 55: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 4

Kanalkodning

Kanalkodning er yderst relevant indenfor teorien om kommunikation. HvisAdam sender kærestebreve til Birgitte over internettet, sa er det i høj grad iAbrahams interesse, at Birgitte faktisk læser det, som Abraham har skrevet,og ikke en uheldig udgave, der er et resultat af fejl under overførslen, somingen har taget sig tid til at rette. Abraham tager det muligvis for givet, atBirgitte far hans originaltekst, men han burde takke udviklerne af kodnings-og informationsteorien.

Her formaliserer vi begrebet kanal, og indfører desuden en del definitioner.

4.1 Kanaler og fejlsandsynligheder

Vi vil ikke betragte en vilkarlig kanal.

Definition 4.1. En diskret hukommelsesfri kanal bestar af et input-alfabet

I = {x1, . . . , xs}, et output-alfabet O = {y1, . . . , yt}, og en mængde af over-

gangssandsynligheder p(yj | xi), som opfylder, at

t∑

j=1

p(yj | xi) = 1

for alle i ∈ {1, . . . , s}.

Vi opfatter p(yj | xi) som sandsynligheden for, at yj modtages, nar xi sendes.I denne rapport vil alle kanaler være diskrete og hukommelseslfrie, og viomtaler blot disse som kanaler.

47

Page 56: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

48 4.1. KANALER OG FEJLSANDSYNLIGHEDER

Til input og output for en kanal vil vi knytte sandsynlighedsfordelinger.Hvis vi nemlig betragter input til en kanal som en stokastisk variabel X,sa er inputfordelingen bestemt ved P (X = xi) = p(xi). Lad den stokastiskevariabel Y have værdier i O, sa er outputfordelingen defineret ved

P (Y = yj) =s∑

i=1

p(yj | xi)p(xi).

Som man kunne forvente, afhænger outputfordelingen af inputfordelingen.Den simultane fordeling af X og Y er givet ved

P (X = xi, Y = yj) = p(yj | xi)p(xi),

og endelig er de baglænse overgangssandsynligheder givet ved

P (X = xi | Y = yj) =P (X = xi, Y = Yj)

P (Y = yj).

Vi far brug for disse begreber senere hen, og nar der ikke er grund til for-virring vil vi benytte os af notationerne

p(xi) = P (X = xi),

p(yj) = P (Y = yj),

p(xi, yj) = P (X = xi, Y = yj),

p(xi | yj) = P (X = xi | Y = yj),

p(yj | xi) = P (Y = yj | X = xi).

En teoretisk anvendeligt kanal er den binære symmetriske kanal. Her bestarinput- og output-alfabeterne af 0 og 1, og vi siger, at kanalen har overgangs-sandsynlighed p. Med andre ord er sandsynligheden for en bitfejl p (se figur4.1). Vi skal snart se, at den binære symetriske kanal er et specialtilfælde

11

0 0

p

1−p

p

1−p

Figur 4.1: Den binære symmetriske kanal

af en bestemt klasse af kanaler kaldet symmetriske kanaler.

Page 57: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.1. KANALER OG FEJLSANDSYNLIGHEDER 49

Definition 4.2. Hvis X og Y er stokastiske variable, sa er den betingede

entropi af X givet Y = yj bestemt ved

H(X | Y = yj) =s∑

i=1

p(xi | yj) log

(1

p(xi | yj)

).

Endvidere er den betingede entropi af X givet Y den gennemsnitlige betin-

gede entropi af X givet Y = yj , det vil sige:

H(X | Y ) =t∑

i=j

H(X | Y = yj)p(yj)

=t∑

j=1

s∑

i=1

p(xi | yj)p(yj) log

(1

p(xi | yj)

).

Vi tolker den betingede entropi H(X | Y ) som den usikkerhed i X, som ertilbage efter vi har set Y . Bemærk, at vi i disse definitioner hverken har taltom input, output eller kanaler, sa definitionerne gælder for alle stokastiskevariable. Faktisk har vi følgende naturlige sætning om den betingede entropi.

Sætning 4.3. Hvis X og Y er stokastiske variable, sa er

H(X | Y ) = H(X,Y )−H(Y ),

hvor grundtallet er ligegyldigt.

Bevis. Vi regner.

H(X | Y ) =∑

i,j

p(xi | yj)p(yj) log

(1

p(xi | yj)

)

=∑

i,j

p(xi, yj) log

(p(yj)

p(xi, yj)

)

=∑

i,j

p(xi, yj) log

(1

p(xi, yj)

)−∑

i,j

p(xi, yj) log

(1

p(yj)

)

=∑

i,j

p(xi, yj) log

(1

p(xi, yj)

)−∑

j

p(yj) log

(1

p(yj)

)

= H(X,Y )−H(Y ).

Page 58: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

50 4.2. KANALKAPACITET

Sætningen siger, at H(X,Y ) = H(X | Y ) + H(Y ), sa vi kan opfatte densamlede entropi i X og Y som summen af entropien af Y og entropien i X,efter vi har kendskab til Y .Der findes forskellige typer kanaler. Vi vil særligt komme med fa bemærknin-ger om de symmetriske kanaler. De beskrives bedst med følgende værktøj.

Definition 4.4. Hvis en kanal har input I = {x1, . . . , xs} og output O =

{y1, . . . , yt}, sa er overgangsmatricen for kanalen defineret ved

p(y1 | x1) p(y2 | x1) . . . p(yt | x1)

p(y1 | x2) p(y2 | x2) . . . p(yt | x2)...

...

p(y1 | xs) p(y2 | xs) . . . p(yt | xs)

.

De specielle symmetriske kanaler, som vi vil arbejde med i næste afsnit,defineres ud fra denne matrix. Vi har nemlig, at en kanal kaldes rækkesym-metrisk, hvis alle rækker i overgangsmatricen for kanalen er permutationeraf hinanden. Tilsvarende kaldes en kanal for søjlesymmetrisk, hvis alle søjleri matricen er permutationer af hinanden. Hvis en kanal er pæn i den for-stand, at den bade er række– og søjlesymmetrisk, sa kalder vi kanalen forsymmetrisk.

Eksempel 4.5. Som lovet er den binære symmetriske kanal et eksempel pa

en symmetrisk kanal. Desuden vil vi tale om den q-ære symmetriske kanal,

som er en kanal, hvor output- og input-alfabeterne begge har størrelse q, og

hvor p(yj | xi) = pq−1 , nar i 6= j, og p(yj | xj) = 1− p.

4.2 Kanalkapacitet

En kanals kapacitet er et centralt begreb i kommunikationsteori. Løst sagtangiver den en kanals brugbarhed. Dette formaliseres snart.

Lad en kanal have input X og output Y . Bemærk, at

H(X)−H(X | Y ) = H(X)− (H(X,Y )−H(Y ))

= H(X) +H(Y )−H(X,Y )

= H(Y )−H(Y | X),

sa udtrykket H(X) − H(X | Y ) er symmetrisk i X og Y . Vi har dermedgivet mening til følgende definition:

Page 59: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.2. KANALKAPACITET 51

Definition 4.6. Ved udtrykket

I(X;Y ) = H(X)−H(X | Y ) = H(Y )−H(Y | X)

forstas den gensidige information i X og Y .

Vi ser, at vi kan tolke den gensidige information I(X;Y ) som informationeni X minus informationen tilbage i X, efter vi har faet kendskab til Y , og pagrund af symmetriegenskaben ved I(X;Y ), gælder samme fortolkning medX ombyttet med Y . Informationen I(X;Y ) kan ogsa tolkes som mængdenaf information om X, som kommer gennem kanalen.Da entropifunktionenH afhænger af inputfordelingen, vil værdien af I(X;Y )variere for forskellige valg af inputfordelinger. Nar vi sender information gen-nem en kanal, er vi naturligvis interesseret i, at vi kan se mest muligt af,hvad vi sendte. Vi ønsker med andre ord, at I(X;Y ) er størst mulig. Netopdette ønske giver anledning til følgende definition.

Definition 4.7. Kapaciteten for en kanal er defineret ved

C = maxp(xi)

I(X;Y ),

hvor p(xi) er inputfordelinger for kanalen.

Med andre ord er kapaciteten for en kanal defineret som maksimum af dengensidige information af input X og output Y taget over alle inputfordelin-ger for kanalen. Kanalkapaciteten er altsa et mal for, hvor meget informationom X vi maksimalt kan sende gennem kanalen for et passende valg af input-fordeling p(xi). Givet en kanal er det generelt ikke en let opgave at finde denskapacitet. Vi viser her, at kapaciteten for en symmetrisk kanal er velkendt.

Sætning 4.8. Kapaciteten for en symmetrisk kanal er givet ved

Csym = log t−t∑

j=1

p(yj | xi) log

(1

p(yj | xi)

)

for ethvert i ∈ {1, . . . , s}, hvor log har grundtal s. Kapaciteten opnas for

den uniforme inputfordeling p(xi) = 1s .

Bevis. Antag, at en symmetrisk kanal har input X og output Y . Vi har før

set, at der for enhver kanal gælder, at

H(Y | X) =∑

i

p(xi)

j

p(yj | xi) log

(1

p(yj | xi)

) ,

Page 60: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

52 4.2. KANALKAPACITET

og da den pagældende kanal er symmetrisk, vil den inderste sum være uaf-

hængig af indekset i fra den ydre sum, svarende til definition 4.2, hvor vi

har byttet om pa X og Y . Saledes er

H(Y | X) =

j

p(yj | xi) log

(1

p(yj | xi)

)(∑

i

p(xi)

)

=∑

j

p(yj | xi) log

(1

p(yj | xi)

). (4.1)

Vi ser, at H(Y | X) ikke afhænger af fordelingen p(xi) for X, og dermed er

Csym = maxp(xi)

I(X;Y )

= maxp(xi)

(H(Y )−H(Y | X))

= maxp(xi)

(H(Y ))−H(Y | X). (4.2)

Som set i sætning 2.5, sa antagerH(Y ) sit maksimum log t, nar Y er uniformt

fordelt. Som lovet i sætningen gælder, at hvis p(xi) = 1/s, sa er

P (Y = yj) =s∑

i=1

p(xi)p(yj | xi) =1

s

s∑

i=1

p(yj | xi),

og da kanalen er symmetrisk, er den sidste sum uafhængig af j, sa Y er

uniformt fordelt netop nar X er uniformt fordelt. Ved indsættelse i (4.2) fas

slutteligt

Csym = log t−∑

j

p(yj | xi) log

(1

p(yj | xi)

),

hvilket skulle vises.

I følgende korollar benyttes sætningen blot pa den binære symmetriske ka-nal.

Korollar 4.9. Kapaciteten for den binære symmetriske kanal med over-

gangssandsynlighed p er givet ved

Cbin sym = 1−H(p).

Page 61: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.3. KANALKODNINGSSÆTNINGEN 53

4.3 Kanalkodningssætningen

Kanalkodningssætningen gælder for en generel kanal, men vi vil nøjes med atbevise den for den q-ære symmetriske kanal. Vi far brug for nogle overvejelseromkring kodens hastighed.

4.3.1 Indledende betragtninger

Lad os antage, at vores informationsstrenge har længde k, og vores kodeordhar længde n, og at der endvidere er tale om en s-ær kode C. Vi har daR = k

n , hvor R er kodens hastighed. Størrelsen pa koden vil da mindst væresk, da vi skal være i stand til at sende alle forskellige strenge af længde kover et alfabet med størrelse s. Vi har da

sk ≤ |C| ⇔ k ≤ logs |C| ⇔ R ≤ logs |C|n

.

Vi har altsa en øvre grænse for hastigheden af en s-ær kode C med længden, og vi vil i resten af afsnittet antage, at sk = |C| og dermed

R(C) =logs |C|

n. (4.3)

Inden vi gar i gang med sætningen vil vi omskrive det udtryk, vi tidligereudledte for kapaciteten af en q-ær symmetrisk kanal, til noget mere anvende-ligt. For en q-ær symmetrisk kanal gælder pr. definition, at input- og output-alfabeterne har samme størrelse, nemlig q. Lad os antage, at vi har givet enq-ær symmetrisk kanal med fejlsandsynlighed p. Vi har da

p(yj | xi) =

{1− p hvis j = ipq−1 hvis j 6= i

, (4.4)

da vi fordeler fejlsandsynligheden ligeligt ud over de resterende q − 1 ele-menter i alfabetet. Fra sætning 4.8 har vi (bemærk, at s = t = q, da kanalener symmetrisk)

C = logq(q)−q∑

j=1

(p(yj | xi) logq

(1

p(yj | xi)

)).

Page 62: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

54 4.3. KANALKODNINGSSÆTNINGEN

Vi bruger (4.4), bemærker at logq(q) = 1, og far

C = 1−q−1∑

j=1

(p

q − 1logq

(q − 1

p

))− (1− p) logq

(1

1− p

)

= 1− p logq

(q − 1

p

)+ (1− p) logq(1− p)

= 1 + p logq(p)− p logq(q − 1) + (1− p) logq(1− p)

= 1−Hq(p)− p logq(q − 1). (4.5)

Se figur 4.2 for en grafisk fortolkning af kapaciteten som funktion af fejlsand-synligheden, bemærk at for den binære symmetriske kanal, er kapacitetensymmetrisk omkring p = 1

2 .

0.6 1

0.4

0.2

1

0.40

0.80.20

C

p

0.8

0.6

q=3 q=4 q=2

Figur 4.2: Kapaciteten af den q-ære symmetriske kanal som funktion af

fejlsandsynligheden, for tre forskellige værdier af q

Page 63: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.3. KANALKODNINGSSÆTNINGEN 55

4.3.2 Sætningens bevis

I beviset for kanalkodningssætningen anvendes tilfældig kodning, dvs. kode-ordene vælges tilfældigt. Man kigger derefter pa middelværdien af fejlsand-synligheden, og viser, at den gar mod nul. Af denne grund er beviset ikkekonstruktivt, dvs. beviset fortæller os ikke, hvordan vi skal finde disse koder,men viser blot, at de eksisterer. Vi kan i princippet heller ikke være sikrepa, at disse koder, der loves, er mulige at implementere.

Vi vil nu vise følgende sætning, som fører til kanalkodningssætningen.

Sætning 4.10. Lad der være givet en q-ær symmetrisk kanal med kapacitet

C. For R < C eksisterer der en følge Cn af q-ære koder med tilknyttede

beslutningsskemaer fn med følgende egenskaber:

• Cn er en (n, dqnRe)-kode med hastighed mindst R.

• For vores beslutningsskema fn gælder, at P ave (n)→ 0, for n→∞.

Bevis. Lad os betragte en q-ær symmetrisk kanal med fejlsandsynlighed

p < q−1q . Lad Cn = (c1, . . . , cm) være en vilkarlig kode med størrelse m

og længde n, og vælg et ε > 0 sa p + ε < q−1q . Vi lader nu ξ = n(p + ε), og

dette ξ vil vi nu bruge til at definere et beslutningsskema. Lad os antage, at

strengen d modtages. Hvis der i den q-ære Hammingkugle (refererende til,

at vi i kuglen bruger Hammingafstanden som afstandsmal) med centrum i

d og radius ξ findes netop et kodeord ci, sa vælges dette. Hvis der findes

mere end et kodeord, eller intet i B(d, ξ), sa melder vi en dekodningsfejl.

Lad os se pa sandsynligheden for fejl med vores beslutningsskema. Hvis

ci sendes og d modtages, sa laver vi en fejl, hvis ci /∈ B(d, ξ), eller hvis

ci ∈ B(d, ξ) og der eksisterer et andet kodeord ck med k 6= i og ck ∈ B(d, ξ),

dvs.

p(fejl | ci) ≤∑

d∈qn

ci /∈B(d,ξ)

p(d | ci) +m∑

j=1

j 6=i

d∈qn

cj∈B(d,ξ)

p(d | ci).

Her betegner qn mængden af q-ære vektorer af længde n. Bemærk at det

er en overvurdering, da vi har fjernet betingelsen ci ∈ B(d, ξ) i den sidste

sum.

Page 64: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

56 4.3. KANALKODNINGSSÆTNINGEN

Vi vil nu undersøge udtrykket

θn :=∑

d∈qn

ci /∈B(d,ξ)

p(d | ci).

Det udtrykker sandsynligheden for, at vi laver mere end ξ bitfejl. Da vores

vektor er q-ær, og sandsynligheden for en bitfejl pa hver koordinat er givet

ved p, er antallet af bitfejl pa vektoren binomialfordelt. Ifølge Chebychevs

ulighed har vi for en diskret eller kontinuert stokastisk variabel X, med

middelværdi µ og varians σ2, at

P (|X− µ| ≥ a) < σ2

a2

(bemærk at denne version følger af (2.7) ved at sætte a = kσ) for et vilkarligt

a > 0.

Lad X være den stokastiske variabel, som angiver antallet af bitfejl pa vores

vektor (antal bitfejl pa ci ∈ qn). Sa er X er binomialfordelt med middelværdi

np og varians np(1− p). Vi har da

P (X ≥ n(p+ ε)) = P (X− np ≥ nε)≤ P (|X− np| ≥ nε)

<np(1− p)

(nε)2

=1

n· p(1− p)

ε2→ 0 for n→∞.

Vi har derfor P (ci ∈ B(d, ξ)) → 1, for n → ∞, og saledes θn → 0, for

n→∞. Vi har nu

P (fejl | ci) ≤ θn +

m∑

j=1

j 6=i

d∈qn

cj∈B(d,ξ)

p(d | ci).

I stedet for at kigge pa P (fejl | ci) vil vi se pa P ave . Vi summerer derfor over

alle kodeord ci og normerer med antal kodeord m:

P ave (c1, . . . , cm) ≤ θn +

1

m

m∑

i=1

m∑

j=1

j 6=i

d∈qn

cj∈B(d,ξ)

p(d | ci).

Lad

δξ(x,y) :=

{1 hvis d(x,y) ≤ ξ0 ellers

. (4.6)

Page 65: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.3. KANALKODNINGSSÆTNINGEN 57

Funktionen δξ kan saledes bruges til indikator for om cj ∈ B(d, ξ). Vi far

P ave (c1, . . . , cm) ≤ θn +

1

m

m∑

i=1

m∑

j=1

j 6=i

d∈qn

δξ(d, cj) · p(d | ci).

Vi vil nu introducere tilfældig kodning. Vi vælger vores kodeord uafhængigt

af hinanden, og lader wi være stokastiske variable ligefordelt pa alle q-ære

vektorer af længde n, saledes at wi’erne kommer til at repræsentere vores

tilfældige kodeord. Vi har da, at

P ave (w1, . . . ,wm) ≤ θn +

1

m

m∑

i=1

m∑

j=1

j 6=i

d∈qn

δξ(d,wj) · p(d | wi).

Vi tager middelværdi pa begge sider af ulighedstegnet. Middelværdien af

en konstant multipliceret med en stokastisk variabel er lig konstanten mul-

tipliceret med middelværdien af variablen, og middelværdien af en sum er

lig middelværdien af de enkelte elementer i summen, hvor middelværdien

af en konstant er konstanten selv. Ydermere, hvis en stokastisk variabel

X1 kan vurderes opadtil med en anden stokastisk variabel X2, sa har vi

E(X1) ≤ E(X2), og sluttelig bemærkes, at middelværdien af et produkt af

uafhængige stokastiske variable er produktet af middelværdierne. (se evt.

sætning 3.7.5-3.7.7 i [Sør04]). Vi har altsa, at

E(P av

e (w1, . . . ,wm))≤ θn +

1

m

m∑

i=1

m∑

j=1

j 6=i

d∈qn

E(δξ(d,wj)) ·E(p(d | wi)).

(4.7)

Vi husker pa, at middelværdien er givet ved summen af de mulige udfald

multipliceret med sandsynligheden for disse udfald, dvs.

E(δξ(d,wj)) =∑

x∈qn

δξ(d,x)P (wj = x)

=1

qn

x∈qn

δξ(d,x)

=1

qn|B(d, ξ)|, (4.8)

hvor |B(d, ξ)| er antal elementer i kuglen. Vi bemærker, at |B(d, ξ)| =

|B(0, ξ)|, bruger sætning 2.8 og far

|B(0, ξ)| ≤ qn(Hq(p+ε)+(p+ε) logq(q−1)).

Page 66: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

58 4.3. KANALKODNINGSSÆTNINGEN

Det kan vi gøre, da p+ ε < q−1q . Vi har ogsa, at

E(p(d | wi)) =∑

x∈qn

p(d | x)p(wi = x)

=1

qn

x∈qn

p(d | x). (4.9)

Vi kombinerer (4.7), (4.8) og (4.9) og far

E(P av

e (w1, . . . ,wm))≤ θn +

1

m

m∑

i=1

m∑

j=1

j 6=i

d∈qn

|B(0, ξ)|qn

· 1

qn·∑

x∈qn

p(d | x).

(4.10)

Bemærk, at∑

x∈qn

∑d∈qn p(d | x) =

∑x∈qn 1 = qn, sa (4.10) reduceres til

E(P av

e (w1, . . . ,wm))≤ θn +

1

m

|B(0, ξ)|qnqn

m∑

i=1

m∑

j=1

j 6=i

qn.

Vi har nu

E(P av

e (w1, . . . ,wm))≤ θn +

|B(0, ξ)|mqnqn

m(m− 1)qn

= θn +|B(0, ξ)|(m− 1)

qn

≤ θn +qn(Hq(p+ε)+(p+ε) logq(q−1))(m− 1)

qn

≤ θn +m · qn(Hq(p+ε)+(p+ε) logq(q−1)−1). (4.11)

Lad nu µ(ε) være givet ved Hq(p+ ε) = Hq(p) + µ(ε), hvor limε→0 µ(ε) = 0.

Funktionen µ(ε) eksisterer, da entropifunktionen er kontinuert. Vi har givet

R < C, og vi vælger ε > 0 sa

R < C − µ(ε)− ε · logq(q − 1).

Dernæst vælges R′ sa

R < R′ < C − µ(ε)− ε · logq(q − 1).

Lad m = dqnRe. Vi kan vurdere m pa følgende vis

m < qnR + 1 ≤ q · qnR = qn(R+ 1n

) ≤ qnR′, (4.12)

Page 67: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.3. KANALKODNINGSSÆTNINGEN 59

da vi for tilstrækkeligt store n har R+ 1n < R′.

Lad os omskrive (4.11). Vi har fra (4.5) at for den q-ære symmetriske kanal

gælder, at C = 1−Hq(p)− p logq(q − 1). Sa

n(Hq(p+ ε) + (p+ ε) logq(q − 1)− 1) = n(Hq(p) + µ(ε)

+(p+ ε) logq(q − 1)− 1)

= −n(C − µ(ε)− ε logq(q − 1)),

sa (4.11) bliver

E(pave (w1, . . . ,wm)

)≤ θn +m · q−n(C−µ(ε)−ε logq(q−1)).

Vi bruger (4.12) og far

E(P av

e (w1, . . . ,wm))

< θn + qnR′ · q−n(C−µ(ε)−ε logq(q−1))

= θn + q−n(C−R′−µ(ε)−ε logq(q−1)).

Da R′ < C −µ(ε)− ε · logq(q− 1) vil leddet i parentesen være positivt, og vi

kan konkludere

E(P av

e (w1, . . . ,wm))→ 0, for n→∞.

Vi har nu vist, at der for vores tilfældigt valgte vektor af kodeord gælder,

at middelværdien af den gennemsnitlige fejlsandsynlighed gar mod nul for n

gaende mod uendelig. Det betyder, at vi ma have mindst en følge af koder,

hvorom der gælder, at den gennemsnitlige fejlsandsynlighed gar mod nul,

for n gaende mod uendelig.

Med hensyn til kodens hastighed, har vi valgt m = |Cn| = dqnRe, og vi har

derfor |Cn| ≥ qnR. Vi ved ifølge 4.3, at R(C) = logq(|C|)/n, og derfor har vi

R(Cn) ≥logq(q

nR)

n⇔ R(Cn) ≥

nR

n= R.

Pa vej mod kanalkodnindssætningen far vi brug for følgende lemmaer.

Lemma 4.11. Lad x1, x2, . . . , xn være ikke-negative heltal og lad deres gen-

nemsnit være a = x1+x2+···+xnn . Sa gælder, at mindst halvdelen af xi’erne er

mindre end eller lig 2a.

Page 68: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

60 4.3. KANALKODNINGSSÆTNINGEN

Bevis. Lad x1, x2, . . . , xn være ikke-negative heltal. Lad a = x1+x2+···+xnn .

Antag modsætningsvist, at det er muligt blandt xi’erne at udtrække v ≥ n/2

tal xj1 , xj2 , . . . , xjv , saledes at xjk > 2a, for k = 1, . . . , v. Sa vil vi have

xj1 + xj2 + · · ·+ xjv > v2a

≥ n

22a = na

= x1 + x2 + · · ·+ xn,

men dette kan ikke lade sig gøre, da samtlige xi’er er positive, og summen

pa venstresiden af uligheden er indeholdt i den pa højresiden. Altsa har vi

en modstrid, og det er dermed ikke muligt at udtage v ≥ n/2 af xjk ’erne

saledes, at disse er større end 2a.

Lemma 4.12. Følgende udsagn er ækvivalente.

1. For ethvert R < C eksisterer der en følge af (n, dsnRe)-kode Cn, med

et tilknyttet beslutningsskema fn, for hvilken der gælder, at Pmaxe → 0,

for n→∞.

2. For ethvert R < C eksisterer der en følge af (n, dsnRe)-kode En med et

tilknyttet beslutningsskema gn, for hvilken der gælder at P ave → 0, for

n→∞.

Bevis. Vi viser ækvivalensen i begge retninger hver for sig.

• 1⇒ 2:

Da P ave ≤ Pmax

e , P ave ≥ 0 og Pmax

e → 0, vil ogsa P ave → 0.

• 2⇒ 1:

Antag R < C. Der vil eksistere et R′, saledes at

R+logs 2

n+

1

n≤ R′ < C (4.13)

er opfyldt for tilstrækkeligt store n. Da betingelse 2 gælder for ethvert

R < C, vil det ogsa gælde for R′. Lad u = dsnR′e. Sa eksisterer der en

følge af koder

En = (e1, e2, . . . , eu)

Page 69: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.3. KANALKODNINGSSÆTNINGEN 61

med en tilknyttet beslutningsskema gn, for hvilken det gælder, at

P ave → 0, for n→∞. Dvs. at der for alle ε > 0 gælder, at

P ave =

1

u

u∑

i=1

p(fejl | ei) <ε

2,

for tilsrækkeligt store n. Fra lemma 4.11 har vi, at fejlsandsynlighe-

derne givet ei er sendt,er mindre end to gange dette gennemsnit, for

mindst halvdelen af ei’erne. Altsa gælder følgende

P (fejl | ei) < 2ε

2= ε

for hver af disse ei’er. Vi danner nu en ny kode Cn, hvor vi kun bruger

disse ei’er og betegner disse cj ’er, hvor j = 1, 2, . . . , du2e. Vi har sa

Cn = (c1, c2, . . . , cv) ,

hvor v ≥ 12u, da det mindst er halvdelen af de oprindelige ei’er, der

vil være i denne nye kode. Denne følge af koder vil for tilstrækkeligt

stort n have en maksimal fejlsandsynlighed, der er mindre end ε. Vi

vil derfor have, at Pmaxe → 0 nar n → ∞ for denne følge af koder.

Vi indskrænker her belutningsskemaet knyttet til koderne til de dj ’er,

hvorom der gælder, at gn(dj) ∈ Cn.

Nu mangler vi blot at vise, at koderne i vores følge har den rigtige

størrelse. Vi omskriver (4.13) til

nR+ logs 2 + 1 ≤ nR′

og bemærker, at snR−1 < dsnRe < snR+1. Saledes er dsnRe−1 < snR.

Vi har dermed

12dsnR

′e ≥ 12snR′

= slogs(1/2)snR′= snR

′−logs 2

≥ snR+1 = s(snR) > s(dsnRe − 1) = sdsnRe − s≥ dsnRe,

idet ss−1 ≤ dsnRe for tilstrækkelig store n og for R > 0. Dermed har

vi, at

|Cn| ≥1

2dsnR′e > dsnRe,

hvorved vi kan tage en delmængde af Cn og indskrænke beslutnings-

skemaet yderligere, indtil den ønskede kode fas.

Page 70: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

62 4.4. DEN SVAGE MODSATTE

Vi kan nu formulere kanalkodningssætningen som et korollar

Korollar 4.13 (Kanalkodningssætningen). Lad der være givet en q-ær sym-

metrisk kanal med kapacitet C. For R < C eksisterer der en følge Cn af q-ære

koder med tilsvarende beslutningsskemaer fn med følgende egenskaber

1. Cn er en (n, dqnRe)-kode med hastighed mindst R.

2. For vores beslutningsskema fn gælder, at Pmaxe (n)→ 0, for n→∞.

4.4 Den svage modsatte

Den vigtige kanalkodningssætning har ogsa to modsatte – nemlig den stær-ke og den svage modsatte. Vi vil her formulere og bevise begge sætninger.De to sætninger har samme forudsætninger, men er alligevel om to forskel-lige resultater. Den stærke modsatte er et resultat, som gør sig gældendeasymptotisk, mens dette ikke er tilfældet for den svage modsatte. Vi vilogsa se, i beviset for den svage modsatte, at den ikke følger af den stærkemodsatte – hvilket man umiddelbart skulle tro, netop da resultatet i denstærke modsatte er asymptotisk. Dette skyldes, at vi i den svage modsattearbejder med symbolfejlsandsynligheder (som vi vil definere senere), hvilketgør sætningen mere generel end den stærke modsatte, hvor vi arbejder medblokfejlsandsynligheder.

Inden vi formulerer den svage modsatte til kanalkodningssætningen, vil viførst vise tre lemmaer samt give et bevis for Fanos ulighed, som er vigtigeingredienser i beviset for den svage modsatte. De følgende tre lemmaer kanudvides til at gælde for et vilkarligt antal stokastiske variable, men vi vilikke gøre dette her, da det notationsmæssigt er besværligt.

Lemma 4.14. For de stokastiske variable X, Y og Z gælder, at

H(X,Y |Z) ≤ H(X|Z) +H(Y |Z),

med lighed, hvis og kun hvis p(xi, yj |zk) = p(xi|zk)p(yj |zk), hvor xi, yj og zk

er værdier, som henholdsvis X, Y og Z kan antage.

Bevis. Fra definitionen af den betingede entropi har vi

H(X,Y |Z) =∑

x,y,z

p(x, y|z)p(z) log

(1

p(x, y|z)

).

Page 71: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.4. DEN SVAGE MODSATTE 63

Vi kan summe over henholdsvis z og x, y hver for sig.

H(X,Y |Z) =∑

z

(p(z)

x,y

p(x, y|z) log

(1

p(x, y|z)

))

=∑

z

(p(z)H(X,Y |Z = z)) .

Sa kan vi bruge, at H(X,Y ) ≤ H(X) +H(Y ) (se sætning 3.19 med n = 2).

Betinges med Z = z ændres gyldigheden af sætningen ikke. Indsættes dette,

far vi

z

p(z)H(X,Y |Z = z) ≤∑

z

p(z)(H(X|Z = z) +H(Y |Z = z))

=∑

z

p(z)H(X|Z = z) +∑

z

p(z)H(Y |Z = z)

= H(X|Z) +H(Y |Z),

som viser lemmaet. Da sætning 3.19 kun er en lighed, nar X og Y er u-

afhængige, vil ulighed i lemmaet ogsa kun være en lighed, nar X og Y er

uafhængige givet Z, hvilket kun sker, nar p(xi, yj |zk) = p(xi|zk)p(yj |zk).

Det næste lemma fortæller ogsa noget om H(X,Y |Z).

Lemma 4.15. For de stokastiske variable X, Y og Z gælder, at

H(X,Y |Z) = H(Y |X,Z) +H(X|Z).

Bevis. Som i foregaende bevis ved vi, at

H(X,Y |Z) =∑

z

(p(z)H(X,Y |Z = z)).

Vi ved, fra sætning 4.3, at H(X,Y ) = H(Y |X) +H(X), og da

p(x, y|z) =p(x, y, z)

p(z)

og

p(y|x, z)p(x|z) =p(x, y, z)

p(x, z)

p(x, z)

p(z)=p(x, y, z)

p(z),

Page 72: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

64 4.4. DEN SVAGE MODSATTE

sa vi har, at p(x, y|z) = p(y|x, z)p(x|z) gælder der ogsa, at H(X,Y |Z =

z) = H(X|Z = z) +H(Y |X,Z = z)+, sa dette giver os

H(X,Y |Z) =∑

z

(p(z)

(H(X|Z = z) +

x

p(x|z)H(Y |X = x,Z = z)))

=∑

z

p(z)H(X|Z = z) +∑

z,x

p(x, z)H(Y |X = x,Z = z)

= H(X|Z) +H(Y |X,Z),

hvilket skulle vises.

Det sidste lemma følger af de to forrige.

Lemma 4.16. For de stokastiske variable X, Y og Z gælder der, at

H(Y |X,Z) ≤ H(Y |Z)

med lighed, hvis og kun hvis p(xi, yj |zk) = p(xi|zk)p(yj |zk), hvor xi, yj og zk

er værdier, som henholdsvis X, Y og Z kan antage.

Bevis. Fra lemma 4.14 og 4.15 har vi

H(X,Y |Z) = H(X|Z) +H(Y |X,Z) ≤ H(X|Z) +H(Y |Z).

Vi kan sa nemt fa resultatet, da H(X|Z) figurerer pa begge sider af ulig-

hedstegnet

H(Y |X,Z) ≤ H(Y |Z).

Uligheden bliver til en lighed, nar uligheden i lemma 4.14 er en lighed, hvilket

netop er, nar p(xi, yj |zk) = p(xi|zk)p(yj |zk).

I forbindelse med Fanos ulighed skal vi bruge en grupperingssætning forentropifunktionen.

Sætning 4.17. Lad {p1, . . . , pn, q1, . . . , qm} være en sandsynlighedsforde-

ling. Hvis a = p1 + p2 + · · ·+ pn, sa gælder

H

(p1, . . . , pn, q1, . . . , qm

)= H(a, 1− a) + a ·H

(p1

a, . . . ,

pna

)(4.14)

+(1− a) ·H(

q11− a, . . . ,

qn1− a

).

Page 73: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.4. DEN SVAGE MODSATTE 65

Bevis. Lad {p1, . . . , pn, q1, . . . , qm} være en sandsynlighedsfordeling. Antag,

at a = p1 + p2 + · · ·+ pn. Sæt

ψ := H(a, 1− a) + a ·H(p1

a, . . . ,

pna

)+ (1− a) ·H

(q1

1− a, . . . ,qn

1− a

).

Sa er

ψ = a log

(1

a

)+(1−a) log

(1

1− a

)+a

n∑

i=1

pia

log

(a

pi

)+(1−a)

m∑

j=1

qj1− a log

(1− aqj

).

Vi har nu et udtryk for ψ, vi kan bruge, nemlig

ψ = a log

(1

a

)+

n∑

i=1

pi log

(a

pi

)+(1−a) log

(1

1− a

)+

m∑

j=1

qj log

(1− aqj

).

Lad os for et øjeblik kigge pa venstre side af (4.14),

H(p1, . . . , pn, q1, . . . , qm) =n∑

i=1

pi log

(1

pi

)+

m∑

j=1

qj log

(1

qj

).

Vi indser, at det er ækvivalent med at vise sætningen at vise

a log

(1

a

)+

n∑

i=1

pi log

(a

pi

)=

n∑

i=1

pi log

(1

pi

), (4.15)

fordi vi derfor ogsa vil have vist at

(1− a) log1

1− a +m∑

j=1

qj log1− aqj

=m∑

j=1

qj log1

qj.

Vi regner pa venstre side af (4.15), og far

p1 log

(1

p1 + · · ·+ pn

)+ · · ·+ pn log

(1

p1 + · · ·+ pn

)

+ p1 log

(p1 + · · ·+ pn

p1

)+ · · ·+ pn log

(p1 + · · ·+ pn

pn

)

= p1

(log

(1

p1 + · · ·+ pn

)+ log

(p1 + · · ·+ pn

p1

))+ · · ·

+ pn

(log

(1

p1 + · · ·+ pn

)+ log

(p1 + · · ·+ pn

pn

))

= p1

(log

(p1 + · · ·+ pn

(p1 + · · ·+ pn)p1

))+ · · ·+ pn

(log

(p1 + · · ·+ pn

(p1 + · · ·+ pn)pn

))

= p1 log1

p1+ · · ·+ pn log

1

pn=

n∑

i=1

pi log1

pi,

Page 74: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

66 4.4. DEN SVAGE MODSATTE

som er højre side af (4.15).

Lad nu specielt a = p1, og vi har

a ·H(p1

a, 1− p1

a

)= aH(1) = 0.

Ifølge sætning 4.17 har vi da

H(p1, . . . , pn) = H(p1, 1− p1) + (1− p1)H

(p2

1− p1, . . . ,

pn1− p1

). (4.16)

Vi er nu klar til at vise Fanos ulighed.

Sætning 4.18 (Fanos ulighed). For enhver dekodningsskema, (C, f) med

|C| = m, og enhver inputfordeling gælder, at hvis Pe er sandsynligheden for

beslutnings fejl, sa har vi

H(X | Y) ≤ H(Pe) + Pe · (log(m− 1)).

Bevis. Lad C = (c1, . . . , cm) være en kode af længde n og størrelsem. Lad X

og Y være de stokastiske variable, som angiver henholdsvis input og output.

Vi har P (X = c) = p(c) og P (Y = d) = p(d) =∑

c p(d | c)p(c). Vi holder

nu d fast og betragter p′(c) := p(c | d). Hvis f(d) = c1, sa har vi

p(fejl | d) = p′e = 1− p(c1 | d) = 1− p′(c1).

Vi sætter nu ind i (4.16), og lader p1 = p′(c1), . . . , pm = p′(cm). Vi far:

H(p′(c1), . . . , p′(cm)) = H(X | Y = d) = H(p′e)+p

′eH

(p′(c2)

p′e, . . . ,

p′(cm)

p′e

).

Vi har tidligere vist (sætning 2.5), at entropifunktionens maksimum over en

fordeling med n komponenter er log(n). Vi har da

H(X | Y = d) ≤ H(p′e) + p′e log(m− 1).

Pr. definition har vi H(X | Y) =∑

d p(d)H(X | Y = d), og vi far da

H(X | Y) ≤∑

d

p(d)(H(p′e) + p′e log(m− 1)

),

Page 75: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.4. DEN SVAGE MODSATTE 67

eller

H(X | Y) ≤∑

d

(p(d)H(p′e) + p(d)p′e log(m− 1)

)

=∑

d

(p(d)H(p′e)

)+∑

d

(p(d)p′e log(m− 1)

).

Da entropifunktionen er konkav har vi ifølge sætning 1.2.9 i [Rom92], at

d

p(d)H(p′e) ≤ H(∑

d

p(d)p′e

),

og der haves nu

H(X | Y) ≤ H(∑

d

(p(d)p′e)

)+ log(m− 1)

d

(p(d)p′e).

Det indses, at ∑

d

(p(d)p′e =∑

d

p(d)p(fejl | d) = Pe,

ved loven om total sandsynlighed. Vi har nu det ønskede resultat,

H(X | Y) ≤ H(Pe) + Pe · (log(m− 1

)).

Vi kan nu vise den svage modsatte til kanalkodningssætningen. Først dognogle flere indledende manøvrer, som bl.a. giver en vurdering af symbolfejl-sandsynligheden i forhold til blokfejlsandsynligheden.I beviset vil vi betragte en kanal, hvor kodeord pa formenXn = (X1, . . . ,Xn)transmitteres gennem kanalen, og et nyt (muligvis fejlbehæftet) ord Y n =(Y1, . . . , Yn) modtages pa den anden side. Kodeordene er dog inden transmis-sionen blevet indkodet fra at være en informationsvektor U k = (U1, . . . , Uk)til at være selve kodeordet Xn. Efter transmissionen dekodes det transmit-terede ord Y n til informationsvektoren Uk = (U1, . . . , Uk) vha. beslutnings-skemaet fn. Et modtaget ord skulle i bedste fald svare til den afsendte infor-mationsvektor pa alle pladser. Den oprindelige informationsvektor antagerværdier fra et kildealfabetet med s elementer for alle Ui, hvor i = 1, . . . , k.Dette ses i figur 4.3. Vi indfører ogsa symbolfejlsandsynligheden 〈Pe〉, somer givet ved

〈Pe〉 =1

k

k∑

i=1

Pe,i,

hvor Pe,i = P (Ui 6= Ui), for i = 1, . . . , k. Med andre ord er Pe,i sandsynlighe-den for, at der er fejl i et enkelt symbol i den modtagne informationsvektor.

Page 76: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

68 4.4. DEN SVAGE MODSATTE

Uk = (U1, . . . , Uk)Xn(Uk) ,,

Xn = (X1, . . . ,Xn)

vvllllllllllllll

kanal med støj

vvlllllllllllll

Y n = (Y1, . . . , Yn)fn(Y n) 22

Uk = (U1, . . . , Uk)

Figur 4.3: Kodning

Symbolfejlsandsynligheden kan ses som den gennemsnitlige fejlsandsynlig-hed i en blok. Blokfejlsandsynligheden defineres nu som

P (Uk 6= Uk),

med andre ord, sandsynligheden for, at to blokke er forskellige, hvadentende er forskellige pa en eller flere pladser. Symbolfejlsandsynligheden har nufølgende sammenhæng med blokfejlsandsynligheden

1(Uk 6= Uk) ≤k∑

i=1

1(Ui 6= Ui) ≤ k 1(Uk 6= Uk),

da det første udtryk altid er 1 eller 0, afhænging af om informationsvektore-ren er ens pa alle pladser, efter den er sendt gennem kanalen. Det midtersteudtryk vil antage heltallige værdier mellem 0 og k, da den tæller antal bitfejli hele Uk. Sidste led vil være enten 0 eller k, da 1(U k 6= Uk) kun antagerværdierne 0 og 1 – og 1-tallet fas ligemeget om blokken har fejl pa bare 1eller alle k bits. Ved at multiplicere med 1

k og tage sandsynlighederne fordisse hændelserne i stedet for indikatorfunktionen, da dette vil give sammeresultat, har vi

1

kP (Uk 6= Uk) ≤ 1

k

k∑

i=1

Pe,i ≤ P (Uk 6= Uk).

Vi har derfor1

kPe ≤ 〈Pe〉 ≤ Pe. (4.17)

Med denne vurdering ser vi, at symbolfejlsandsynligheden ikke nødvendigvishar samme størrelse som blokfejlsandsynligheden.

Sætning 4.19 (Den svage modsatte). Betragt en diskret hukommelsesfri

kanal med kapacitet C, hvor Cn er en følge af (n, dsnRe)-koder med tilhørende

Page 77: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.4. DEN SVAGE MODSATTE 69

beslutningsskemaer fn, og hvor den gennemsnitlige sandsynlighed for fejl i

fn er 〈Pe〉 (n). Vi har sa, at hvis R > C, vil der eksistere en konstant δ > 0,

hvor der for alle n gælder, at

〈Pe〉 (n) ≥ δ.

I sætningen benytter vi os af notationen 〈Pe〉 (n), men vi vil bruge 〈Pe〉 iresten af beviset, da dette letter læsbarheden.

Bevis. Kilden Uk defineres til at have entropihastigheden

H(U) =1

kH(U1, . . . , Uk), (4.18)

og da vores kilde er hukommelsesfri, svarer det til, at H(U) = H(Ui) for

i = 1, . . . , k. Ydermere har vi

1

kH(U1, . . . , Uk) =

1

k(H(U1) + · · ·+H(Uk)) = H(Ui) , i = 1, . . . , k,

da vores Ui’er er ligefordelte (sa p(Ui) = 1s for i = 1, . . . , k) over de s mulige

symboler i kildealfabetet. Fra Fanos ulighed, sætning 4.18, far vi følgende

H(Ui|Y n) ≤ H(Pe,i, 1− Pe,i) + Pe,i log(s− 1).

Vi summerer begge sider af uligheden fra i = 1 til k og dividerer derefter

med k, hvilket giver os

1

k

k∑

i=1

H(Ui|Y n) ≤ H(〈Pe〉) + 〈Pe〉 log(s− 1). (4.19)

Venstresiden følger ganske enkelt, mens højresiden fas, da

1

k

k∑

i=1

H(Pe,i) ≤ H(

1

k

k∑

i=1

Pe,i

)= H(〈Pe〉),

hvor første ulighed skyldes, at entropifunktionen er konkav (se side 27 i

[Rom92]), og det sidste fas pr. definition af symbolfejlsandsynligheden.

Udvides de to lemmaer 4.15 og 4.16 til et vilkarligt antal variable har vi

H(Uk|Y n) =

k∑

i=1

H(Ui|U1, . . . , Ui−1, Yn) ≤

k∑

i=1

H(Ui|Y n). (4.20)

Page 78: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

70 4.4. DEN SVAGE MODSATTE

Vi kan vise, at den gensidige information mellem U k og Y n er mindre end

den gensidige information mellem Xn og Y n.

I(Xn;Y n) = H(Y n)−H(Y n|Xn)

= H(Y n)−H(Y n|Xn, Uk) (4.21)

≥ H(Y n)−H(Y n|Uk) = I(Uk;Y n),

hvor (4.21) skyldes, at vi betragter en hukommelsesfri kanal, sa der gælder

P (Y n|Xn, Uk) = P (Y n|Xn).

For de to stokastiske vektorer Uk og Y n gælder der følgende

I(Uk;Y n) ≤ I(Xn;Y n) = H(Xn)−H(Xn|Y n)

= H(Xn)−∑

Xi,Yi

p(Xi, Yi) log

(1

p(Xi|Yi)

)

= H(Xn) +∑

Xi,Yi

p(Xi, Yi) log(p(Xi|Yi))

≤ H(X1) + · · ·+H(Xn) +∑

Xi,Yi

p(Xi, Yi) log(p(Xi|Yi))

=

(H(X1) +

X1,Y1

p(X1, Y1) log(p(X1|Y1))

)+ . . .

+

(H(Xn) +

Xn,Yn

p(Xn, Yn) log(p(Xn|Yn)))

=n∑

i=1

I(Xi;Yi).

Da kapaciteten af en kanal er defineret som den maksimale gensidige infor-

mation (se definition 4.7) over alle inputfordelingen, ma der derfor gælde,

at

I(Uk;Y n) ≤n∑

i=1

I(Xi;Yi) ≤ nC. (4.22)

Fra definitionen af gensidig information har vi, at

H(Uk|Y n) ≥ H(Uk)− nC.

Desuden kan vi ved brug af (4.20) skrive

I(Uk;Y n) = H(Uk)−H(Uk|Y n) = kH(U)−H(Uk|Y n)

≥ kH(U)−k∑

i=1

H(Ui|Y n).

Page 79: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.5. DEN STÆRKE MODSATTE 71

Bruger vi (4.19), far vi

I(Uk;Y n) ≥ kH(U)− k(H(〈Pe〉) + 〈Pe〉 log(s− 1)). (4.23)

Kombinerer vi (4.22) og (4.23), giver det os følgende

H(〈Pe〉) + 〈Pe〉 log(s− 1) ≥ H(U)− n

kC. (4.24)

Vi kan ud fra denne ulighed vise vores sætning. Da H(〈Pe〉) maksimalt kan

blive log(s) og da faktoreren log(s − 1) er en konstant, ma vi sørge for, at

H(U) − nkC > 0, da symbolfejlsandsynligheden sa vil være begrænset væk

fra 0. Vi skal med andre ord opna, at

H(U) >n

kC,

hvilket svarer til, atk

nH(U) > C.

Dette er tydeligvis opfyldt for kn = R > C, hvilket viser, at denne betingelse

begrænser symbolfejlsandsynligheden væk fra 0.

Som vi senere vil se, siger den stærke modsatte, at P ave → 1 for n → ∞,

men dette giver os imidlertid ingen information om bitfejlsandsynligheden,da denne er mindre eller lig P av

e , som vi sa i (4.17). Da ogsa k → ∞ pa ensadan made, at forholdet mellem n og k forbliver konstant (da vi har, atR > C, kan n ikke blive stor uden at k vokser tilsvarende, da hastighedenellers bliver for lille), giver den nedre grænse pa P av

e heller ingen informationom P av

e , og vi kan herudaf slutte, at den svage modsatte derfor ikke følgeraf den stærke modsatte.

4.5 Den stærke modsatte

Følgende sætning fører til den stærke modsatte for kanalkodningssætningen.

Sætning 4.20. Lad Cn = (c1, c2, . . . , cm), hvor m = d2nRe og R er kodens

hastighed, være en følge af (n, d2nRe)-koder med beslutningsskema fn. Lad Cvære kanalens kapacitet. For R > C gælder, at

limn→∞

Pmaxe (n) = 1.

Page 80: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

72 4.5. DEN STÆRKE MODSATTE

Vi vil bevise ovenstaende sætning for en binær symmetrisk kanal med over-gangssandsynlighed p, og hvor kapaciteten er C = 1 − H(p), som vi sa ikorollar 4.9.

Bevis. Antag, at 0 < p < 1/2, saledes at det mere sandsynligt, at der ikke

sker fejl, end at der gør. Lad Bi = {y ∈ {0, 1}n | fn(y) = ci}, dvs. mængden

af binære ord af længde n, der dekodes som ci. Der er i alt 2n mulige binære

ord af længde n og d2nRe disjunkte Bi’er (hvis de ikke var disjunkte, ville

man ikke kunne dekode et y, der la i flere forskellige Bi’er entydigt). Det

gennemsnitlige antal ord i Bi’erne er dermed

2n

d2nRe = 2n(1−R),

og derfor ma der eksistere et i0 for hvilket

|Bi0 | ≤ 2n(1−R).

Vi vil nu vurdere sandsynligheden for, at det afsendte ci0 dekodes korrekt,

dvs. P (y ∈ Bi0 | ci0), opad. Vi har, at 1−P (y ∈ Bi0 | ci0) er sandsynligheden

for, at ci0 dekodes forkert, og dermed vil den maksimale fejlsandsynlighed

for koder af længde n være større end eller lig denne. Da vi har, at

Pmaxe (n) ≥ 1− P (y ∈ Bi0 | ci0),

har vi ogsa, at

1− Pmaxe (n) ≤ P (y ∈ Bi0 | ci0).

Hvis vi danner den mindst mulige Hammingkugle B ′i0

med centrum i det

sendte kodeord ci0 og radius ρn, med lige sa mange elementer som i Bi0 sa

vil vi ikke undervurdere P (y ∈ Bi0 | ci0). Dette vil vi nu indse. Vi bemærker

først, at da p < 1/2, vil der gælde følgende

d(dv, ci) ≤ d(du, ci) ⇒ p(dv | ci) ≥ p(du | ci).

Altsa vil det være mere sandsynligt at modtage et ord, hvor der er sket færre

fejl, end et hvor der er sket flere. Lad nu du ∈ Bi, dv /∈ Bi og d(dv, ci) ≤

Page 81: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.5. DEN STÆRKE MODSATTE 73

d(du, ci), sa er

P (y ∈ Bi | ci) =∑

dj∈Bi

p(dj | ci)

=∑

dj∈Bi\{du}p(dj | ci) + p(du | ci)

≤∑

dj∈Bi\{du}p(dj | ci) + p(dv | ci)

=∑

dj∈(Bi\{du})∪{dv}p(dj | ci),

som viser det ønskede, nemlig at vi ikke undervurderer P (y ∈ Bi0 | ci), hvis

vi fortsætter denne proces, og hele tiden erstatter et element i Bi0 med et

i B′i0

. Fordelen ved dette er, at vi kan finde et eksakt udtryk for antallet af

ord i denne Hammingkugle. Vi har nemlig, at(ni

)er antallet af mulige ord

af længde n i en afstand i fra ci0 . Sa vi vælger ρn til at være det mindste

mulige heltal, sa følgende er opfyldt

∣∣B′i0

∣∣ =ρn∑

i=0

(n

i

)≥ |Bi0 | , (4.25)

hvor uligheden skyldes, at der ikke nødvendigvis er lige sa mange elemen-

ter i Bi0 , som i en helt udfyldt kugle, hvilket∑ρn

i=0

(ni

)er et udtryk for.

Sandsynligheden for, at et ord ligger i B ′i0

er

ρn∑

i=0

(n

i

)pi(1− p)n−i, (4.26)

sa vi har, at

1− Pmaxe ≤ P (y ∈ Bi0 | ci0) ≤

ρn∑

i=0

(n

i

)pi(1− p)n−i. (4.27)

Fra sætning 2.6 har vi, at

1

n+ 12nH( ρn−1

n ) ≤(

n

ρn − 1

).

Da højresiden er et led i summen∑ρn−1

i=0

(ni

), og da alle led i denne er positive,

gælder der, at(

n

ρn − 1

)≤

ρn−1∑

i=0

(n

i

).

Page 82: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

74 4.5. DEN STÆRKE MODSATTE

Vi har desuden, at ρn er det mindste tal, der opfylder, at∑ρn

i=0

(ni

)≥ |Bi0 |,

sa∑ρn−1

i=0

(ni

)< |Bi0| og |Bi0 | ≤ 2n(1−R), hvorfor vi ma have, at

ρn−1∑

i=0

(n

i

)< 2n(1−R).

Alt i alt har vi

1

n+ 12nH( ρn−1

n) ≤

(n

ρn − 1

)≤

ρn−1∑

i=0

(n

i

)< 2n(1−R),

som giver1

n+ 12nH(ρn−1

n ) < 2n(1−R).

Isoleres H(ρn−1n ) fas

H

(ρn − 1

n

)< 1−R+

log2(n+ 1)

n.

Pr. antagelse har vi, at R > C, og dermed ma 1 − R < 1 − C = H(p). Vi

kan derfor vælge en passende konstant b1 > 0, saledes at 1−R = H(p)− b1,hvoraf

H

(ρn − 1

n

)< H(p)− b1 +

log2(n+ 1)

n.

Fra (4.25) følger det, at der ma eksistere et N1, sa der for n ≥ N1 findes et

ρn ≤ n/2. Dette indser vi ved at lade

2n(1−R) = 2na , hvor 0 < a < 1

og se, at da der pga. binomialformlen gælder, at

n∑

i=0

(n

i

)=

n∑

i=0

(n

i

)1i1n−i = (1 + 1)n = 2n,

sa mabn/2c∑

i=0

(n

i

)≥ 2n

2= 2n−1 = 2n(1− 1

n),

da denne sum er symmetrisk, dvs. at(ni

)=(nn−i). Da 1− 1

n → 1 for n→∞,

vil 2n(1−1/n) > 2na for et tilpas stort n. Altsa vil vi have, at ρn ≤ bn/2c. Men

sa ma der ogsa gælde, at

ρn − 1

n=ρnn− 1

n≤ 1

2

Page 83: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.5. DEN STÆRKE MODSATTE 75

for n ≥ N1. Desuden eksisterer der et N2, saledes at der for n ≥ N2 gælder,

at

H

(ρn − 1

n

)< H(p)− b1,

idet log2(n+1)/n → 0 for n → ∞. Lad nu N = max{N1, N2}, sa vil der for

n ≥ N gælde, at (ρn−1)/n ≤ 1/2. Vi har ogsa, at p < 1/2, og da H er kontinuert

og voksende pa [0, 1/2], vil

H

(ρn − 1

n

)≤ H(p)− b1,

medføre, atρnn< p− b2

for b2 > 0 og n ≥ N .

Lad nu Xi være en stokastisk variabel, der angiver, om der er sket en fejl i

den i’te posistion, og lad Xi være 1, hvis der er sket en fejl og 0 ellers. Dvs.

lad P (Xi = 1) = p og P (Xi = 0) = 1 − p. Sa vil P (X1 +X2 + · · · +Xn ≤ρn) være sandsynligheden for, at der ikke er sket mere end ρn fejl, dvs.

sandsynligheden for, at det pagældende ord ligger i B ′i0

. Dette har vi dog et

andet udtryk for i (4.26), sa

P (X1 +X2 + · · ·+Xn ≤ ρn) =

ρn∑

i=0

(n

i

)pi(1− p)n−i.

Men samtidig gælder, at

P (X1 +X2 + · · ·+Xn ≤ ρn) = P

(X1 +X1 + · · ·+Xn

n≤ ρn

n

)

≤ P(X1 +X1 + · · ·+Xn

n≤ p− b2

)

≤ P(∣∣Xn − p

∣∣ ≥ b2),

hvor Xn = X1+X2+···+Xnn . Nu kan vi benytte Chebychevs ulighed (se evt.

side 209 i [Sør04])

P (|Y − EY | ≥ ε) < Var(Y )

ε2.

Vi har, at middelværdien af vores stokastiske variabel Xn er

1

nE(X1 + . . .+Xn) = p,

Page 84: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

76 4.5. DEN STÆRKE MODSATTE

og at

Var(Xn) =1

n2Var(X1 + . . .+Xn) =

1

np(1− p),

idet X1, . . . ,Xn er uafhængige og Bernoulli-fordelte. Altsa far vi

P(∣∣Xn − p

∣∣ ≥ b2)<p(1− p)nb22

,

Fra (4.27) ser vi nu, at

1− Pmaxe ≤

ρn∑

i=0

(n

i

)pi(1− p)n−i < p(1− p)

nb22,

men sa vil

Pmaxe > 1− p(1− p)

nb22.

Her vil 1− p(1−p)na2 → 1 for n→∞. Da Pmax

e ∈ [0, 1], ma ogsa Pmaxe → 1 for

n→∞, og vi har vist det ønskede.

Følgende lemma giver os den stærke modsatte udfra ovenstaende sætning.

Lemma 4.21. Lad Cn være en følge af s-ære (n, dsnRe)-koder med tilknyttet

beslutningsskema fn. Følgende udsagn er ækvivalente.

1. For ethvert R > C vil P ave → 1 for n→∞.

2. For ethvert R > C vil Pmaxe → 1 for n→∞.

Bevis. Vi viser ækvivalensen ved at vise begge retninger hver for sig

• 1⇒ 2

Dette er klart, idet P ave ≤ Pmax

e og Pmaxe ≤ 1.

• 2⇒ 1

Betragt den vilkarlige kode C i følgen Cn. Lad P1 ≤ P2 ≤ . . . ≤ Pd2nRevære den ordnede sandsynlighedsfordeling for C. Vi vælger et R > C,sa vil der gælde, at den maksimale fejlsandsynlighed for C, dvs. Pd2nRe,

vil ga mod en for n gaende mod uendelig.

Page 85: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.5. DEN STÆRKE MODSATTE 77

Vi vil nu se pa en brøkdel af sandsynlighedsfordelingen, sa vi vælger

et fast ε, hvor 0 < ε < 1. Vi har saledes, at

P1 ≤ P2 ≤ . . . ≤ Pdεd2nRee︸ ︷︷ ︸(1)

≤ Pdεd2nRee+1 ≤ . . . ≤ Pd2nRe︸ ︷︷ ︸(2)

.

Der vil være dεd2nRee elementer i (1) og b(1 − ε)d2nRec elementer i

(2). Vi kigger nu pa delkoden, som indeholder de kodeord, der hører

til sandsynlighederne angivet i (1), lad os kalde den Cε. Vi ved at

R(C) = logs |C|n , og vi har ogsa

|Cε| = dεd2nRee ≥ ε2nR = 2n

R+log2(ε)

n

,

sa R(Cε) ≥ R+ log2(ε)/n ≥ R > C. Derfor kan vi bruge, at betingelse 2

i sætningen gælder for ethvert R > C til at slutte, at den maksimale

fejlsandsynlighed for Cε, dvs. Pdεd2nRee, gar mod 1 for n gaende mod

uendelig. Dermed ma ogsa alle sandsynlighederne i (2) ga mod 1 for

n → ∞. Vi kan nu vurdere den gennemsnitlige fejlsandsynlighed pa

følgende made

P ave =

1

2nR

(P1 + · · ·+ Pd2nRe

)

≥ 1

d2nRe(Pdεd2nRee+1 + · · ·+ Pd2nRe

)

≥ 1

d2nRePdεd2nRee+1b(1− ε)d2nRec

≥ 1

d2nRePdεd2nRee+1((1− ε)d2nRe − 1)

= (1− ε)Pdεd2nRee+1 −Pdεd2nRee+1

d2nRe→ 1− ε,

for n → ∞. Da vi fra starten af kan vælge ε vilkarligt lille, kan vi fa

P ave vilkarligt tæt pa 1 for n→∞, og vi har vist det ønskede.

Vi kan nu formulere den stærke modsatte til kanalkodningssætningen.

Korollar 4.22 (Den stærke modsatte). Lad Cn = (c1, c2, . . . , cm), hvor

m = d2nRe og R er kodens hastighed, være en følge af (n, d2nRe)-koder med

Page 86: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

78 4.6. DEN KOMBINEREDE KILDE-KANALKODNINGSSÆTNING

beslutningsskema fn. Lad C være kanalens kapacitet. For R > C gælder, at

limn→∞

P ave (n) = 1.

4.6 Den kombinerede kilde-kanalkodningssætning

Kigger for eksempel vi pa kodningen af CD’er, ser vi, at man ønsker at fadataene til at fylde mindst muligt, men samtidig være i stand til at retteeventuelle skrive- og læsningsfejl. Dette problem behandles i den kombinere-de kilde-kanalkodningssætning. Fra kanalkodningssætningen (sætning 4.13),har vi, at den betingelse, at kodens hastighed skal være mindre end kana-lens kapacitet, for at vi kan garantere fejlfri kommunikation. Det viser sig, atbetingelsen, at entropien af kilden er mindre end kapaciteten ogsa vil sikreen følge af koder, hvorom der gælder, at fejlsandsynligheden nærmer sig 0for n gaende mod ∞. Dette resultat er kendt som den kombinerede kilde-kanalkodningssætning, som vi nu vil formulere og vise. Beviset stammer fra[Joy91].

Vores setup vil være som i beviset for den svage modsatte, dog vil længdenaf informationsvektorerne og kodeordene være de samme. En informations-vektor Un indkodes til et kodeord Xn, som sendes over kanalen. Et muligvisfejlbehæftet ord Y n modtages og dekodes til Un, som gerne skulle stemmeoverens med den oprindelige informationsvektor. Se ogsa figur 4.3 pa side68, hvor k = n. Kildens entropihastighed defineres som i (4.18).

Sætning 4.23 (Den kombinerede kilde-kanalkodningssætning). Lad Un =

(U1, . . . , Un) være en informationsvektor fra et endeligt kildealfabet med s

elementer, saledes at H(U) < C. Lad desuden kilden være hukommelsesfri

og lad Ui’erne være ensfordelt. Sa eksisterer der en kildekode (Xn(Un) :

Un → X n) samt en kanalkode (fn(Yn) : Yn → Vn), saledes at

Pe(n)→ 0,

for n → ∞. Har vi pa den anden side, at H(U) > C, vil der for et δ > 0,

gælde

Pe(n) ≥ δ,

for alle n.

Bevis. Da vi har, at kilden er hukommelsesfri, hvilket svarer til, at se Un’erne

som stokastiske vektorer, vil disse være uafhængige. Vi antager desuden,

Page 87: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.6. DEN KOMBINEREDE KILDE-KANALKODNINGSSÆTNING 79

at de er ligefordelte. Der ma sa, for ethvert ε > 0 gælde, at der findes

en mængde A(n)ε af k-typiske sekvenser, med størrelse Nk,n ≤ sn(Hs(U)+ε)

(sætning 2.10, del 3), hvor ε afhænger af k. Ifølge sætning 2.10, del 1, vil

sandsynligheden for, at Un er k-typisk kunne gøres vilkarlig stor, ved at

vælge k tilstrækkelig stor. Størstedelen af informationsordene vil sa ligge

blandt disse. Vores indkodning skal nu fungere saledes, at det kun er de

informationsvektorer, der tilhører vores mængde af typiske sekvenser, der

indkodes, de resterende vil resultere i en fejl.

Der vil maksimalt være sn(Hs(U)+ε) mulige informationsvektorer hørende til

vores mængde af k-typiske sekvenser. Fra kanalkodningssætningen, sætning

4.13, har vi, at vi kan sende disse typiske sekvenser over kanalen med en

gennemsnitlig fejlsandsynlighed gaende mod 0, hvis

Hs(U) + ε ≤ R < C. (4.28)

Modtageren kan dekode ved at bruge minimumafstandsdekodning. Disse

vektorer vil stemme overens med de oprindelige med følgende sandsynlighed

Pe(n) = P (Un 6= Un)

≤ P(Un 6= A(n)

ε

)+ P

(f(Y n) 6= Un | Y n ∈ A(n)

ε

)

≤ ε+ ε = 2ε,

for tilstrækkeligt store n. Vi lader f(Y n) betegne beslutningsskemaet. Første

ulighed kommer af, at de to hændelse ikke nødvendigvis er disjunkte. Den

sidste ulighed skyldes, at sandsynligheden for, at Un ikke er k-typisk ifølge

2.10, del 1 kan gøres vilkarlig lille ved at vælge k tilstrækkelig stor (ε afhæn-

ger som skrevet af k) samt (4.28). Vi har nu, at vi vil kunne fa en vilkarlig

lille fejlsandsynlighed for store n, hvis vi blot kræver, at

H(U) < C.

Vi viser nu den modsatte.

Fra Fanos ulighed (sætning 4.18) har vi

H(Un | Un) ≤ H (Pe(n)) + Pe(n) log(sn − 1)

≤ H (Pe(n)) + Pe(n)n log(s). (4.29)

Page 88: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

80 4.6. DEN KOMBINEREDE KILDE-KANALKODNINGSSÆTNING

Vi kan nu lave følgende vurderinger pa entropihastigheden for kilden

H(U) =H(U1, . . . , Un)

n

=H(Un)

n

=1

nH(Un|Un) +

1

nI(Un; Un) (4.30)

≤ 1

n(H (Pe(n)) + Pe(n)n log(s)) +

1

nI(Un; Un) (4.31)

≤ 1

n(H (Pe(n)) + Pe(n)n log(s)) +

1

nI(Xn; Y n) (4.32)

≤ H (Pe(n))

n+ Pe(n) log(s) + C, (4.33)

hvor (4.30) fas ved brug af definitionen pa gensidig entropi, (4.31) stammer

fra (4.29). Desuden følger (4.32) af det resultat, at I(Un; Un) ≤ I(Un;Y n) ≤I(Xn;Y n), hvor vi sa den sidste ulighed i forbindelse med den svage modsat-

te og hvor den første kan vises pa tilsvarende vis. Den sidste ulighed, nemlig

(4.33) skyldes, at kanalen er hukommelsesfri og det faktum, at kapaciteten

er defineret som den maksimale gensidige information.

Vi har nu, at

Pe(n) log(s) ≥ H(U)− H (Pe(n))

n− C.

Kræver vi nu, at H(U) > C, har vi, at H(U)− C = a > 0 og dermed

Pe(n) log(s) ≥ a− H (Pe(n))

n,

for alle n. For alle n ≥ N ≥ 0, har vi, at

Pe(n) log(s) ≥ a

2,

og da s > 1, har vi vist sætningen for n ≥ N . For at have vist sætningen,

skal vi dog ogsa vise, at Pe(n) er begrænset væk fra 0 for alle n. Vi har, at

H (Pe(n))

n+ Pe(n) log(s) ≥ a > 0. (4.34)

Venstresiden bestar af to led, hvoraf det første led har samme form som

figur 5.1, dog vil den være skaleret med n og desuden antage sit maksimum

p(Ui) = 1s for i = 1, . . . , s, da dette opnas for den uniforme fordeling. Det

andet led er en voksende lineær funktion af Pe(n). Disse to led skal lagt

sammen være større end a. Vi sætter nu n = 2 (n = 1 giver intet resultat

Page 89: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

4.6. DEN KOMBINEREDE KILDE-KANALKODNINGSSÆTNING 81

om Pe(n), hvis der kigges pa (4.34)) og vælger en kanalkode med Pe(2) ≥ a2,

saledes at H(Pe(2))2 +Pe(2) log(s) ≥ a. Da sætningen kun kræver eksistensen

af en kode for det givne n, vil dette være tilstrækkeligt, for at kunne opfylde

sætningen for n = 2. Vi vil kunne gøre dette for alle n op til N − 1. Tager

vi nu

δ = min{a2, . . . , aN−1, a},

er sætningen vist.

Page 90: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder
Page 91: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 5

Koder

I dette kapitel vil vi kigge pa forskellige typer af koder. Vi vil gennemgateorien omkring cykliske koder, Reed-Solomon-koder og til slut kigge pakonkatenerede koder og justesen-koder. Vi vil dog først kigge lidt pa vægt-fordelingspolynomier, og vi vil ogsa kigge pa Gilbert-Varshamov-grænsen.

5.1 Vægtfordelingspolynomier

I dette afsnit vil vi vise MacWilliams sætning for koder over legemet Fq.Denne sætning bruges blandt andet til at vurdere fejlsandsynligheder, mendette vil vi ikke behandle (for yderligere læsning om dette emne, kan kapitel3 i [Tom04] læses). Vi vil derimod betragte sammenhængen mellem vægt-fordelingspolynomierne for en kode og dens dual-kode. Afsnittet bygger pa[vL92].

Som værktøj far vi brug for gruppekarakterer. Lad (G,+) være en gruppe,og lad (T, ·) være gruppen bestaende af de komplekse tal med modulus 1,hvor · er sædvanlig multiplikation pa C.

Definition 5.1. En karakter χ er en homomorfi χ : G→ T . Det vil sige, at

χ(g1 + g2) = χ(g1)χ(g2) for alle g1, g2 ∈ G.

Lad χ være en karakter for gruppen G. Sa er

χ(0) = χ(0 + 0) = χ(0)χ(0),

og dermed χ(0) = 1, da χ(g) 6= 0 for alle g ∈ G. Hvis en karakter, udover atafbilde 0 ind i 1, ogsa afbilder alle andre elementer fra G ind i 1, dvs. hvis

83

Page 92: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

84 5.1. VÆGTFORDELINGSPOLYNOMIER

χ(g) = 1 for alle g ∈ G, sa kaldes χ den trivielle karakter. Vi far brug forfølgende.

Lemma 5.2. Hvis χ er en karakter for gruppen (G,+), sa gælder, at

g∈Gχ(g) =

{|G|, hvis χ er den trivielle karakter,

0, ellers.

Bevis. Lad χ være en karakter for gruppen (G,+) og tag h ∈ G. Sa gælder,

at

χ(h)∑

g∈Gχ(g) =

g∈Gχ(h+ g) =

k∈Gχ(k),

hvoraf

(χ(h)− 1)∑

g∈Gχ(g) = 0.

Ved brug af nulreglen for grupper har vi, at hvis χ ikke er den trivielle

karakter, sa findes h ∈ G, saledes at χ(h) 6= 1, og dermed er

g∈Gχ(g) = 0,

og da sætningen tydeligvis gælder for den trivielle karakter, er sætningen

vist.

Vi far desuden brug for at vide, at der for gruppen Fq, hvor q er en prim-talspotens, faktisk findes en ikke-triviel karakter.

Lemma 5.3. Lad q være en primtalspotens. Sa har gruppen Zq en ikke-

triviel karakter.

Beviset er konstruktivt.

Bevis. Lad først q være et primtal. Vi definerer en afbildning fra mængden

af sideklasser for gruppen Zq, og ind i den komplekse plan, ved

a+ Zq 7→ e

i 2πq

a.

Afbildningen har tydeligvis den rigtige billedmængde, og da

(a+ Zq) + (b+ Zq) = (a+ b) + Zq = ei 2π

qaei 2π

qb,

Page 93: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.1. VÆGTFORDELINGSPOLYNOMIER 85

sa er afbildningen en karakter for gruppen, som ses at være ikke-triviel.

Hvis q = pn, hvor p er et primtal, kan vi opfatte Zq som Znp , saledes at

elementerne i vores gruppe er vektorer. Afbildningen

(a1, . . . , an) 7→(ei 2π

q

)a1

,

ses pa samme made som ovenfor at være en ikke-triviel karakter.

Vi indfører nu begrebet vægtnumeratorer.

Definition 5.4. Lad C være en lineær kode af længde n, og lad Ai være

antallet af kodeord i C af vægt i. Sa kaldes

A(z) =n∑

i=0

Aizi

for vægtfordelingspolynomiet eller vægtnumeratoren for C, mens den en-

delige følge {Ai}ni=1 kaldes vægtfordelingen for C.

Hvis man har givet vægtnumeratoren for en kode C, sa er man ogsa ofteinteresseret i, hvor mange ord af forskellig vægt, som findes i dualkodenC⊥. Følgende sætning udtrykker vægtnumeratoren for dualkoden i termeraf koden selv.

Sætning 5.5 (MacWilliams). Lad C være en [n, k]-kode over Fq med vægt-

numerator A(z), og lad B(z) være vægtnumeratoren for C⊥. Sa gælder, at

B(z) = q−k(1 + (q − 1)z)nA

(1− z

1 + (q − 1)z

).

Bevis. Lad χ være en ikke-triviel karakter for gruppen (Fq,+), og lad R =

Fnq . Definer funktionen g ved

g(u) =∑

v∈Rχ(〈u,v〉)zw(v),

hvor 〈 , 〉 angiver det sædvanlige indre produkt pa Fnq , og hvor w(v) som

sædvanligt angiver vægten af v ∈ Fnq .

Page 94: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

86 5.1. VÆGTFORDELINGSPOLYNOMIER

Vi har nu, at

u∈Cg(u) =

u∈C

v∈Rχ(〈u,v〉)zw(v) =

v∈Rzw(v)

u∈Cχ(〈u,v〉).

Hvis v ∈ C⊥, sa er 〈u,v〉 = 0 pr. definition af dualkoden, sa χ(〈u,v〉) = 1

for alle v ∈ C⊥ og alle u ∈ C. Hvis derimod v 6∈ C⊥, sa skal vi se, at∑〈u,v〉

antager alle værdier i Fq det samme antal gange, nar u løber gennem koden.

Lad nemlig u ∈ C, og tag et fast v 6∈ C⊥. Afbildningen fv : C → Fq givet

ved u 7→ 〈u,v〉 ses at være lineær, og vi vil vise, at den desuden afbilder

over i alle elementer i Fq det samme antal gange.

Da v 6∈ C⊥, sa findes et u0 ∈ C, saledes at fv(u0) = 〈u0,v〉 6= 0. Lad

fv(u0) = a. Afbildningen fv er surjektiv, for hvis z ∈ Fq, sa er fv( zau0) = z,

idet fv er lineær.

Ud over at betragte C som et vektorrum over Fq, kan vi ogsa betragte (C,+)

som en gruppe. Gruppestrukturen følger af, at C er et underrum af Fnq . Vi

har saledes, at

ker(fv) = {u ∈ C | fv(u) = 0}

er en undergruppe i C, da fv er lineær, men sa opnas en sideklasseinddeling

af C. Hvis c ∈ C, sa vil for sideklassen

c + ker(fv) = {c + u | fv(u) = 0}

gælde, at for alle c0 ∈ c + ker(fv) er fv(c0) = fv(c + u) = fv(c), hvor u er

et element i ker(fv). Da fv er pa Fq, og da alle sideklasser indeholder det

samme antal elementer, sa afbilder fv over i alle elementer i Fq det samme

antal gange, og i følge lemma 5.2 har vi sa, at

u∈Cχ(〈u,v〉) = 0.

Vi har derfor i følge lemma 5.2, at χ(〈u,v〉) = 0.

Saledes gælder, at

u∈Cg(u) =

v∈C⊥

zw(v)∑

u∈Cχ(〈u,v〉) = |C|

v∈C⊥

zw(v),

og det ses, at ∑

v∈C⊥

zw(v) = B(z),

Page 95: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.1. VÆGTFORDELINGSPOLYNOMIER 87

for hvis der i dualkoden er netop k ord af vægt v, sa giver disse bidraget

zv + zv + . . .+ zv︸ ︷︷ ︸k gange

= kzv

til venstresiden af ligningen, men det er netop Bwzw. Vi har derfor, at

u∈Cg(u) = |C|B(z). (5.1)

Vægtfunktionen w udvides nu til ogsa at omhandle legemet Fq ved for v ∈ Fq

at sætte w(v) = 0, hvis v = 0, og w(v) = 1, hvis v 6= 0. Sæt u = (u1, . . . , un)

og v = (v1, . . . , vn). Sa fas fra definitionen af funktionen g, at

g(u) =∑

(v1,...,vn)∈Rzw(v1)+...+w(vn)χ(u1v1 + . . .+ unvn)

=∑

(v1,...,vn)∈Rzw(v1)χ(u1v1)z

w(v2)χ(u2v2) . . . zw(vn)χ(unvn)

=∑

v1∈Fq

zw(v1)χ(u1v1) · · ·∑

vn∈Fq

zw(vn)χ(unvn)

=n∏

i=1

v∈Fq

zw(v)χ(uiv).

Vi betragter den indre sum i det sidste udtryk. Hvis ui = 0, sa er χ(uiv) =

χ(0) = 1 for alle v ∈ Fq, og da zw(v) = z for v ∈ Fq \ {0}, gælder

v∈Fq

zw(v)χ(uiv) = 1 + (q − 1)z, hvis ui = 0.

Hvis ui 6= 0, sa har vi, at χ(uiv) = 1, nar v = 0, mens vi ikke ved, hvad χ

afbilder uiv over i, nar v 6= 0. I dette tilfælde vil vi derfor have, at

v∈Fq

zw(v)χ(uiv) = 1 + z ·∑

α∈Fq\{0}χ(α) = 1− z, hvis ui 6= 0,

hvor det sidste lighedstegn følger af, at χ er en ikke-triviel karakter, idet vi

nemlig har, at

α∈Fq\{0}χ(α) =

α∈Fq

χ(α)− χ(0) = −1,

Page 96: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

88 5.2. GILBERT-VARSHAMOV-GRÆNSEN

jævnfør lemma 5.2.

For at finde g(u) tager vi saledes produktet over 1 + (q − 1)z, nar ui = 0,

og produktet over 1− z, nar ui 6= 0, men det vil sige, at

g(u) = (1−z)w(u)(1+(q−1)z)n−w(u) = (1+(q−1)z)n(

1− z1 + (q − 1)z

)w(u)

.

Da |C| = qk, og da

u∈Cg(u) = (1 + (q − 1)z)nA

(1− z

1 + (q − 1)z

),

sa følger resultatet ved indsættelse af dette udtryk i (5.1).

5.2 Gilbert-Varshamov-grænsen

Gilbert-Varshamov-grænsen garanterer eksistens af visse koder, der har enrelativ minimumafstand, som er begrænset væk fra 0 (hvor vi forudsætter,at k < n), men er ikke konstruktiv. Det vil sige, at sætningen ikke fortæller,hvordan sadanne koder fremkommer, men blot konstaterer, at de eksistererunder visse forhold. Vi skal bruge følgende lemma.

Lemma 5.6.

λn∑

k=0

(n

k

)≤ 2nH(λ), for 0 ≤ λ ≤ 1

2, λ ∈ R, n ∈ Z+.

Lemmaet følger ved at sætte q = 2 i sætning 2.8.

I følgende sætning vil vi benytte os af et anderledes mal for minimumvægten.Vi definerer

wmin := minx6=0

(w(xG)), (5.2)

og tilsvarende

d := minx6=y

(w(xG− yG))

Sætning 5.7 (Gilbert-Varshamov-grænsen). For alle n, k ∈ N findes en

[n, k] kode, hvorom der gælder, at

d

n≥ H−1(1− k

n).

Page 97: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.2. GILBERT-VARSHAMOV-GRÆNSEN 89

0.2

0.60

0.40.20

H

p

1

1

0.8

0.6

0.8

0.4

Figur 5.1: Binær entropifunktion

Her er d kodens minimumafstand, som defineret i (5.2). H er den binæreentropifunktion og k/n er kodens hastighed. Den inverse afbildning H−1(x)er defineret for 0 ≤ x ≤ 1 som den entydige løsning tilH(z) = x for 0 ≤ z ≤ 1

2 . Figur 5.1 viser, hvorfor vi vælger at definere H paintervallet [0, 1

2 ], netop da vi sa er sikret entydighed af løsninger til H−1, ogdermed har en veldefineret invers afbildning.

I beviset vil vi vise, at den brøkdel af alle [n, k] koder, hvorom vi har dn <

H−1(1 − kn) er mindre end 1. Hvis dette gælder, ma der restere et antal

[n, k]-koder medd

n≥ H−1(1− k

n),

som krævet. Nu til beviset.

Bevis. Lad os betragte xA = y. Her er x ∈ Fk2\{0} informationsvektoren,

y ∈ Fn2 er kodeordet, og A er altsa en k × n generatormatrix for en [n, k]

kode, som løser ligningen

xA = y. (5.3)

Vi skal se, at givet x ∈ Fk2\{0} og y ∈ Fn2 , sa er antallet af løsninger til (5.3)

lig

2kn

2n.

Lad M være mængden af binære k×n matricer. Sa er (M,+,0) en gruppe.

Vi viser, at H = {A ∈M |xA = 0} er undergruppe i M .

Page 98: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

90 5.2. GILBERT-VARSHAMOV-GRÆNSEN

1. Det neutrale element er e = 0 (0 er nul-matricen).

2. Lad x ∈ Fk2\{0} og A1, A2 ∈ H, sa har vi xA1 = 0 og xA2 = 0, men

sa ma der gælde at x(A1 +A2) = xA1 +xA2 = 0 eller (A1 +A2) ∈ H.

3. Givet A ∈ H er den inverse givet ved −A. Det er klart at A+(−A) = e

og (−A) + A = e og vi har ogsa x(−A) = −xA = 0.

Sa H er en undergruppe i M . Endvidere har vi, at for alle x ∈ Fk2\{0} og

y ∈ Fn2 findes A ∈ M , sa (5.3) er opfyldt. Dette indses ved at betragte

følgende matrixmultiplikation

x = (x1, x2, . . . , xk)

a11 a12 · · · a1n

a21. . .

......

. . ....

ak1 ak2 · · · akn

= (y1, y2, . . . , yn).

Vi far altsa

yi = x1a1i + x2a2i + · · ·+ xkaki, i = 1, . . . , n. (5.4)

Hvis vi husker pa, at x er fast, ses det nu let at, givet yi, sa kan vi finde

a1i, . . . , aki, sa (5.4) er opfyldt.

Nu vil vi vise, at løsningsmængden til (5.3) udgør en sideklasse til H under

relationen ∼ defineret ved:

A ∼ B ⇔ B−1A ∈ H ⇔ −B + A ∈ H.

Vi har, at x(−B + A) = 0 eller xA = xB. Sa sideklasserne til H har

formen S +H, hvor S ∈ M , og der er derfor |H| elementer i en sideklasse.

Antal løsninger til (5.3) ma da være lig |H|. Denne størrelse kan findes ved

at betragte (5.4). Her sættes yi = 0, i = 1, . . . , n, og vi kan uden tab af

generalitet antage, at x = (1, 1, . . . , 1), idet der er knyttet en sideklasse til

hvert x, og hver af disse har lige mange elementer. Sa

0 = x1a1i + x2a2i + · · ·+ xkaki, i = 1, . . . , n

bliver

0 = a1i + a2i + · · ·+ aki, i = 1, . . . , n. (5.5)

Page 99: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.2. GILBERT-VARSHAMOV-GRÆNSEN 91

Lad os lige bemærke, at vi søger antallet af løsninger A ∈M til xA = 0. Vi

indser nu at (5.5) er opfyldt hvis og kun hvis antallet af 1-taller for hvert i

er lige. Dette ma indtræffe i halvdelen af alle kombinationer af de k skalarer,

og derfor bliver antal løsninger til (5.5), og ikke mindst til (5.3),

(2k

2

)n=

2kn

2n.

Vi minder om, at for lineære [n, k] koder er den minimale Hammingvægt af

kodeord lig minimumafstanden for koden. Lad os se pa kodeord af Hamm-

ingvægt højst d0 ∈ Z+, 0 ≤ d0 ≤ n. Der er præcis

(n

0

)+

(n

1

)+ · · ·+

(n

d0

)

af disse kodeord. Det betyder, at antallet af [n, k] koder, som til x ∈ Fk2\{0}giver kodeord af vægt højst d0 er givet ved

((n

0

)+

(n

1

)+ · · ·+

(n

d0

))2kn

2n.

Antal af informationsord x ∈ Fk2\{0} er 2k − 1, sa vi far det totale antal af

[n, k] koder, som giver kodeord af Hammingvægt højst d0 lig

(2k − 1

)((n

0

)+

(n

1

)+ · · ·+

(n

d0

))2kn

2n. (5.6)

Lad δ0 = d0n . Vi bruger nu lemma 5.6, og far

(n

0

)+

(n

1

)+ · · ·+

(n

d0

)≤ 2nH(δ0), for δ0 ≤

1

2.

Vi har ogsa, at 2k − 1 ≤ 2k.

Lad os definere Xfrac til at være brøkdelen af alle [n, k]- koder, som giver

kodeord af Hammingvægt højst d0. Det totale antal [n, k]- koder er 2kn, sa

Xfrac ≤2k2nH(δ0) 2kn

2n

2kn, δ0 ≤

1

2,

hvilket reduceres til

Xfrac ≤ 2−n(1− kn−H(δ0)), δ0 ≤

1

2.

Hvis Xfrac < 1 er vi færdige. Det sker, nar δ0 < H−1(1− kn).

Page 100: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

92 5.3. CYKLISKE KODER

Vi har nu vist at koden tilfredsstiller d/n > 0, men har koden ogsa de

parametre som sætningen lover? Hvis vores generatormatrixG har fuld rang,

vil koden have den ønskede størrelse. Vi har som sagt d/n > 0, og derfor

ogsa wmin > 0. Pga. vores definition af wmin har vi, at der for kodeord,

genereret af ikke-nul informationsord, ma gælde, at de har vægt større end

nul. Med andre ord er afbildningen G injektiv, og har saledes fuld rang.

For en sammenligning mellem Gilbert-Varshamov-grænsen, justesen-koderog koderne lovet i kanalkodningssætningen, mht. relativ minimumafstand,henvises til figur 5.3 pa side 111.

5.3 Cykliske koder

I dette afsnit vil vi studere nogle specielle koder – nemlig de sakaldte lineærecykliske koder. Afsnittet er skrevet ud fra [Tom04, kap. 6]. Vi vil bestemmeet generatorpolynomium for disse koder og derudfra konstruere en generator-og paritetstjekmatrix. Sa vil vi desuden bestemme minimumafstanden forcykliske koder, kaldet BCH-grænse. I det følgende vil vi opfatte kodeordenesom kodepolynomier, hvor et kodeord (c0, c1, . . . , cn−1) ∈ Fnq ogsa kan op-fattes som polynomiet c0 + c1x+ · · ·+ cn−1x

n−1 ∈ Fq[x]. Vi starter med endefinition.

Definition 5.8. Lad C være en [n, k]-kode over Fq. Koden kaldes cyklisk,

hvis der gælder at

c = (c0, c1, . . . , cn−1) ∈ C ⇒ c = (cn−1, c0, . . . , cn−2) ∈ C.

Ethvert cyklisk skift c af et kodeord skal saledes tilhøre koden.

I det efterfølgende vil vi fa brug for følgende lemma.

Lemma 5.9. Gælder der, at

c(x) = c0 + c1x+ · · ·+ cn−1xn−1 og c(x) = cn−1 + c0x+ · · ·+ cn−2x

n−1,

sa vil

c(x) = xc(x)− cn−1(xn − 1).

Bevis. Lemmaet vises ved udregning.

xc(x)− cn−1(xn − 1) = c0x+ c1x

2 + · · ·+ cn−1xn − cn−1x

n + cn−1

= cn−1 + c0x+ · · ·+ cn−2xn−1 = c(x).

Page 101: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.3. CYKLISKE KODER 93

Vi bemærker, at hvis deg(c(x)) < n− 1, vil vi have, at xc(x) = c(x), da densidste koefficient er 0, og det sidste led derfor er lig 0. I resten af dette afsnitvil C opfylde samme betingelser som i definition 5.8). Vi vil nu vise nogleegenskaber ved et specielt polynomium i C, og vil sa senere vise, at dette erkodens generatorpolynomium.

Sætning 5.10. Lad g(x) være det moniske polynomium af lavest grad i

C\{0}. Sa gælder

1. g(x)|c(x) for alle c ∈ C.

2. g(x)|(xn − 1) i Fq[x].

3. k = n− deg(g(x)).

Bevis. Vi kigger pa de tre egenskaber hver for sig.

1. Antag c(x) ∈ C, og lad deg(g(x)) = s. Vi har derfor c(x) = a(x)g(x)+

r(x), hvor deg(r(x)) < s, og vi vil vise, at r(x) = 0, sa 1. gælder. Der

ma gælde, at deg(a(x)) ≤ n − 1 − s. Dette skyldes, at deg(r(x)) ikke

har indflydelse pa deg(c(x)), og at deg(c(x)) ≤ n− 1. Vi kan sa se, at

a(x)g(x) ∈ C, da

a(x)g(x) = a0g(x) + a1xg(x) + · · ·+ an−1−sxn−1−sg(x).

Alle leddene far aldrig en grad større end n−1, og vil alle tilhører C, da

koden er cyklisk. Bruger vi linearitetsegenskaben, ser vi, at a(x)g(x)

saledes ogsa tilhører C. Da koden er lineær, vil en linearkombination

af to kodeord r(x) = c(x) − a(x)g(x) derfor ogsa tilhøre koden. Da

deg(r(x)) < s, og da g(x) er valgt med mindst mulig grad i C\{0}, ma

r(x) = 0. Vi har sa, at g(x)|c(x).

2. Denne del af sætningen følger af del 1. Da c(x) ∈ C, har vi, at g(x)|c(x),sa pr. lemma 5.9 ma g(x)|(xc(x)− cn−1(x

n − 1)). Da vi ogsa ved, at

g(x)|c(x), medfører det, at g(x)|(xn − 1), som vi ville vise.

3. Lad igen deg(g(x)) = s. Vi viser denne lighed ved først at vise, at

k ≤ n− s og derefter, at k ≥ n− s. For at vise første ulighed tager vi

Page 102: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

94 5.3. CYKLISKE KODER

c1 = (a1,b) ∈ C og c2 = (a2,b) ∈ C, hvor a1,a2 ∈ Fsq og b ∈ Fn−sq .

Sa har vi

c1 − c2 = (a1 − a2, 0) ∈ C, deg(a1(x)− a2(x)) ≤ s− 1.

Idet deg(a1(x) − a2(x)) ≤ s − 1, og g(x) har mindst grad i C, ma

a1(x)− a2(x) = 0, sa vi har, at a1 = a2. Der findes derfor højst qn−s

kodeord i C. Da k er antal lineært uafhængige kodeord, er det klart,

at k ≤ n− s.For at vise, at k ≥ n−s betragter vi g(x), xg(x), x2g(x), . . . , xn−1−sg(x),

som alle tilhører C. Alle disse er cykliske skift af g(x) og betragter vi

dem som vektorer, er de lineært uafhængige. Dette kan indses ved at

danne en linearkombination af dem og sætte denne lig 0,

a0g(x) + a1xg(x) + · · ·+ an−s−1xn−s−1g(x)

= g(x)(a0 + a1x+ · · ·+ an−s−1xn−s−1) = 0,

og sa se, at dette kun kan gælde for a0 = a1 = · · · = an−s−1 = 0. Da

g(x) 6= 0, ma a0 +a1x+ · · ·+an−s−1xn−s−1 = 0, hvilket kun kan opnas

nar a0 = a1 = · · · = an−s−1 = 0, som giver det ønskede resultat. Sa ma

k ≥ n− s, da der i hvert fald findes mindst n− s lineært uafhængige

kodeord. Som konklusion har vi k = n− s.

Det ses ogsa, at g(x) er entydigt bestemt. Dette skyldes, at fandtes der toforskellige g(x)’er, ville deres differens ogsa tilhøre koden, da denne er lineær.Da g(x) er monisk, vil denne differens have en mindre grad end g(x) selv,og dette er i modstrid med valget af g(x), som polynomiet med mindst gradi C.

Næste sætning viser, at vi kan tillade os at bruge g(x) som generatorpoly-nomium for den cykliske kode.

Sætning 5.11. Lad g(x) være monisk og g(x)|(xn−1). Sa er C = {i(x)g(x)| i(x) ∈ Fq[x], deg(i(x)) < n− deg(g(x))} en cyklisk kode med generatorpo-

lynomium g(x).

Bevis. Koden C vil være lineær, da ethvert kodeord er en linearkombination

af g(x). Vi skal sa vise, at c(x) ∈ C medfører, at c(x) ∈ C, sa koden saledes

er cyklisk.

Page 103: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.3. CYKLISKE KODER 95

Lad h(x) = xn−1g(x) = h0 + h1x+ · · ·+ hn−s−1x

n−s−1 + xn−s, idet polynomiet

h(x) er monisk, da bade xn − 1 og g(x) er det. Kodeordene i C vil sa være

c(x) = i(x)g(x), hvor deg(i(x)) < n− s. Dermed har vi

c(x) = xc(x)− cn−1(xn − 1) = xi(x)g(x)− cn−1h(x)g(x)

= (xi(x)− cn−1h(x))g(x).

Vi ved, at de ledende koefficienter for henholdsvis c(x) og i(x) er ens, da

g(x) er monisk, og c(x) er lig i(x)g(x). Vi har derfor cn−1 = in−s−1.

Kan vi sa vise, at deg(xi(x) − cn−1h(x)) < n − s, vil c(x) ogsa være et

kodeord. Vi kigger pa graden af xi(x)− cn−1h(x). Det første led, xi(x), har

højst grad (n− 1)− s+ 1 = n− s, da deg(i(x)) = deg(c(x)g(x)

)≤ (n− 1)− s.

Det sidste led, nemlig cn−1h(x), har samme grad som h(x), hvilket er n− s,da h(x) = xn−1

g(x) .

Sa ma deg(xi(x) − cn−1h(x)) < n − s, da de to ledende termer for de to

led er ens (som tidligere set), og derfor gar ud med hinanden i det tilfælde,

hvor deg(xi(x)) = n− s. Er deg(xi(x)) < n− s, sa er cn−1 = in−s−1 = 0, og

vi kan nu ved brug af lemma 5.9 skrive c(x) = xc(x) = xi(x)g(x) ∈ C, da

deg(xi(x)) er under n−s, som sætningen kræver. Af den grund ma c(x) ∈ C,

som ønsket.

Vi mangler sa at se, at g(x) er et generatorpolynomium for koden, men

da koden er defineret som C = {i(x)g(x) | i(x) ∈ Fq[x], deg(i(x)) <

n − deg(g(x))}, vil alle kodeord være genereret af g(x), og g(x) er dermed

generatorpolynomium for C.

Ud fra ovenstaende sætning har vi sa, at alle moniske divisorer i xn− 1 kanbruges som generatorpolynomium for en cyklisk kode. Hver monisk divisorvil derfor give anledning til hver sin cykliske kode. Fra sætning 5.11 følgerdet, at g(x) vil være det polynomium i koden af lavest grad i koden, daalle kodeord genereres af g(x). Har vi derimod givet en cyklisk kode og skalfinde et muligt generatorpolynomium, kan vi ved brug af sætning 5.10 se,at det er tilstrækkeligt, at finde det moniske polynomium af lavest grad ikoden C\{0}. Vi vil nu forsøge at finde generator- og paritetstjekmatricerfor cykliske koder.

Fra definition 1.4 har vi, at en generatormatrix G skal være en k×n-matrixog at row(G) skal udspænde hele C, hvilket vil sige, at rækkerne skal bestaaf k lineært uafhængige kodeord (eller polynomier). Lader vi C være encyklisk [n, k]-kode, ved vi, fra sætning 5.11, at mængden {i(x)g(x) | i(x) ∈Fq[x], deg(i(x)) < n− deg(g(x))} udgør C.

Page 104: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

96 5.3. CYKLISKE KODER

Desuden ved vi, fra sætning 5.10, del 3, at deg(g(x)) = n − k. Det vil sige,at g(x) = g0 + g1x + · · · + gn−k−1x

n−k−1 + xn−k. Fra tidligere ved vi, atpolynomierne g(x), xg(x), x2g(x), . . . , xk−1g(x) vil være lineært uafhængige.Linearkombinationer af disse vil udgøre hele koden C, da disse svarer tili(x)g(x), hvor i(x) ∈ Fq[x] og deg(i(x)) < n − deg(g(x)). Opfattes disse kpolynomier som vektorer, kan vi derfor bruge dem til at udfylde vores k×n-generatormatrix, da de er lineært uafhængige og samtidigt udspænder heleC. Vi har nu

G =

g0 g1 g2 . . . gn−k 0 0 0 . . . 00 g0 g1 . . . gn−k−1 gn−k 0 0 . . . 00 0 g0 . . . gn−k−2 gn−k−1 gn−k 0 . . . 0...

......

......

......

......

...0 . . . 0 0 0 g0 . . . gn−k−2 gn−k−1 gn−k

.

Matricen bestar, som det ses, af g(x) i første række og k − 1 cykliske skift.

For at finde paritetstjekmatricen H indfører vi nu←−−h(x) = hk+hk−1x+ · · ·+

h1xk−1+h0x

k, hvilket svarer til h(x), hvor koefficienterne er sat pa i omvendtrækkefølge. Vi ser fra vores definition af h(x), at g(x)h(x) = xn−1. Desudenved vi, at c(x) = i(x)g(x), og derfor ma c(x)h(x) = i(x)g(x)h(x) = i(x)(xn−1). Polynomiet c(x)h(x) indeholder derfor ingen led af grad k, k+1, . . . , n−1(vi husker pa, at deg(i(x)) < n − s = n − (n − k) = k). At disse ledikke er indeholdt i polynomiet, svarer til at de tilhørende koefficienter er 0.For at sikre, at de to koefficienter, der multipliceres bliver koefficienten tilhenholdsvis k, k + 1, . . . , n− 1, dannes følgende sum

n−1∑

i=0

cihj−i = 0 , j = k, k + 1, . . . , n− 1,

hvis vi lader der gælde, at hs = 0 for s < 0. Da en paritetsmatrix opfyl-der Hc = 0 for alle c ∈ C, vil alle de n − k forskellige h-vektorer, derfas fra ovenstaende sum, udgøre rækkerne i H. Disse vektorer er pa for-

men←−h = (hk, hk−1, . . . , h1, h0), da j − i tæller ned, mens i tæller op. En

paritetstjekmatrix ser derfor saledes ud

H =

hk hk−1 hk−2 . . . h0 0 0 0 . . . 00 hk hk−1 . . . h1 h0 0 0 . . . 00 0 hk . . . h2 h1 h0 0 . . . 0...

......

......

......

......

...0 . . . 0 0 0 hk . . . h2 h1 h0

.

Matricen H bestar derfor, som G, af vektoren←−h i første række, og dernæst

af n− k − 1 cykliske skift.

Page 105: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.3. CYKLISKE KODER 97

5.3.1 BCH-grænsen

For at afslutte de cykliske koder, vil vi nu se pa minimumafstanden for disse.BCH-grænsen giver en nedre grænse for minimumafstanden af en cykliskkode.

Sætning 5.12. For en cyklisk kode C med parametre [n, k] og generatorpo-

lynomium g(x), der blandt sine rødder har βa, βa+1, . . . , βa+d−2, hvor β har

orden n, og a ∈ N gælder

dmin ≥ d.

Sætningen siger altsa, at kan vi finde d − 1 nulpunkter pa stribe, vil mini-mumafstanden for koden være større end eller lig d. Vi skal her være op-mærksomme pa, at βi’erne ikke ligger i selve koden, men i udvidelseslegemetFq.

Bevis. Lad g(x) være generatorpolynomium for koden C, og lad g have

βa, βa+1, . . . , βa+d−2,

hvor β har orden n, blandt sine rødder. Vi danner nu matricen

H =

1 βa βa2 . . . βa(n−1)

1 β(a+1) β(a+1)2 . . . β(a+1)(n−1)

......

.... . .

...

1 β(a+d−2) β(a+d−2)2 . . . β(a+d−2)(n−1)

.

Denne matrix har egenskaben, at HcT = 0, idet ethvert kodeord har

βa, βa+1, . . . , βa+d−2

som rødder, sa ovenstaende matrix bestar af paritetstjek. Vi ved ikke, om der

er nok paritetstjek i ovenstaende matrix til at gøre den til en paritetstjekma-

trix, men vi ved, at hvis vi kan finde et mindste antal lineært afhængige søjler

i denne matrix, sa vil dette tal ikke blive mindre af at tilføje flere rækker.

Dermed kan vi bruge sætning 1.12, til at udtale os om minimumafstanden.

Vi udtager derfor d − 1 vilkarlige søjler fra ovenstaende matrix, vi vælger

indicierne i1, i2, . . . , id−1 til disse, og viser, at de er lineært uafhængige ved

Page 106: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

98 5.4. REED-SOLOMON-KODER

at se pa determinanten af den herved fremkomne delmatrix, dvs.∣∣∣∣∣∣∣∣∣∣

βai1 βai2 . . . βaid−1

β(a+1)i1 β(a+1)i2 . . . β(a+1)id−1

......

. . ....

β(a+d−2)i1 β(a+d−2)i2 . . . β(a+d−2)id−1

∣∣∣∣∣∣∣∣∣∣

.

Vi viser nu, at denne determinant er forskellig fra nul, hvorved vi har, at de

d − 1 søjler er uafhængige og dermed, at minimumafstanden er større end

d−1. Ideen er, at fa determinanten til at ligne en Vandermonde-determinant.

Ved at sætte βaij = xj fas∣∣∣∣∣∣∣∣∣∣

xa1 xa2 . . . xad−1

x(a+1)1 x

(a+1)2 . . . x

(a+1)d−1

......

. . ....

x(a+d−2)1 x

(a+d−2)2 . . . x

(a+d−2)d−1

∣∣∣∣∣∣∣∣∣∣

.

Vi bytter nu om pa søjler og rækker i ovenstaende, hvilket ikke har indflydel-

se pa determinanten, og trækker en konstant udenfor hver række. Hvis disse

konstanter efterfølgende ganges pa determinanten, ændres determinanten

ikke. Vi far

xa1xa2 · · ·xad−1

∣∣∣∣∣∣∣∣∣∣

1 x1 x21 . . . xd−2

1

1 x2 x22 . . . xd−2

2...

......

. . ....

1 xd−1 x2d−1 . . . xd−2

d−1

∣∣∣∣∣∣∣∣∣∣

.

Dette er en Vandermonde-determinant, som vi fra side 54 i [Tom04] kender

et udtryk for. Vi har sa, at determinanten er givet ved

xa1xa2 · · ·xad−1

1≤j<i≤d−1

(xi − xj).

Alle xi’er og xj ’er er parvist forskellige, fordi β har orden n, og d < n, sa

determinanten er forskellig fra nul, og vi har vist det ønskede.

5.4 Reed-Solomon-koder

Vi vil nu se pa en klasse af koder kaldet Reed-Solomon-koder (RS-koder).Disse koder har den egenskab, at de nar den sakaldte Singelton-grænse,som giver en øvre grænse for minimumafstanden. Først nogle definitioner ogbetragtninger.

Page 107: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.4. REED-SOLOMON-KODER 99

Definition 5.13. Lad x1, . . . , xn være forskellige elementer i Fq. En Reed-

Solomon-kode Kk med parametre [n, k] er givet ved

Kk = {(f(x1), . . . , f(xn))|f(x) ∈ Fq [x] , deg(f) < k} .

Vi bemærker, at en RS-kode er lineær, for hvis c1 = (f1(x1), . . . , f1(xn)) ogc2 = (f2(x1), . . . , f2(xn)) er to kodeord i en RS-kode, sa vil

ac1 + bc2 = ((af1 + bf2)(x1), . . . , (af1 + bf2)(xn)) , a, b ∈ R,

ogsa være et kodeord, da dette igen er et polynomium af grad mindre endk.

Vi bemærker desuden, at alle kodeordene er forskellige, dvs. to forskelligepolynomier kan ikke indkodes til det samme kodeord. Vi ser nemlig, at hvisto af dem var ens, ville de være indkodet med samme informationspolyno-mium, da

(f1(x1), . . . , f1(xn)) = (f2(x1), . . . , f2(xn)) ⇔(f1(x1), . . . , f1(xn))− (f2(x1), . . . , f2(xn)) = 0 ⇔f1(xi)− f2(xi) = 0 ⇔f1(xi) = f2(xi), for i = 1, 2, . . . , n.

Sætning 5.14. Enhver kode med parametre [n, k, d] opfylder Singleton-

grænsen

d ≤ n− k + 1.

Bevis. Lad C være en [n, k]-kode med minimumafstand d. Der er qk kodeord.

Hvis vi fjerner d − 1 af ikke-nul indgangene i hver af disse, vil de stadig

være forskellige. Der er i alt qn−(d−1) = qn−d+1 mulige valg af de resterende

indgange, vi ma derfor have, at

k ≤ n− d+ 1,

hvilket skulle vises.

Sætning 5.15. Reed-Solomon koder nar Singleton-grænsen

Bevis. Da RS-koder er lineære, er minimumafstanden den samme som mini-

mumvægten. Vi har desuden, at et polynomium f med grad mindre end k

højst har k − 1 rødder, sa vægten af et kodeord, der er indkodet vha. f har

vægt mindst n− (k − 1). Sa vi har

d ≥ n− k + 1.

Page 108: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

100 5.4. REED-SOLOMON-KODER

Desuden skal Singleton-grænsen være opfyldt, dvs.

d ≤ n− k + 1,

sa

d = n− k + 1.

5.4.1 Indkodning og dekodning

Vi vil først se pa, hvordan man kan indkode RS-koder. Man kan indkode sitinformationspolynomium i(x), hvor deg(i) < k – der ogsa kan fortolkes somen vektor (i0, i1, . . . , ik−1), idet i(x) = i0 + i1x + . . . + ik−1x

k−1 – og sættexi = αi−1, hvor α er et primitivt element i Fq. Vi far, at kodeordet bliverc = (i(x1), . . . , i(xn)).

En mulig generatormatrix er

G =

1 1 . . . 1x1 x2 . . . xn...

.... . .

...

xk−11 xk−1

2 . . . xk−1n

.

Her svarer første række til at sætte i(x) = x0, dvs. indkode vektoren (1, 0, . . . , 0),og sa udregne i(x1), i(x2), . . . , i(xn). Anden række svarer til at sætte i(x) =x, dvs. informationsvektoren (0, 1, 0, . . . , 0), tredje række til i(x) = x2, dvs.informationsvektoren (0, 0, 1, 0, . . . , 0) osv. I alt far vi k lineært uafhængigevektorer, som dermed udspænder mængden af samtlige polynomier med engrad skarpt mindre end k.

Skal man derimod dekode RS-koder, kan følgende metode benyttes. Sætt = bd−1

2 c = bn−k2 c, lad r = c + e være det modtagne ord, e fejlen, ogω(e) ≤ t. Lad Q(x, y) = Q0(x) + yQ1(x) ∈ Fq [x, y] \ {0} opfylde følgende

1. Q(xi, ri) = 0, hvor xi er givet som ovenfor, og ri er den i’te indgang iden modtagne vektor,

2. deg(Q0) ≤ n− t− 1,

3. deg(Q1) ≤ t.

Vi viser først, at der for enhver RS-kode findes et polynomium Q(x, y) sabetingelse 1 − 3 er opfyldt. Vi starter med at opskrive et Q0– og et Q1–

Page 109: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.4. REED-SOLOMON-KODER 101

polynomium, sa 2 og 3 er opfyldt. Sæt l0 = n− t− 1 og l1 = t, og lad

Q0(x) = Q0,0 +Q0,1x+ . . .+Q0,l0xl0 ,

Q1(x) = Q1,0 +Q1,1x+ . . .+Q1,l1xl1 .

Hvis vi sætter Q(x, y) = Q0(x)+yQ1(x) med Q0 og Q1 som ovenfor, og heriindsætter (xi, ri) fas følgende homogene ligningssystem

1 x1 x21 . . . xl01 r1 r1x1 . . . r1x

l11

1 x2 x22 . . . xl02 r1 r2x2 . . . r2x

l12

......

......

......

1 xn x2n . . . xl0n r1 rnxn . . . rnx

l1n

Q0,0

Q0,1...Q0,l0

Q1,0

Q1,1...Q1,l1

=

00...0

.

Dette ligningssystem er garanteret ikke-trivielle løsninger, dvs. Q(x, y) eksi-sterer, hvis der er flere rækker end søjler, dvs. hvis der er frie variable. Altsavil Q(x, y) eksistere nar

l0 + 1 + l1 + 1 > n ⇔ n− t− 1 + 1 + t+ 1 > n ⇔ n+ 1 > n

dvs. altid. Følgende sætning giver en metode til dekodning af RS-koder udfra ovenstaende Q(x, y) polynomium.

Sætning 5.16. Hvis c = (g(x1), . . . , g(xn)), deg(g) < k, r = c + e og

ω(e) ≤ t, sa er

g(x) =−Q0(x)

Q1(x).

Bevis. Da vi har antaget, at ω(e) ≤ t, har vi, at ei = 0 for mindst n − tindgange i e. Vi har desuden pr. antagelse, at Q(xi, ri) = Q(xi, g(xi)+ei) =

0, men dvs. at Q(xi, g(xi)) har mindst n − t forskellige nulpunkter blandt

xi’erne, i = 1, . . . , n, nemlig i de tilfælde, hvor ei = 0. Vi vil nu undersøge

graden af Q(x, g(x)). Da Q(x, g(x)) = Q0(x) + g(x)Q1(x) har vi, at

deg(Q(x, g(x)) ≤ max {deg(Q0),deg(Q1) + deg(g)}≤ max {n− t− 1, t+ k − 1}

= max

{n− t− 1, n− 2

(n− k

2

)− 1 + t

}

≤ max {n− t− 1, n− 2t− 1 + t}= n− t− 1,

Page 110: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

102 5.4. REED-SOLOMON-KODER

hvor vi har benyttet, at t = bn−k2 c og dermed, at −t ≥ −n−k2 . Altsa

har Q(x, g(x)) flere nulpunkter end dets grad tillader. Vi ser derfor, at

Q(x, g(x)) = 0. Vi vil nu ved et modstridsargument indse, at Q1(x) 6= 0. An-

tag nemlig, at Q1(x) = 0, sa er Q(x1) = Q0(x1) = 0, . . . , Q(xn) = Q0(xn) =

0. Altsa har Q0(x) n nulpunkter, men vi har, at deg(Q0) ≤ n − t − 1, sa

Q0(x) = 0. Hermed har vi, at Q(x, y) = 0+y ·0 = 0, men dette er i modstrid

med, at Q(x, y) 6= 0, hvorved vi har, at Q1(x) 6= 0. Altsa har vi

Q0(x) + g(x)Q1(x) = 0 ⇔ g(x) =−Q0(x)

Q1(x),

som ønsket.

5.4.2 Cykliske Reed-Solomon koder

Vi vil nu se pa en vigtig klasse af RS-koder, nemlig de RS-koder, der ogsaer cykliske. Vi har følgende sætning

Sætning 5.17. Lad β være en primitiv n’te ordens enhedsrod i Fq, dvs. lad

n | (q − 1), α primitivt element i Fq og β = αq−1

n . Sa er RS-koden Ck over

Fq givet ved

Ck ={(f(1), f(β), . . . , f(βn−1)) | f(x) ∈ Fq [X] , deg(f) < k

}

cyklisk.

Bevis. Lad c = (f(β0), f(β1), . . . , f(βn−1)) ∈ Ck. Sa vil

c = (f(βn−1), f(β0), . . . , f(βn−2))

= (f(β−1βn), f(β−1β1), . . . , f(β−1βn−1))

= (f(β−1), f(β−1β1), . . . , f(β−1βn−1)),

hvor vi har brugt, at βn = β0, da β har orden n. Idet vi nu sætter f1(x) =

f(β−1x), fas

c = (f1(β0), f1(β), . . . , f1(β

n−1)).

Vi har, at deg(f1) = deg(f), da den eneste ændring er tilføjelsen af kon-

stanten β−1 pa hver af argumenterne til funktionen f , saledes at det at tage

f1 pa β1 kommer til at svare til at tage f pa β0. Dermed kan vi slutte at

c ∈ Ck, hvorved Ck er cyklisk.

Page 111: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.4. REED-SOLOMON-KODER 103

Vi har, at

G =

1 1 1 . . . 11 β β2 . . . βn−1

......

.... . .

...

1 βk−1 β(k−1)2 . . . β(k−1)(n−1)

er en generatormatrix, og vil nu se, at

H =

1 β β2 . . . βn−1

1 β2 β4 . . . β2(n−1)

......

.... . .

...

1 βn−k β2(n−k) . . . β(n−1)(n−k)

er en paritetstjekmatrix for Ck. Vi ser at der er n − k lineært uafhængigerækker iH (ved brug af Vandermonde-determinanten som i beviset for BCH-grænsen), dette er det ønskede antal rækker i en paritetstjekmatrix, idetkodens dimension er k. Sa hvis vi kan vise, at disse er paritetstjek, er vifærdige. Kan vi nu vise, at en vilkarlig række i H star vinkelret pa envilkarlig række i G, har vi, at H er en paritetstjekmatrix. Sa vi ser pa detindre produkt mellem en vilkarlig række i H og en vilkarlig række i G, dvs.

⟨(1, βi, (βi)2, . . . , (βi)(n−1)), (1, βj, (βj)2, . . . , (βj)(n−1))

⟩=

n−1∑

l=0

(β(i+j))l,

(5.7)for 1 ≤ i ≤ n − k og 0 ≤ j ≤ k − 1. Vi har nu, at γ = βi+j er en n’teenhedsrod, idet β er det, idet vi bemærker, at γn = (βi+j)n = (βn)(i+j) = 1.Sa vi har at γ er rod i xn − 1. Desuden har vi, at

xn − 1 = (x− 1)(xn−1 + xn−2 + . . .+ x+ 1).

Vi ved imidlertid, at γ 6= 1 da 0 < i + j ≤ n − 1, dermed har vi at γ mavære rod i den sidste del, hvorfor

1 + γ + γ2 . . .+ γn−1 = 0.

Dette svarer imidlertid til at summen i (5.7), og dermed er det indre produkt0, hvorved vi har, at H er en paritetstjekmatrix.

Vi vil nu se, at g(x) = (x− β)(x− β2) · · · (x− βn−k) er et generatorpolyno-mium. Vi bemærker at deg(g) = n− k, som ønsket og at g er monisk. Kanvi vise at g er et kodeord, sa er vi færdige. Vi skriver derfor g pa følgendeform

g(x) = g0 + g1x+ g2x2 + . . .+ gn−1x

n−1.

Page 112: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

104 5.4. REED-SOLOMON-KODER

Her vil gn−s+1 = . . . = gn−1 = 0, men dette er uden betydning. Vi ser nu,at

1 β β2 . . . βn−1

1 β2 (β2)2 . . . (β2)n−1

......

.... . .

...1 βn−k (βn−k)2 . . . (βn−k)n−1

g0g1...

gn−1

=

g(β)g(β2)

...g(βn−k)

=

00...0

.

Binære RS-koder

Vi vil nu betragte en metode til at konstruere en binær RS-kode ud fra encyklisk RS-kode, da det desværre viser sig, at bagsiden af medaljen mht. RS-koder er, at de aldrig kan blive længere end antallet af ikke nul-elementeri det legeme de er over. For RS-koder over Fq svarer dette derfor til, atn ≤ q − 1.

Det er derfor ikke muligt at finde interessante binære koder, da deres længdeville være en. Man er interesseret i binære koder, da disse er nemmere atimplementere. Vi vil se, at det i tilfældet q = 2m er muligt at omdanne encyklisk RS-kode C med parametrene [n, k] over Fq til en binær RS-kode C(ikke nødvendigvis cyklisk) med parametrene [nm, km]. Lad (α1, α2, . . . , αm)være en basis for Fm2 over F2. Sa kan ethvert element a ∈ F2m skrives som

a = a1α1 + a2α2 + · · ·+ amαm.

Dermed kan hvert element a ∈ F2m associeres med en binær streng(a1, a2, . . . , am). Vi har, at ethvert kodeord c ∈ C bestar af kodesymbolerci ∈ F2m , i = 1, . . . , n, sa vi kan til ethvert kodesymbol associere en binærm-streng ci1, ci2, . . . , cim. Vi kan nu skrive vore kodeord c binært ved

c = (c11, c12, . . . , c1m), (c21, c22, . . . , c2m), . . . , (cn1, cn2, . . . , cnm).

Nu er c et binært kodeord af længde mn.

Koden bestar af qk kodeord. Vi ser pa tilfældet q = 2m, sa vi har 2mk

mulige kodeord. Dermed vil vores informationsord være af længde mk, somer dimensionen af koden. Koden er dermed en [mn,mk] kode.

Hvis vi til hver m-streng i kodeordet tilføjer et paritetstjeksymbol xi, saledesat

ci1 + ci2 + · · ·+ cim + xi = 0, xi ∈ F2, (5.8)

dvs. (m+1)-strengene alle indeholder et lige antal 1-taller, sa far vi en kodeC, hvori hvert kodeord bestar af binære strenge af længde m+ 1, men medminimumafstand mindst 2d, hvor d er en nedre grænse for minimumafstan-den af den oprindelige kode C. Dette indses, idet der i kodeordet c ∈ C ma

Page 113: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.5. KONKATENEREDE KODER 105

være mindst d strenge af længde m med vægt forskellig fra nul. Den mindstmulige vægt er da en, for disse d strenge. Ved at tilføje et symbol xi tildisse, saledes at (5.8) er opfyldt, vil deres vægt være blevet forhøjet til 2. Saved en m-streng med ulige vægt, vil vægten forøges med 1 ved at tilføje etxi. Hvis tilfældet derimod er, at en m-streng har lige vægt, vil denne væremindst 2. Alt i alt ender vi med d strenge af længde m+ 1, hver med vægtmindst 2, dvs. vi har, at dmin ≥ 2d. Vi bemærker desuden, at hastighedenaf C er

R(C) =mk

(m+ 1)n=

m

m+ 1R(C),

sa denne er ikke forringet væsentligt i forhold til at vi er garanteret mindsten fordobling i minimumafstanden.

5.5 Konkatenerede koder

Lad os kigge pa en binær k1k2-vektor a. Vi kan dele vektoren op i k1 indi-viduelle k2-vektorer, og hver af k2-vektorerne er da elementer i legemet F

k22 .

Vi kan altsa forestille os a som en k1-vektor,

a = a0 · · · ak1−1

over Fk22 .

Lad C1 være en [n1, k1, d1]-kode over Fk22 . Denne kalder vi den ydre kode. Vi

indkoder nu a vha. C1 til en n1-vektor,

c = c0 · · · cn1−1

igen over Fk22 .

Nu indkoder vi hver af de n1 2k2-vektorer hver for sig, ved at bruge en[n2, k2, d2]-kode, C2, som vi kalder den indre kode. Resultatet er en streng aflængde n1n2. Denne type kodning kaldes superkodning, og resultatet kaldesen superkode. Metoden er illustreret pa figur 5.2. Det skal bemærkes, at badeden indre og ydre kode er lineære.

Hvis man altsa tager en k1k2-vektor og bruger metoden til at lave en super-kode, sa har superkoden længde n1n2 og dimension k1k2. Vi vil nu vise, atminimumafstanden pa superkoden er mindst d1d2.

Sætning 5.18. En superkode genereret fra en k1k2-vektor har en minimu-

mafstand pa mindst d1d2.

Page 114: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

106 5.5. KONKATENEREDE KODER

a 0a 1 k −11

a

[n , k , d ]1 1 1

F 2k 2

k2 − tuppel

C1

k2 − tuppel

c0 c1 n −11c

F 2

C2Indre kodeover[n , k , d ]2 2 2

n2

d 0 d 1 n −11d

over

a =

Ydre kode

c =

− tuppel

d =

Figur 5.2: Konkateneret kode

Bevis. Et kodeord fra den ydre kode, med koordinater c0, . . . , cn1−1, hvor

hver koordinat er en k2-vektor ma besta af mindst d1 ikke-nul vektorer,

da den ydre kodes minimumafstand er d1. Bruges den indre kode nu, vil

de højst n1 − d1 nul-vektorer ogsa blive indkodet til nul-vektorerer, da den

indre kode er lineær. De resterende vektorer, stadig med et antal pa mindst

d1, vil nu have en minimumafstand pa mindst d2. Dette giver os i alt en

minimumafstand pa mindst d1d2.

5.5.1 Justesen-koder

Justesen-koder bygger superkoder, som beskrevet i forrige afsnit. Indkodnin-gen vha. den ydre kode bliver her gennemført vha. Reed-Solomon-koder, ogvi udvider konceptet ved at benytte varierende koder som den indre kode.Dette kan vi gøre, da vi bemærker, at kigger vi pa vores indre kode fra figur5.2 ser vi, at hver af vektorerne bliver kodet seperat, og der skulle derfor ikkevære noget i vejen for at bruge forskellige koder til hver af ci’erne. Denneslags koder er interessante at studere, da det senere viser sig, at de opfylderkravene for en sakaldt asymptotisk god kode, som vi her vil definere.

Page 115: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.5. KONKATENEREDE KODER 107

Definition 5.19. En familie af koder kaldes asymptotisk god, hvis famili-

en indeholder en uendelig følge af koder, C1, C2, . . ., hvorom der gælder, at

koden Ci med parametrene [ni, ki, di] har en hastighed kini

og relativ minimu-

mafstand dini

begge begrænset væk fra 0 for i→∞ og ni →∞.

Lad den ydre kode, C1 være en [n = 2m−1, k, d]-Reed-Solomon-kode R overF2m . Enhver binær k2m-vektor a af symboler kan skrives pa formen

a = a0 · · · ak−1, ai ∈ F2m .

Hvis vi indkoder a med R, far vi sa et kodeord

c = c0 · · · cn−1, ci ∈ F2m .

Lad β være et primitivt element i F2m . For hvert i = 0, . . . , n− 1 = 2m − 2kan vi lave indre koder

Cβi ={(c, βic) | c ∈ F2m

}.

Nar vi sa indkoder c med disse indre koder, far vi superkodeordene

d = (c0, c0)(c1, βc1)(c2, β2c2) · · · (cn−1, β

n−1cn−1),

hvor parenteserne og kommaerne blot tjener det formal, at de gør det helelettere læseligt.

Definition 5.20. Justesen-koden Jn,k er mængden af alle binære kodeord

d, som fremkommer ved brug af en [n, k, d]-Reed-Solomon-kode R som den

ydre kode, samt en indre kode som beskerevet ovenfor. Justesen-koden Jn,k

har da parametrene

len(Jn,k) = 2mn , dim(Jn,k) = mk, 0 ≤ k ≤ n,

og derfor hastighed

R(Jn,k) =k

2n<

1

2.

Længden af kodeordene fas, da d bestar af n ciβici’er. Hvert ci er et element

i F2m hvilket svarer til Fm2 , og hver ciβici ma derfor besta af 2m elementer.

Dimensionen er længden af en informationsvektor a. Da hvert koordinat i a

er element i F2m hvilket svarer til Fm2 , og da a har k sadanne koordinater, madimensionen være lig mk. Det, der gør Justesen-koder sa specielle er, at detvar den første kendte konstruktive familie af koder, som opfylder kravene idefinition 5.19, nemlig

k/n > 0 og (5.9)

d/n > 0,

Page 116: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

108 5.5. KONKATENEREDE KODER

for n→∞.

At dette faktisk gælder, vil vi vise nu vha. [McE77], [Jus72] og [Rom92].

Lad os tage et 0 < R0 < 1/2 og vælge en følge af ydre RS-koder Rn medparametre

n = 2m − 1 og k = d2nR0e.De tilhørende Justesen-koder Jn,k har da hastighed

R(Jn,k) =k

2n≥ R0,

hvilket viser, at (5.9) er overholdt. Vi har ogsa, at

R(Jn,k) =k

2n→ R0 for n→∞.

Vi fastholder nu et n og kigger pa koden Jn,k. Hvis den ydre RS-kode Rn

har minimumvægt d, sa vil ethvert kodeord

d = (c0, c0)(c1, βc1)(c2, β2c2) · · · (cn−1, β

n−1cn−1),

som ikke er nulordet, i Jn,k have mindst d ikke-nul førstekomponenterc0, . . . , cn−1. Vi ved ogsa, at ethvert par af de indre koder

Cβ0 , Cβ1 , . . . , Cβn−1

kun har nul-strengen tilfælles, og derfor ma de tilsvarende d ordnede par,som er i forskellige indre koder, være forskellige. Med andre ord har d mindstd forskellige binære 2m-vektorer.

Da vægten af superkodeordet d ∈ Jn,k mindst er lig summen af vægteneaf de d forskellige binære ikke-nul 2m-vektorer, mangler vi blot at finde engrænse for denne sum. Vi ser, at

d = n− k + 1 = n

(1− k − 1

n

).

Vi bruger nu, at k − 1 < 2nR0 og far da at

d ≥ n(1− 2R0) = nS,

hvor S = 1 − 2R0. Sa har et superkodeord d ∈ Jn,k mindst nS forskelligeikke-nul binære 2m-vektorer. Vi far brug for et lemma.

Lemma 5.21. Summen af vægtene af hvilke som helst nS forskellige ikke-

nul binære 2m-vektorer er mindst

2mnS

(H−1

(1

2

)− o(n)

),

hvor o(n) er en størrelse, der gar mod 0 for n→∞.

Page 117: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.5. KONKATENEREDE KODER 109

Bevis. Ved at bruge lemma 5.6 ser vi, at antallet af binære ikke-nul 2m-

vektorer, som har vægt højst 2mλ, højst er

2mλ∑

i=1

(2m

i

)≤ 22mH(λ),

for ethvert 0 ≤ λ ≤ 12 . Hvis vi ikke tæller disse lavvægtede 2m-vektorer med,

bliver den samlede vægt mindst

2mλ(nS − 22mH(λ)

)= 2mnλS

(1− 22mH(λ)

nS

).

Vi vælger nu λ < 12 sa

λ = H−1

(1

2− 1

log(2m)

).

Dette kan vi godt tillade os, da vi begrænser H(x) til at have definitions-

mængde [0, 1/2], for sa er H(x) invertibel. Da H−1 er kontinuert, vil λ →H−1

(12

)nar m→∞, og vi har da, at

λ = H−1

(1

2− 1

log(2m)

)= H−1

(1

2

)− o1(m),

hvor o1(m) er en størrelse, der gar mod 0 for m→∞.

Da n = 2m − 1, har vi

22mH(λ)

nS=

1

S

2m−2m/ log(2m)

2m − 1=

1

S

2m

2m − 1

1

22m/ log(2m)→ 0 for m→∞,

og sa er den samlede vægt for de nS forskellige 2m-vektorer mindst

2mnS

(H−1

(1

2

)− o2(m)

)(1− o3(m)

)= 2mnS

(H−1

(1

2

)− o4(n)

).

Da m→∞ hvis og kun hvis n→∞, er lemmaet vist.

Ved hjælp af lemma 5.21 kan vi se, at koden Jn,k har minimumvægt mindst

δ ≥ 2mn(1− 2R0)

(H−1

(1

2

)− o4(n)

),

og derfor har vi at den relative minimumafstand £ er vurderet ved

£ =δ

2mn≥ (1− 2R0)

(H−1

(1

2

)− o4(n)

)

→ (1− 2R0)H−1(1

2

)≈ 0.110028(1− 2R0) > 0, for n→∞.

Page 118: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

110 5.5. KONKATENEREDE KODER

Med andre ord har vi

limn→∞

2mn

)≥ (1− 2R0)H

−1

(1

2

). (5.10)

For at summere op, ser vi altsa, at familien af Justesen-koder Jn,k , som erbygget op af RS koderne Rn med parametrene

n = 2m − 1 og k = d2nR0e,

hvor 0 < R0 < 1/2, har

R(Jn,k) =md2nR0e

2mn≥ R0 > 0 og £→ c(1− 2R0) > 0, for n→∞,

hvor c ≈ 0.110028. Derfor er det en asymptotisk god familie af koder. Detkan ogsa vises, at man ogsa kan fa en asymptotisk god familie af koder,selvom 0 < R0 < 1.

Vi vil nu bruge grænserne angivet i (5.10), sætning 5.7 og koderne lovet ikanalkodningssætningen, til at illustrere, hvor tæt Justesen-koderne kom-mer pa henholdsvis Gilbert-Varshamov-grænsen og koderne lovet i kanal-kodningssætningen.

Først vil vi knytte en kommentar til vores funktion Rshannon. Ifølge kanal-kodningssætningen kan vi kommunikere palideligt, med en hastighed underkanalkapaciteten C. Vi kan altsa komme vilkarligt tæt pa C, og tillader osderfor at bruge R = C, til at tegne grafen. Lad K være vores kode, medhvilken vi kan kommunikere palideligt. Vi har da for en binær symmetriskkanal R(K) = C = 1 − H(p), hvor p er kanalens fejlsandsynlighed. Hvadvil det sige at kommunikere palideligt mht. minimumafstanden? Antallet affejl skal være mindre end eller lig med d

2 . For vores kode gælder £ := dn .

For store n gælder store tals lov, og der sker ikke over n(p + ε) fejl medsandsynlighed 1, hvor ε > 0 er vilkarlig lille. Vi far da n(p+ ε) ≤ d

2 = 12£n

eller

p+ ε ≤ £

2.

Vi sætter p = £2 og far

R(K) = 1−H(

£

2

).

Figur 5.3 er fremkommet ved at plotte følgende tre funktioner i Maple:

RGV = 1− 1

ln(2)· xln

(1

x

)− 1

ln(2)· (1− x)ln

(1

(1− x)

),

Page 119: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

5.5. KONKATENEREDE KODER 111

RJust =1

2− 1

2· x

H−1(12),

og

Rshannon = 1− 1

ln(2)· x2ln

(2

x

)− 1

ln(2)· (1− x

2)ln

(1

(1− x2 )

).

0.30.20.10

R

1

0.8

´£

0.6

0.4

0.5

0.2

00.4

Gilbert-Varshamov KanalkodningssaetningenJustesen

Figur 5.3: Nedre grænser for den relative minimumafstand af koderne lovet

af Gilbert-Varshamov-grænsen, Justesen-koderne og koderne lovet i kanal-

kodningssætningen. Her er £= dn

Page 120: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder
Page 121: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Kapitel 6

Afslutning

Vi har i denne rapport, gennem kanalkodningssætningen, undersøgt hvadder skal til, for at det er muligt at kommunikere fejlfrit over en kanal. Visa, at dette afhang af kanalens kapacitet, som igen afhænger af det vigtigebegreb entropi, som vi har indført i starten af rapporten. Desuden afhængerdet af den hastighed, hvormed man sender kodesymbolerne over kanalen.Vi har ved kildekodningssætningen faet et resultat om, hvor meget det kanlade sig gøre at komprimere sine data, sa man kan dekode disse entydigtigen. Igen har vi faet en vurdering udfra entropien. I den kombinerede kilde-kanalkodningssætning har vi set, at det for diskrette hukommelsesfrie ka-naler er muligt at opna de resultater, som kilde- og kanalkodningssætnigenlover, hvis man først komprimerer sine data, og derefter indkoder dem, sade kan sendes over en kanal.Selvom vi er naet vidt omkring i kodningsteoriens verden, er det kun enmeget lille delklasse af samtlige koder vi har undersøgt. Vi kunne ogsa havebeskæftiget os med andre typer end blot blokkoder under kanalkodningen ogladet kodeordenes længde variere. Derudover er der mange typer af koder,som vi ikke har beskrevet i denne rapport. Som eksempel kan nævnes, at viikke har kigget pa perfekte koder, heller ikke pa Hammingkoder (der findesperfekte Hammingkoder). Vi kunne ogsa have set pa LDPC-koder (low den-sity parity check), der finder stor praktisk anvendelse. Stadig med fokus papraktisk anvendelse, kunne vi have set pa, hvordan kanalkodningssætningenkunne udvides til mere generelle kanaler og studeret, hvordan fejlretningenkan udvides til ogsa at omhandle bygefejl, som er mange fejl, der optræderlige efter hinanden, sa kanalen ikke længere er hukommelsesfri. Dette vilofte være tilfældet, f.eks. vil en ridse i en CD næppe kun beskadige en bitsinformation, men strække sig over flere bits, saledes at sandsynligheden forfejl i bit nummer i ikke er uafhængig af sandynligheden for fejl i bit nummeri−1, som vi har antaget ved udelukkende at se pa hukommelsesfrie kanaler.

113

Page 122: Pålidelig kommunikation over støjfyldte kanaler ved hjælp af lange fejlkorrigerende koder

Litteratur

[Joy91] Thomas M. Cover & Joy A. Thomas. Elements of InformationTheory. Wiley, 1991.

[Jus72] Jørn Justesen. Information Theory. artikel, 1972.

[McE77] Robert J. McEliece. The Theory of Information and Coding.Addison-Wesley, 1977.

[Rom92] Steven Roman. Coding and Information Theory. Springer, 1992.

[Sør04] Michael Sørensen. En Introduktion til Sandsynlighedsregning. Afde-ling for Anvendt Matematik og Statistik, Københavns Universitet,2004.

[Tom04] Jørn Justesen & Tom Høholdt. A Course in Error-Correcting Co-des. European Mathematical Society, 2004.

[vL92] J.H. van Lint. Introduction to coding theory. Springer, secondedition, 1992.

[Wad04] William R. Wade. An Introduction to Analysis. Pearson PrenticeHall, third edition, 2004.

114