Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

13
1 Oefeningen Datacommunicatie Les 2: Lineaire blokcodes Julie Neckebroek [email protected] t.be

description

Oefeningen Datacommunicatie Les 2: Lineaire blokcodes. Julie Neckebroek [email protected]. Lineaire blokcodes. (n,k) lineaire blokcode Splits informatiesequentie op in blokken van k bits  informatiewoord b lengte k : b =(b 1 … b k ), b i {0,1}  2 k woorden - PowerPoint PPT Presentation

Transcript of Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Page 1: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

1

Oefeningen Datacommunicatie

Les 2: Lineaire blokcodesJulie Neckebroek

[email protected]

Page 2: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

2

Lineaire blokcodes(n,k) lineaire blokcode

– Splits informatiesequentie op in blokken van k bits

informatiewoord b lengte k : b=(b1 … bk), bi {0,1}

2k woorden

– Zet b om in een vector c met lengte n

codewoord c lengte n: c=(c1 … cn), cj {0,1}

2n woorden slechts 2k kiezen

– Verband b en c: lineaire transformatie

alle bewerkingen modulo-2

– Codedebiet Rc=k/n

Page 3: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Analoge bronnen: PCM 3

Eigenschap van lineaire blokcodes• Som van 2 codewoorden = codewoord• Nulwoord (= vector met n nullen) = codewoord

(correspondeert met informatiewoord bestaande uit k nullen)

Page 4: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: generatormatrix 4

• Generatormatrix G van een (n,k) lineaire blokcode– Elke rij = basisvector

– G = k x n matrix

– Verband b=(b1 … bk) en c=(c1 … cn):

• Opmerking: set basisvectoren niet uniek

elke set van lineair onafhankelijke codewoorden goed

• Systematische vorm generatormatrix

Ik = k x k eenheidsmatrix P = k x (n-k) pariteitsmatrix

in codewoord: eerste (laatste) k codebits = informatiebits

laatste (eerste) n-k codebits = pariteitsbits

(n,k) systematische code

bGc

kk |of| IPGPIG

Page 5: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes 5

Decodeertabel= tabel met alle 2n vectoren r van lengte n en het codewoord dat dichtst bij r ligt

Constructie

1. Plaats alle 2k codewoorden in de eerste rij, te beginnen met het nulwoord.

2. Neem één van de overgebleven woorden w met het kleinste gewicht en plaats dit woord onder de kolom met het nulwoord.

3. Vul de rij op door het woord w op te tellen bij het codewoord bovenaan de kolom.

4. Herhaal stappen 2 en 3 totdat alle 2n woorden in de tabel voorkomen.

Page 6: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: checkmatrix 6

De checkmatrixDecodeertabel = niet handig als k of n groot

• Checkmatrix H : GHT=0

• Eigenschappen:

– Code met H als generatormatrix en G als checkmatrix = duale code

– Systematische vorm:

Voorbeeld: (6,3) code

Checkmatrix: zelfde informatie als codewoord: c= (c1, c2, c3, c1+c2+c3, c1+c2, c1)

kolom H = codebit op die positie

eerste 3 bits = informatiebits

rij 1: c4=c1+c2+c3 rij 2: c5=c1+c2 rij 3: c6=c1

knT

k || IPHPIG

100001

010011

001111

001100

011010

111001

HG

Page 7: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: checkmatrix 7

• Codewoord = lineaire combinatie van rijen van G (=basiscodewoorden)

modulo-2 som van kolommen H overeenkomend met posities ‘1’-en in c moet nul zijn

gevolg: minimale Hammingafstand dH,min (=d) van een code:

set van d kolommen in H waarvan som = 0

set van d-1 kolommen in H waarvan som = 0

= elke set van d-1 kolommen in H zijn lineair onafhankelijk

Voorbeeld: (6,3) code c=(0 0 1 1 0 0) is codewoord

0T cH

0

0

0

0

0

1

0

0

1

: 0 4 3 kolom

100001

010011

001111

H

d=2

Page 8: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: syndroom 8

Het syndroomDefinitie syndroom s=(s1 … sn-k):

Eigenschappen:

• s=0 r is een codewoord

s≠0 r is geen codewoord

syndroom hangt enkel af van foutvector, niet van verstuurde codewoord

= NIET-GEDETECTEERDE FOUT

TrHs

foutdetectie

TTTTT eHeHcHHecrHs 0

0"' T rHscccecr

Page 9: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: syndroom 9

decodeertabel: bereken syndroom van een coset (=rij)

elk element uit coset heeft zelfde syndroom

andere coset = ander syndroom

Syndroomtabel = tabel met cosetleiders en bijbehorende syndromen

TjTjTiTji HeHeHcHecs

rij jelement i

cosetleider = foutpatroon met kleinste gewicht dat aanleiding geeft tot syndroom

Merk op: syndroomtabel (2n-k) factor 2k kleiner dan decodeertabel (2n)

Page 10: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: syndroom 10

Syndroomtabel foutcorrectie

1. Bereken s=eHT

2. Zoek in syndroomtabel e behorend bij s

3. e = meest waarschijnlijke foutpatroon

4. Codewoord erc ˆ

Page 11: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: foutdetectie 11

Binair symmetrisch kanaal (BSC)= kanaal met binaire ingang en binaire uitgang• Bij gegeven ingangssequentie, uitgangbits statistisch onafhankelijk

• Kanaal geheugenloos: ne uitgangsbit enkel afhankelijk van ne ingangsbit

• Kanaal stationair: statistiek kanaal onafhankelijk van tijdsindex

Pr[kanaalfout] = Pr[Y=0|X=1]Pr[X=1]+Pr[Y=1|X=0]Pr[X=0] = p

p = foutprobabiliteit kanaal

X0

1

Y0

1

Pr[Y=0|X=0]=1-p

Pr[Y=1|X=1]= 1-p

Pr[Y=0|X=1]= p

Pr[Y=1|X=0]= p

Page 12: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: foutdetectie 12

Stel foutvector e(i) treedt op (lengte e(i) =n)

Kans niet gedetecteerde fout = kans dat e een codewoord ≠ 0 is

kleinste macht p = dH,min (=d)

Pr[n.g.f]~pd p<<1 (foutdetecterend vermogen d-1)

ii wnwi p1pPr eeee

k

j

jj2

01j

wnw p1pf.g.nPr

c

cc

Page 13: Oefeningen Datacommunicatie Les 2: Lineaire blokcodes

Lineaire blokcodes: foutcorrectie 13

Performantie van foutcorrectie• Foutcorrectie: gebruik syndroomtabel om meest waarschijnlijke foutvector te

bepalen

foutvector in syndroomtabel decodering foutloos

Esyndr= set van foutvectoren in syndroomtabel

• Kans decodeerfout = kans foutvector niet in syndroomtabel

met: = GEGARANDEERD FOUTCORRIGEREND VERMOGEN

1pp~

p1p1f.dPr

1t

E

wnw

syndr

x

xx

21d

t

alle foutpatronen met gewicht t in syndroomtabel, sommige foutpatronen met gewicht > t mogelijk in syndroomtabel (zeker niet alle!)