Professional Documents
Culture Documents
PRIRODNO-MATEMATIČKI FAKULTET
Odsek - Informatika
SEMINARSKI RAD
Tema: Gallager kodovi - LDPC
Profesor: Student:
1. UVOD ..................................................................................................................................... 3
2. GALLAGEROV RAD ............................................................................................................ 4
3. LDPC kodovi prikazani kao kodovi povezani u obliku lanca ................................................ 5
4. IMPLEMENTACIJA LDPC ALGORITMA DEKODIRANJA ............................................ 5
4.1. Uticaj konstrukcije koda ...................................................................................................... 5
4.1.1. Zahtevi za prosleđivanje poruka ................................................................................... 6
4.2. LDPC dekoderska arhitektura .............................................................................................. 6
4.2.1. Arhitektura iterativnog dekodiranja .......................................................................... 8
4.3. Fizička implementacija .................................................................................................. 13
4.3.1. Dizajn platforma ..................................................................................................... 13
LITERATURA ............................................................................................................................. 16
1. UVOD
Nedavno su kodovi za proveru parinosti (LDPC) niske gustine privukli veliku pažnju
zbog izvrsnih performansi za ispravljanje grešaka i vrlo jednostavne šeme dekodiranja. Međutim,
efikasna VLSI implementacija LDPC dekodera ostaje veliki izazov i ključno je pitanje u
određivanju koliko dobro i brzo možemo iskoristiti prednosti LDPC kodova u stvarnim
aplikacijama. [1]
Kodovi za proveru parnosti-niske gustoće (LDPC), koje je razvio Robert Gallager sa Instituta za
tehnologiju u Masačusetsu 1962. godine, ključna je tehnologija za ispravljanje grešaka u
sljedećoj standardnoj satelitskoj digitalnoj televiziji, DVB-S2. Ova tehnologija je takođe veoma
pogodna u mnogim drugim oblastima kao što su na primer hard disk ili 4G mobilni telefoni. [2]
Definicija Kod za proveru parnosti s niskom gustinom (LDPC) je linearni binarni kod za koji
interesna matrica za proveru parnosti ima nisku gustinu. [3]
Dekodiranje LDPC kodova je najbolje razumljivo grafičkim opisom. Graf ima dva tipa čvorova:
čvorovi bita i čvorovi parnosti. Svaki bitni čvor predstavlja simbol koda i svaki paritetni čvor
predstavlja jednačinu parnosti. Postoji linija nacrtana između bitnog čvora i paritetnog čvora ako
i samo ako je taj bit uključen u tu jednačinu parnosti. [4]
Prava intelektualnog vlasništva koja pokrivaju njenu teoriju ili koncept nisu problem, jer je i
sama LDPC izumljena tako davno. Zajedno sa konceptom iterativnog dekodiranja putem
“algoritma za prenošenje poruka”, Gallager-ove ideje su uglavnom ostale zapostavljene sve do
nedavnih otkrića Mackai-Neala i Viberga. Pokazano je da je ova klasa kodova sposobna da
prilazi ograničenju kapaciteta pri niskoj složenosti dekodiranja. LDPC kodovi su dodatno
prošireni tako da uključuju nepravilne LDPC kodove koji daju stope bitskih grešaka koje
nadmašuju performanse najboljih (turbo) kodova poznatih do sada. U poređenju sa drugim
kodovima, dekodiranje LDPC kodova zahteva jednostavniju obradu. Mehanizam dekodiranja se
može posmatrati kao pseudo-slučajni „interni preplet“, što dovodi do izazova implementacije.
Ovaj izveštaj se sastoji od tri glavna dela:
Godine 1960. R. Gallager završio je doktorat. teza, provera parnosti niske gustoće (ili
LDPC). U ovoj izuzetnoj tezi, Gallager je predstavio najmanje dva trajna koncepta: moćnu
tehniku ograničavanja kodnih sistema i LPDC kodove zajedno sa njihovim pridruženim
iterativnim algoritmom dekodiranja. [1]
On je demonstrirao kako se arbitna cifra d može ispraviti čak i ako njeni setovi za provjeru
pariteta sadrže više od jedne greške u prijenosu, uzimajući u obzir strukturu stabla Slika 2.1.
Digit d je predstavljen čvorom u bazi drveta, i svaka linija koja se uzdiže iz ovog čvora
predstavlja jednu od grupa za proveru parnosti koja sadrži cifru d. Ostale cifre u tim paritetnim
kontrolnim skupovima su predstavljene čvorovima na prvom sloju stabla. Linije koje se kreću od
prvog reda do drugog sloja stabla predstavljaju ostale setove za proveru parnosti koji sadrže cifre
u tim setovima za proveru parnosti. Pod pretpostavkom da su oba znaka d i nekoliko cifara u
prvom sloju greške u prenosu, Gallager je pokazao da cifre bez grešaka u drugom nivou i njihove
jednadžbe za provjeru parnosti omogućavaju ispravljanje grešaka u prvom sloju. Ovo će
omogućiti korekciju cifre d na drugom pokušaju dekodiranja. [1]
Kodovi za proveru parnosti s niskom gustoćom su kodovi koje navode matrica koja sadrži
uglavnom 0 i samo mali broj 1. Konkretno, kod (n, j, k) kod male gustine je kod dužine bloka n
sa matricom kao što je sl. 2.4 gde svaki stupac sadrži malu fiksnu brojku, j, od 1 i brazde ima
mali fiksni broj, k, od 1. [1]
Analiza koda male gustine duge dužine bloka je teška zbog velikog broja uključenih kodnih
reči. Jednostavnije je statistički analizirati cijeli ansambl takvih kodova. Iz ponašanja ansambla
može se napraviti statistički iskaz o svojstvima kodova članova. Slučajnim izborom iz ansambla
može se naći kod sa ovim svojstvima sa velikom verovatnoćom dekodiranja. [1]
Gallager je konstruisao sklopove regularnih LDPC kodova. Redovni LDPC kodovi su oni za
koje svi čvorovi istog tipa imaju isti stepen. Na primer, a (20,3,4) ima grafičku bipartitnu
reprezentaciju u kojoj svi čvorovi bita imaju stepen 3 i svi kontrolni čvorovi imaju stepen 4. [1]
Dok je svaki čvor u grafu povezan sa određenim aritmetičkim računanjem, svaka ivica u
grafu određuje poreklo odredišta određene poruke. LDPC dekoder je potreban da bi se
obezbedila mreža za poruke koje se prenose između velikog broja čvorova. Direktno ožičenje
mreže dovodi do zagušenja u interkonekcionoj mreži zbog neorganizovane prirode de fi nisanja
grafikona. Štaviše, ažuriranje poruka ne mora biti sinhronizovano. Prema tome, postoji velika
sloboda da se u vremenu i prostoru raspodele računanja potrebna za dekodiranje LDPC koda.
Problem koji zahteva najviše razmatranja je implementacija propusnog opsega potrebnog za
prenošenje poruka između bit-čvorova i kontrolnih čvorova. Širina propusnog opsega poruke
VBANDVIDTH izmerena u [bit / s] LDPC koda sa prosečnom težinom kolone (ili stepenom bit-
čvora) gavg može se izračunati prema VBANDVIDTH = 2Lavg · NbBitMESSAGE · Niter · T
Gde je NbBitMESSAGE broj bitova koji se koristi za predstavlja svaku poruku, Niter je broj
iteracija dekodera, T je ciljna kodirana propusnost u [bit / s], a faktor 2 je brojati i bitne i
proveriti poruke. Realizacija propusne moći koja prolazi kroz poruke rezultira veoma različitim i
teškim izazovima u zavisnosti od toga da li se radi o serijskoj ili paralelnoj arhitekturi. [1]
U svom radu, Gallager je skicirao pojednostavljen blok dijagram kako bi pokazao kako se može
uraditi algoritam slanja poruka.
Slika 1. Implementacija dekodiranja [1]
Paralelna arhitektura
Drugi pristup, prikazan na slici, sastoji se od niza jedinica za računanje čvorova koji obavljaju
sve računanje čvora u režimu multipleksiranja vremenskom podjelom i niz blokova memorije za
pohranjivanje svih dekodirajućih poruka. Prenošenje poruka koje odražava povezanost
bipartitnog grafa zajednički se ostvaruje generisanjem memorijske adrese i međusobnim
povezivanjem memorijskih blokova i jedinica za računanje čvorova. Pretpostavimo da je
osnovna matrica HM × N i sadrži L1, a faktor ekspanzije je p. Proširena matrica sadrži L
permutirane identične matrice, od kojih je svaka označena kao TU, V kao što je prikazano na
LDPC kod definisan takvom proširenom matricom tačno se uklapa u delimično paralelni
dekoder. Ovaj parcijalno paralelni dekoder sadrži M kontrolnih elemenata kontrolnog čvora
(CNUs), N bitne procesorske elemente (VNUs) i L + N memorijske blokove među kojima L
blokovi čuvaju iterativne dekodirajuće poruke, svaka označena kao DMEMU, V i N blokova
pohraniti poruke kanala, svaka označena kao CMEMV. [1]
Provera čvora CNU-a izračunava poruke sa proverama u bitovima za sve kontrolne čvorove u
modu multipleksiranja vremenske podele. Svi DMEM-ovi čuvaju bit-tocheck poruke na početku.
U svakom ciklusu takta, jedna bit-to-check poruka u svakom DMEM se konvertuje u
odgovarajuću poruku check-to-bit procesom readcomputation-write. [1]
Slika 5. Delimično paralelna dekoderska struktura [1]
Adresa za pristup memoriji svakog DMEMU, V generiše se pomoću brojača koji počinje od
vrednosti permutacije bloka kU, V.
Obrada bitnih čvorova VNU-i izračunavaju spoljašnje bit-to-check poruke i ažuriraju odluku
dekodiranja svih bitnih čvorova u multipleksiranju s vremenskom podelom moda. Svi DMEM-
ovi pohranjuju poruke ček-to-bit na početku. Slično tome, u svakom taktnom ciklusu, jedna
kontrolna poruka u svakoj DMEM se konvertuje u bit-to-check poruku i dekodirajuća odluka
odgovarajućeg se ažurira. Adrese za pristup memoriji svih DMEM i CMEM-ova generišu se
pomoću brojača koji počinje od 0. [1]
LDPC kodovi su primenljivi za bežične, žične i optičke komunikacije. Tip aplikacije diktira
određenu klasu platformi pogodnih za implementaciju LDPC dekodera. [1]
Dekoderi sa ograničenjima površine ili snage koji ograničavaju broj iteracija na pet ili manje će
imati koristi od smanjenja memorijskog zahteva za više od 75%, dok će gubitak u
performansama BER biti manji od 0.5dB. Primećeno je da raspoređeno dekodiranje neće postići
iste asimptotske rezultate kao LDPC dekodiranje pod propagandom verovanja. [1]
LITERATURA