160 likes | 350 Views
UNIVERSITATEA POLITEHNICA BUCURESTI FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI CATEDRA DE ELECTRONICA APLICATA SI INGINERIA INFORMATIEI. Simulator de codare/decodare LDPC peste canale de înregistrare magnetică. Conduc ă tor ş tii nţ ific:
E N D
UNIVERSITATEA POLITEHNICA BUCURESTI FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI CATEDRA DE ELECTRONICA APLICATA SI INGINERIA INFORMATIEI Simulator de codare/decodare LDPC peste canale de înregistrare magnetică Conducător ştiinţific: Conf. Dr. Ing. Ştefan STĂNCESCU As. Ing. Cătălin SANDU Student Ichimoaei Ştefan-Cosmin Bucureşti 2010
Cuprins • Introducere; • Structura canalului de înregistrare magnetică; • Coduri ECC în canale magnetice; • Coduri LDPC: • Matricea de control al parităţii; Matricea generatoare • Codare • Structura canalului • Decodare • Exemplu de cod LDPC • Algoritm de decodare • Simulări • Avantaje • Dezavantaje
Introducere • Creşterea rapidă a capacităţilor de stocare şi a vitezelor de transfer presupune şi creşterea densităţii de înregistrare a informaţiei pe disc; • Capacitatea de stocare a mediului in înregistrările pe suport magnetic este adresatăîn mod curent ca densitate regionalăşi măsuratăîn mod comun în gigabiţi pe inch patrat • În ultimii ani, această densitate regională a crescut mai repede decât legea lui Moore şi ca atare a întrecut rata de dezvoltare a industriei semiconductorilor;
Coduri ECC în canale magnetice Coduri corectoare de erori: Reed-Solomon Turbo LDPC Robert Gallager a introdus codurile LDPC, la doar o decada dupa ce opera lui Shannon a fost publicata.
LDPC Matricea semi-aleatoare H: Condiţii: -acelaşi număr de 1 pe coloane; -fără suprapuneri pe coloană; -număr de 1 egal pe toate rândurile; Matricea Hsys =[Pt | I]: Matricea Generatoare Gsys=[I | P] Parametrii intrare Matricea de control a parităţii H Matricea Generatoare G
Codare LDPC • Cuvântul de cod x are biţii de informaţie u la sfarşit şi biţii de control c la începutul cuvântului. X=[c|u] • Modalitate de obţinere a biţiilor de control: H = [A|B] xHT = 0 => [c|u][A|B]T = Ac +Bu = 0=> c = inv(A)Bu • Cuvantul de cod este: x = [ inv(A)Bu | u ]. • O data codat, mesajul se moduleaza si se transmite pe canalul supus la zgomot AWGN Creez un mesaj aleator Compun cuvântul de cod asociat mesajului
Exemplu cod Matricea H: c1=v1+v3+v5+v7; c2=v1+v4+v6+v8; c3=v2+v3+v6+v7; c4=v2+v4+v5+v8;
Decodare LDPC Caluculez transpusa cuvântului de cod • Fiecare linie din matricea H reprezintă o condiţie a cuvântului de cod. • Dacă y respectă aceste condiţiiel este un cuvânt de cod. • Dacă nu, pe baza lui y şi acondiţiilor, algoritmul calculează cuvântul cel mai probabil şi verifică iar condiţiile. • Pasul anterior se repetă până algoritmul converge, sau până se atinge numărul maxim de iteraţii. Trimit mesajul de la nodul de verificare la nodul de control Trimit mesajul de la nodul de control la nodul de verificare Calculez matricea Q Setez biţii pe baza Q Verific cuvântul decodat
Simulatorul LDPC • Diagramasimulatorului de codare / decodare Mesaj iniţial Mesaj decodat Codor Decodor AWGN
Algoritmul de decodare Sumă-Produs • 1 .Initializare: Se trimit mesajele ,şi • 2.Setarea prioritatii: Folosind fiecare simbol receptionat se calculeaza Se calculeaza si • 3.Variabila de control: Presupunem si calculam De la fiecare control cr la fiecare variabila u se transmite: si
Algoritmul de decodare Sumă-Produs • 4.Controlul-Variabilei: Din fiecare variabila vs pentru fiecare c se transmite: si Factorul de normalizare este ales astfel incat
Algoritmul de decodare Sumă-Produs • 5.Calcule a posteriori Pentru fiecare simbol se calculează : şi Factorul de normalizare este ales astfel incat 6.Stop/Continua: Se calculează din
Avantaje • Am observat in urma simularilor repetate ca evitandu-se prea multe suprapuneri ale bitilor de 1 in coloanele matricii de paritate H,circumferinta creste iar decodarea este mai rapida. In acelasi timp, eficienta codurilor (la codificare) este permisa de proprietatea matricii de control al paritatii de a fi slab populata • Complexitatea algoritmului este mai mica fata de complexitatea algoritmului altor metode de codare/decodare. • Ca performanta ajung codurile TURBO, insa costul de implementare este cu mult mai scazut. • Pentru performanta este important ca numarul de interatii sa depaseasca valoarea de 1000 spre deosebire de TURBO unde dupa 20 de iteratii imbunatatirea performantelor este nesemnificativa.
Dezavantaje • Necesita un timp lung pentru a ajunge la o solutie buna. • Pentru o eficienta mare a decodarii sunt necesare cuvinte de cod foarte lungi. • Convergenta iteratiilor este lenta: sunt necesare aproximativ 1000 de iteratii pentru a ajunge la o solutie in conditii standard. • Din aceasta cauza timpul de transmisie creste (codare, emisie, decodare). • Latenta mare la emisie. De exemplu, pentru un cod LDPC cu parametrii (4086,4608), emisia unui cuvant de cod are o latenta de 2 ore.