Documente Academic
Documente Profesional
Documente Cultură
_ec Avnd m simboluri de control numrul cuvintelor construibile cu acestea sunt 2m. Dac reinem o poziie pentru cuvntul corect iar restul sunt folosite pentru identificarea erorilor atunci putem scrie relaia cunoscut ca marginea Hamming: 2m 1 _ec
i=1 Cin . i=1
Cin(5.1) Codarea Codarea presupune construcia cuvntului de cod pornind de la simbolurile de Informaie. Exist dou variante de codare: 1. Codarea v = iG, unde v este vectorul asociat cuvntului de cod, i este vectorul asociat cuvntului de informaie, iar G este matricea generatoare. Aceasta are k linii i n coloane. Dac g1, g2, . . . gk sunt liniile matricei G, iar i1, i2, . . . ik sunt simbolurile de informaie atunci relaia de codare se poate rescrie astfel: v = i1g1 + i2g2 + . . . ikgk (5.2) De aici rezult c cuvintele de cod sunt toate combinaiile liniare ale liniilor matricei generatoare. 2. Codarea HvT = 0, unde H este o matrice de m linii i n coloane ce este denumit matrice de control. Pentru aflarea relaiilor de codare, n acest caz, se vor plasa simboluri de control pe poziiile corespunztoare coloanelor matricei H avnd un singur 1, i se va rezolva sistemul rezultant, avnd drept necunoscute simbolurile de control. Decodarea. Coreca erorilor Decodarea se face pe baza relaiei HvT = 0. Dac v este un cuvnt cu sens (cuvnt nealterat de erori) atunci nmulindul cu cu H se va obine 0. Dac rezultatul este nenul atunci sunt erori. n acest caz, dac circuitul funcioneaz n regim: 1. detecie atunci se va semnala existena unor erori. 2. corecie atunci se vor corecta erorile Pentru corecia erorii se calculeaz sindromul s. Dac cuvntul recepionat este v_ = v + atunci H(v_)T = HvT + HT = 0+HvT = s (5.3) Sindromul s identific eroarea. Dac de exemplu exist o singur eroare, pe poziia 2 atunci sindromul va fi egal cu coloana a 2 a matricei H. Odat identificate poziia erorilor (sau cu alte cuvinte identificat vectorul eroare) corecia se obine adunnd 1 simbolurilor corecpunztoare recepionate. Adic v = v_ + .
in care se recepioneaz acest cuvnt. Rezolvare: (a) Parametrii codului : se tie c matricea H are m (numrul de simboluri de control) linii i n (lungimea cuvntului de cod) coloane: m = 3, n = 5 = k = 2 Avnd k simboluri de informaie numrul maxim de mesaje care se pot coda cu acest cod sunt: 2k = 4 mesaje ale sursei Numrul de erori corectabile este de dat de marginea Hamming (aceasta este o condiie necesar nu i suficient): 2m 1 _ec
i=1 Cin
Membrul stng este: 2m 1 = 7. Membrul drept este: n cazul unei erori n = 5 < 2m1 n cazul a 2 erori C1n + C2n > 7 = codul e corector de o eroare Un cod corector de ec erori poate detecta ed = 2ec erori.Un cod capabil s corecteze ec erori are distana minim dmin = 2ec + 1 = ed + 1. Codul nu este perfect (nu se obine egalitate n marginea Hamming). Un cod perfect are exact numrul de corectori necesari pentru a detecta orice variant de eroare. (b) Matricea de control a codului este scris n forma canonic: H = [ImQ]. Matricea generatore (n form canonic) se poate obine ca: G = [QtIk].; Q= 1 1 0 1 1 0 = Qt = _ 1 0 1 1 1 0 _ = G = [QtIk] = _ 1 0 1 1 0 1 1 0 0 1 _ (c) Structura unui cuvnt de cod sistematic presupune o separare a biilor de control de cei de informaie. Fcnd convenie c bii de control corespund coloanelor din H care au un singur 1 succesiunea simbolurilor ntr-un cuvnt de cod este: v = [c1c2c3i1i2]. De fapt forma canonic a matricelor de control i generatoare impune un cod sistematic.Relaiile de codare presupun aflarea modului n care se formeaz biii de control din biii de informaie. Vom considera ca punct de pornire relaia HvT = 0
1 0 0 1 1
0 1 0 0 0 0 0 1 1 0 c1 c2 c3 i1 i2 = c1 + i1 + i2 c2 + i2 c3 + i1 = 0 n baza 2 scderea cu x este echivalent cu adunarea cu x. Adic: c1 = i1 + i2 c2 = i2 c3 = i1 Schema codorului este prezentat n figura 5.1; (d) Pentru a calcula cuvintele de cod avem doua variante: s calculm relaiile de codare folosind matricea H sau s calculm cuvintele de cod folosind direct matricea G: v = iG Figura 5.1: Codorul. Schema logic urmareste relaiile de codare. Fiecare simbol este stocat ntr-o celul a unui registru de deplasare; la fiecare tact, o celul comunic valoarea celulei din stnga sa. Dup formarea cuvntului de cod intrrile (bii de infomaie) sunt blocate i coninutul este vrsat la ieire sub forma unui tren de impulsuri. Un cuvnt de infomaie conne dou simboluri: i = _ _ . Matricea generatoare poate scris pe linii G = _ g1 g2 _ . Atunci relaia de codare devine: V = iG = _ _ _ g1 g2 _
= g1 + g2 n acest caz cuvintele de cod sunt: v = g1 + g2 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 Tabela 5.3: Cuvintele de cod.Se poate observa c ponderea minim a unui cuvnt de cod este 3. (e) Cuvntul recepionat este: v_ = [11111] Considerm corectorul: Hv,T = 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 = z= 1 0 0
_= 0
Fiindc corectorul este nenul exist erori. Atunci se poate spune: dac decodorul funcioneaz n regim de corecie este capabil s corecteze o eroare (orice variant de eroare). Eroare este pe poziia 1.Poziia erorii se determin prin identificare coloanei din matricea de control H egal cu corectorul calculat z. Acelai lucru se constat i dac se compara cuvntul eronat cu cuvintele cu sens determinate n tabelul 5.3. n acest caz cuvntul cu sens este v = [01111]. Dac cuvntul recepionat conine dou erori atunci corectorul d informaii greite. S considerm alt exemplu : v = [10110] = [00011] v _ = v + = 10101 Corectorul calculat este: Hv,T = 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 = z= 0
0 1 Adic eroare este pe poziia 3 i deci cuvntul cu sens este v=[10001]. Ceea ce nu este adevrat.Un cod corector de o eroare nu poate corecta dou erori dac decodorul funcionez n regim de detecie, fiindc corectorul este nenul nseman c exist erori. n regim de detecie nu se poate spune nimic despre numrul i poziia erorilor. Dac exist mai multe erori dect codul poate detecta, se obin aberaii. De exemplu pentru un cuvnt eroare = [11001] i pentru cuvntul cu sens v = [11001] se obine alt cuvnt cu sens i, deci nu se detecteaz nimic. Adic un cod detector de 2 erori nu poate detecta trei erori. 2. [8] Cele 6 simboluri generate de o surs sunt transmise pe un canal binar cu perturbaii folosind un cod Hamming grup corector de o eroare. (a) S se determine numrul de simboluri de informaie, de control i lungimea cuvintelor de cod. Codul este perfect? (b) S se scrie matricile de control i generatoare a codului? Codul este sistematic? (c) S se scrie cuvintele de cod i s se determine ponderea minim a acestora. (d) S se explice ce se ntmpl dac ntr-un cuvnt recepionat apar dou erori, pe Poziiile 1 si 2. Rezolvare: (a) Cele 6 simboluri pot fi reprezentate folosin k bii de informaie: 2k 6 = k = 3 Marginea Hamming pentru un cod corector de ec = 1 erori este: 2m 1 n = m + k = m + 3 2m 4 m = m = 3 n= k+ m= 6 Dat fiind ca nu i atinge margine (nu avem egalitate) codul nu e perfect. (b) Matricea de control a unui cod Hamming se obine codnd pe fiecare coloana indicele ei n baza 2: H= _ h1 h2 h3 h4 h5 h6 _ 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 Dac facem convenia c plasm simbolurile de control pe poziiile corespunztoare colanele matricei de control care conin un singur unu, cuvntul de cod este de forma: v = [c1c2i1c3i2i3] n acest caz, codul nu e sistematic. HvT = 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0
c1 c2 i1 c3 i2 i3 = c3 + i2 + i3 c2 + i1 + i3 c1 + i1 + i2 = 0 c1 = i1 + i2 c2 = i1 + i3 c3 = i2 + i2 Se poate arta foarte uor c pe linii G are cuvinte de cod. v = iG = _ i1 i2 i3 _ g1 g2 g3 = i1g1 + i2g2 + i3g3 i1 = 0; i2 = 0; i3 = 1 = v = g3 = [010101] i1 = 0; i2 = 1; i3 = 0 = v = g2 = [100110] i1 = 1; i2 = 0; i3 = 0 = v = g1 = [111000] G= 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 Alte cuvinte de cod sunt: i1 = 0, i2 = 0, i3 = 0 = v = [000000] i1 = 0, i2 = 0, i3 = 0 = v = g1 + g2 + g3 = [101011] i1 = 1, i2 = 1, i3 = 0 = v = g1 + g2 = [110011]
i1 = 0, i2 = 1, i3 = 1 = v = g2 + g3 = [011110] i1 = 1, i2 = 0, i3 = 1 = v = g1 + g3 = [101101] (c) = [110000] HT = 0 1 1 _= 0 Dat fiind faptul ca corectorul este nenul, se poate spune c: Dac funcionarea este n regim de corectie se hotrte c eroarea este pe poziia 3. Greeala se datoreaz apariiei a dou erori cnd codul poate corecta numai una. Pentru a corecta dou erori este necesar ca suma a oricare doua coloane a lui H s aib rezultat diferit. Aici:h1 + h2 = h3. Dac corectorul obinut era z = [111]T , care este diferit de orice coloana a lui H, nseamn c au fost dou erori: fie pe poziiile 1 i 6, fie pe 2 i 5. Acest fenomen se datoreaz faptului c codul nu e perfect. Dac funcionarea este n regim de detecie se depisteaz apariia unor erori.
(c) S se scrie formele canonice ale matricei de control. (d) S se scrie formele canonice ale matricei generatoare. (e) S se deduc matricea generatoare. (f) S se scrie toate cuvintele de cod. (g) S se stabileasc expresia corectorului pentru cazul c se eroneaz poziia 4 din cuvntul de cod. (h) S se explice ce se ntmpl dac ntr-un cuvnt de cod se eroneaz poziiile 2 i 7. (i) S se stabileasc schema codorului. 3. [8] Se d matricea de control a unui cod grup: H= 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 (a) S se determine numrul de simboluri de control, numrul de simboluri de informaie, lungimea cuvintelor de cod, numrul de simboluri ce pot fi transmise cu acest cod i numrul de erori ce pot fi corectate. Codul este perfect? Codul este sistematic? (b) S se precizeze structura cuvintelor de cod i s se scrie ecuaiile de codare. (c) S se determine matricea generatoare a codului. (d) S se calculeze corectorul i s se explice decizia luat la decodare dac se recepioneaz un cuvnt eronat pe poziiile 2 si 3? 4. [4] Fie matricea de control H= 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 (a) Artai c, prin transformri elementare, aceast matrice poate fi adus la forma H_ = [I3Q]. (b) Artai c respectivele transformri pot fi astfel alese nct proprietile de detecie i corecie a erorilor s rmn aceleai. (c) S se determine simbolurile de control n funcie de cele de informaie att pentru matricea H ct i pentru matricea H_. 5. [4] Considernd matricea H= 0 0 0 1 1 1 1 0 1 1 0 0 1 1
1 0 1 0 1 0 1 s se determine matricea generatoare G = [PIk] i s se realizeze codarea dup aceasta. 6. [4] Se consider un cod cu n = 6 i k = 3 a crui matrice de control este: H= 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 (a) Codul este sau nu perfect? (b) Ce decizie de ia pentru un corector cu valoarea zt = [010]? Dar pentru zt = [111]
Bibliografie
[1] Mihai Ciuc. Note de seminar. [2] A. T. Murgan, I. Spnu, I. Gavt, I. Sztojanov, V. E. Neagoe, si A. Vlad. Teoria Transmisiunii Informatei - probleme. Editura Didactic i Pedagogic, Bucureti, Romnia, 1983. [3] Alexandru Sptaru. Teoria Transmisiunii Informattiei. Editura Didactic i Pedagogic,Bucureti, Romnia, 1983. [4] Alexandru Sptaru. Fondements de la theorie de la transmisssion de lnformation. Presses polytechniques romandes, Lausanne, Elveia, 1987. [5] Rodica Stoian. Note de seminar. [6] Dan Alexandru Stoichescu. Note de seminar. [7] Eugen Vasile. Note de seminar. [8] Constantin Vertan. Note de seminar. 67