Professional Documents
Culture Documents
Vedran Glava
LDPC kodovi
SEMINARSKI RAD
Osijek, 2015.
SADRAJ
1. UVOD........................................................................................................... 1
2. LDPC KODOVI.............................................................................................. 2
3. KODIRANJE.................................................................................................. 5
4. DEKODIRANJE........................................................................................... 10
5. ZAKLJUAK............................................................................................... 15
1. UVOD
Cilj seminarskog rada je poblie objasniti LDPC kodove i neke naine kodiranja i
dekodiranja LDPC kodova.
U treem je poglavlju opisan jedan od naina kodiranja LDPC kodova tzv. linearno
vremensko kodiranje u kojem se za stvaranje kodne rijei koristi kontrolna matrica opisana
u drugom poglavlju.
3
2. LDPC KODOVI
LDPC kodove je 1963. razvio ameriki inenjer Robert G. Gallager. Meutim, LDPC
kodovi nisu se koristili sljedeih 30 godina. Ponovno su ih otkrili D. MacKay i M. Neal
1996. dokazavi da LDPC kodovi postiu performanse turbo kodova uz znatno nie
trokove implementacije to je pokrenulo njihovu iroku primjenu u digitalnoj
komunikaciji [1].
LDPC kodovi pripadaju skupini linearnih blok kodova s rijetkim paritetnim bitovima u
kontrolnoj matrici H [2]. Matrica H jo se naziva i matrica pariteta s niskom gustoom
(low density parity matrix).
Kontrolna matrica H predstavlja jedan od dva naina na koje moemo prezentirati sve
linearne blok kodove, pa tako i LDPC kodove.
r (2.1)
J
gdje je:
4
Slika 2.1 Primjer kontrolne matrice H
Nazvan prema Michaelu Tanneru, graf predstavlja drugi nain na koji moemo
prezentirati LDPC kodove. Slui za konstrukciju dugakih kodova pomou kraih kodova.
5
pariteta koje u svojoj jednadbi sadre vrh v i. Stupanj vrha cj jednak je broju kodnih bitova
koji ulaze u vrh cj.
c 1v 1 v 2 v 4 v 6 0 (2.2)
c 2v 2 v3 v 5v 70 (2.3)
c 3v 1 v 2v 3 v 4 v 60 (2.4)
c 4 v 5v 6 v 7 0 (2.5)
6
3. KODIRANJE
Recimo da elimo kodirati LDPC kod duine 10 i kodne brzine 1/2. Kontrolna matrica
koda zadana je kao:
1 1 0 1 1 0 0 1 0 0
0 1 1 0 1 1 1 0 0 0
H0 0 0 1 0 0 0 1 1 1 (3.1)
1 1 0 0 0 1 1 0 1 0
0 0 1 0 0 1 0 1 0 1
Prvo to je potrebno napraviti jest presloiti matricu H u oblik H r tako da se u bilo koja
dva uzastopna redka, koji se ne sastoje veinom od nula, jedinica u donjem redku nalazi
desno od jedinice u gornjem redku. To postiemo primjenom elementarnih operacija nad
GF(2) poljem, a to su: zamjena dva redka ili zbrajanje dva redka po modulo 2 aritmetici
[4].
Prvi i drugi stupac matrice H u jednadbi (3.1) imaju jedinice na dijagonali, a jedinice
ispod dijagonale eliminiraju se tako da etvrti redak zamjenimo sumom prvog i etvrtog
redka po modulo 2 aritmetici. Trei redak matrice ne sadri jedinicu na dijagonali, te je
potrebno zamjeniti trei i peti redak. U zadnjem koraku potrebno je zamjeniti peti redak
sumom petog i etvrtog redka po modulo 2 aritmetici [4]. Dobivena matrica H ima oblik:
1 1 0 1 1 0 0 1 0 0
0 1 1 0 1 1 1 0 0 0
H r0 0 1 0 0 1 0 1 0 1 (3.2)
0 0 0 1 1 1 1 1 1 0
0 0 0 0 1 1 1 0 0 1
Sada je potrebno dobivenu matricu Hr pretvoriti u oblik Hrr tako da bilo koji stupac koji
sadri vodeu jedinicu ima nule na ostalim mjestima. Prvi stupac zadovoljava postavljeni
uvjet. U drugom stupcu lan iznad dijagonale ukloniti emo zamjenom prvog redka sa
sumom prvog i drugog redka po modulo 2 aritmetici. Na slian nain, lan iznad
dijagonale u treem stupcu uklniti emo zamjenom drugog redka sa sumom drugog i treeg
redka po modulo 2 aritmetici. Rjeavanje etvrtog stupca provodimo na slian nain.
7
Potrebno je zamjeniti prvi redak sa sumom prvog i etvrtog redka po modulo 2 aritmetici.
Na kraju, na slian nain, rjeavamo peti stupac. Peti redak pribrajamo prvom, drugom i
etvrtom redku ime dobivamo eljenu matricu Hrr [4].
1 0 0 0 0 0 1 1 1 0
0 1 0 0 0 1 0 1 0 0
H rr 0 0 1 0 0 1 0 1 0 1 (3.3)
0 0 0 1 0 0 0 1 1 1
0 0 0 0 1 1 1 0 0 1
0 1 1 1 0 1 0 0 0 0
1 0 1 0 0 0 1 0 0 0
H std 1 0 1 0 1 0 0 1 0 0 (3.4)
0 0 1 1 1 0 0 0 1 0
1 1 0 0 1 0 0 0 0 1
1 0 0 0 0 0 1 1 0 1
0 1 0 0 0 1 0 0 0 1
G0 0 1 0 0 1 1 1 1 0 (3.5)
0 0 0 1 0 1 0 0 1 0
0 0 0 0 1 0 0 1 1 1
Mana ovakvog pristupa kodiranja jest vrlo visok stupanj kompleksnosti kodera. Za
razliku od matrice H, generatorska matrica G vrlo vjerojatno nee bit rasprena te e stoga
umnoak
cuG (3.6)
gdje je:
rezultirati velikim brojem operacija u koderu [4]. Kako bi se to izbjeglo koristi se nain
kodiranja objanjen u sljedeem podpoglavlju.
8
3.1. LINEARNO VREMENSKO KODIRANJE
Ht A B T
C D E (3.7)
u1 10 0 1 (3.8)
koristei kod duine 10 i kodne brzine 1/2. Kontrolna matrica takvog koda ima oblik
matrice koja je zapisana jednadbom (3.1):
1 1 0 1 1 0 0 1 0 0
0 1 1 0 1 1 1 0 0 0
H0 0 0 1 0 0 0 1 1 1
1 1 0 0 0 1 1 0 1 0
0 0 1 0 0 1 0 1 0 1
9
1 1 0 1 1 0 0 1 0 0
0 0 0 1 0 1 0 1 1 0
Ht0 1 1 0 1 0 1 0 0 1 (3.9)
1 1 0 0 0 0 1 0 1 1
0 0 1 0 0 1 0 1 0 1
I mg 0 A B T
H 1
Ht (3.10)
ET Ig C D 0
CE T 1 AC (3.11)
1
DE T B D (3.12)
nadalje, vrijedi:
1 0 0
T 11 1 0 (3.13)
0 0 1
1 0 0 0 0
I mg 00 1 0 0 0
0 0 1 0 0 (3.14)
E T1 I g1 1 1 1 0
1 0 1 0 1
1 1 0 1 1 0 0 1 0 0
0 0 0 1 0 1 0 1 1 0
H0 1 1 0 1 0 1 0 0 1 (3.15)
0 1 1 0 0 1 0 0 0 0
1 0 0 1 0 1 1 0 0 0
Za kodiranje pomou dobivene matrice H kodna rije c = [c1, c2, ..., cn] se dijeli na tri
dijela:
10
cu , p 1 , p2 (3.16)
gdje je:
- p2 p 2 , p2 , , p2
1 2 mg ostatak paritetnih bitova
C uD p10 p 20 (3.18)
Ako matrica D ima svoj inverz, tada se paritetni bitovi p1 mogu izraunati po
sljedeoj formuli:
p1 D1 C u (3.19)
Ako matrica D nema svoj inverz, tada se vri permutacija stupaca matrice H
p2c 8 ,c 9 , c 10 .
11
1
1
p1 D1 C u 1 0 0 1 1 0 0 01 0
1 11 0 0 1 0
0
1
p2 u1 u2 u4 u51 1 0 11
1
p2 u4 p 1 p2 0 1 10
2 1 1
p2 u2 u3 u5 p 1 1 0 1 00
3 2
c11 0 0 11 0 1 0 0
4. DEKODIRANJE
Binarni kanal s brisanjem, ili krae BEC kanal, predstavlja komunikacijski kanal u
kojem izvor alje jedan bit (0 ili 1), a prijemnik moe primiti poslani bit ili poruku da
poslani bit nije primljen tj. da je poslani bit obrisan [5].
12
Poruke se prenose kao razine napona +U i U, dok razina napona 0 V predstavlja
pogrean prijenos [6].
Na izlazu BEC kanala postoje tri simbola y 1, y2 i y3, gdje y1 odgovara ulaznom
simbolu x1, y2 odgovara ulaznom simbolu x2, a y3 oznaava greku tj. obrisani simbol.
1 pe 0 pe
P (4.1)
0 1 pe pe
p y1 p x 1 1 pe (4.2)
p y 2 p x 2 1 pe (4.3)
p y3 p e (4.4)
13
Ukoliko postoji jednadba pariteta koja ukljuuje samo jedan obrisani bit, vrijednost
tog bita moe se odrediti tako da dobivena vrijednost zadovoljava uvjet parnog pariteta. Na
primjer, ako neki kod sadri jednadbu pariteta:
c 1 c 3 c 5 c 70
i ako su poznate vrijednosti c1=0, c3=1 i c7=0, tada c5 mora biti 1 kako bi jednadba pariteta
bila zadovoljena.
U Tanner-ovom grafu bit vor alje poruku M svakom kontrolnom voru s kojim
ima vezu. Poruka, oznaena s Mi za i-ti bit vor, postavlja vrijednost bita u 1 ili 0 ako je
poznata vrijednost, ili u vrijednost x ako je bit obrisan. Ukoliko kontrolni vor primi samo
jednu poruku s vrijednosti x, moi e odrediti vrijednost bita tako da odabere vrijednost
koja e zadovoljavati paritet. Kontrolni vorovi vraaju razliite poruke svakom bit voru s
kojim su povezani. Poruka poslana s j-tog kontrolnog vora na i-ti bit vor, oznaena s E j,i,
postavlja vrijednost i-bita, odreenu j-tim kontrolnim vorom, u 1, 0 ili x. Kada bit vor, u
kojem se nalazi obrisani bit, primi poruku s nekom vrijednou, tada se ta vrijednost
upisuje na mjesto obrisanog bita. Cijeli postupak se ponavlja sve dok nisu poznate
vrijednosti svih bitova [4].
c0 0 1 01 1 (4.5)
y0 0 1 x x x (4.6)
M001x x x (4.7)
14
Slika 4.2 Poetak dekodiranja [4]
E1,4 M 1 M 2 (4.8)
E1,4 0 0
E1,4 0
Drugi kontrolni vor povezan je s drugim, treim i petim bit vorom, pa su njegove
primljene poruke 0, 1 i x. Odlazna poruka E2,5 odreuje vrijednost petog bita u rijei [4]:
E2,5 M 2 M 3 (4.9)
E2,50 1
E2,51
Trei kontrolni vor povezan je s prvim, petim i estim bit vorom, a njegove
primljene poruke su 0, x i x. Trei kontrolni vor primio je dvije vrijednosti x te stoga ne
moe odrediti vrijednost niti jednog bita. Odlazna poruka kontrolnog vora je x. Takoer,
etvrti kontrolni vor prima dvije vrijednosti x, te ne moe odrediti vrijednost niti jednog
bita. Odlazna poruka kontrolnog vora je x [4].
U drugom koraku, svaki bit vor, koji sadri vrijednost x, koristi svoju dolaznu
poruku kako bi aurirao vrijednost bita. etvrti bit u kodnoj rijei je nepoznat i bit vor
15
prima poruke vrijednosti E1,4=0 i E4,4=x, te na temelju tih vrijednosti postavlja vrijednost
etvrtog bita u 0. Vrijednost petog bita se na temelju dolaznih poruka, E 2,5=1 i E3,5=x,
postavlja u vrijednost 1. esti bit je takoer nepoznat, ali njegove dolazne poruke su E 3,6=x
i E4,6=x, te se stoga vrijednost bita ne moe odrediti. Na kraju drugog koraka,Tanner-ov
graf prikazan je na slici 4.3, a poruka M, iz jednadbe (4.7) sada glasi [4]:
M 0 0 10 1 x
E3,6 M 1 M 5 (4.10)
E3,60 1
E3,61
etvrti kontrolni bit povezan je s treim, etvrtim i estim bit vorom, te su njegove
primljene poruke 1, 0 i x. vor je primio samo jednu vrijednost x te je mogue odrediti
vrijednost odlazne poruke E4,6 [4]:
E4,6 M 3 M 4 (4.11)
E4,6 1 0
16
E4,6 1
esti bit kodne rijei je nepoznat, a dolazne poruke estog bit vora su E 3,6=1 i
E4,6=1. Na osnovu primljenih vrijednosti, esti bit se postavlja u vrijednost 1. Ovime je
zavren postupak dekodiranja, a dekodirana poruka glasi [4]:
M 0 0 10 1 1
17
5. ZAKLJUAK
Cilj seminarskog rada bio je poblie objasniti LDPC kodove te neke naine kodiranja i
dekodiranja.
LDPC kodovi su klasa linearnih blok kodova koji mogu postii performanse turbo
kodova uz manje trokove implementacije. Glavna karakteristika LDPC kodova je vrlo
mala udaljenost od Shannonove granice, ime se postie vrlo visoki kodni dobitak.
Linearne blok kodove, pa tako i LDPC kodove, mogue je prikazati pomou kontrolne
matrice H ili pomou Tanner-ovog grafa koji se sastoji od bit vorova i kontrolnih vorova.
18
LITERATURA
[1]
https://en.wikipedia.org/wiki/Low-density_parity-check_code#History
[2]
https://en.wikipedia.org/wiki/Low-density_parity-check_code
[3]
http://oss.unist.hr/~mnizetic/ZASTITNO%20LINIJSKI%20KODIRANJE/SEMINARSKI
%20RADOVI/CH17-UP.pdf
[4]
http://sigpromu.org/sarah/SJohnsonLDPCintro.pdf
[5]
https://en.wikipedia.org/wiki/Binary_erasure_channel
[6]
http://documents.tips/documents/teorija-informacija.html