Sunteți pe pagina 1din 5

CODURI CONVOLUIONALE. CODAREA 1.

Introducere
Codurile convoluionale (denumite i recurente) sunt coduri non-bloc a cror definire se face cel mai simplu prin descrierea procesului de codare: simbolurile de informaie, n numr de k0, se aplic la cele k0 intrri ale unui circuit liniar secvenial, iar la cele n0 ieiri se obin n0 simboluri. n cazul codurilor sistematice cele k0 simboluri de informaie de la intrare se regsesc grupate la nceputul celor n0 simboluri de ieire. Simbolurile de control obinute la ieire la un moment dat depind de simbolurile de informaie aplicate la intrare, att la momentul respectiv, ct i la momentele anterioare. Datorit performanelor bune n corecia erorilor aceste coduri i-au gsit numeroase aplicaii practice printre care amintim: sisteme de comunicaii n spaiu (de exemplu CCSDS adoptat de NASA), comunicaii prin satelit (de exemplu sistemul INTELSAT), sisteme de telefonie celular (de exemplu GSM). Schema general a unui codor convoluional cu intrare i ieire serial este dat n figura 1. 2 3 1 N 1 2 k0 1 2 k0 1 2 k0 1 2 k0 1 2 k0 u

c
1 2 3 . n0

Fig. 1. Structura unui codor convoluional

Codorul se compune dintr-un registru de deplasare cu N k0 circuite basculante bistabile (C.B.B.), numite i celule de ntrziere sau de memorie, n0 sumatoare modulo 2 i un alt registru de deplasare cu n0 celule de memorie, pentru biii de ieire. Parametrii care caracterizeaz codorul sunt: 1. Rata de codare definit ca raportul ntre numrul biilor informaionali k0 i numrul 3 k0 biilor de la ieire n0 , adic: Rc = . n0
2. Memoria codorului, m , definit prin relaia m = ( N 1) k0 (nu se iau n considerare primele k0 celule, din registrul de deplasare de N k0 celule din figura 1, adic celulele pentru biii de informaie la momentul curent). 3. Lungimea de constrngere, N .

51

Un cod convoluional ( n0 , k0 , N ) , genereaz la ieire n0 bii pentru k0 bii informaionali, avnd o lungime de constrngere N . Structura codorului, poate fi dat prin n0 vectori generatori g i , i = 1, n0 , cu N k 0 componente, care descriu conexiunile celulelor de ntrziere ale registrului de deplasare de la intrare la fiecare din cele n0 sumatoare modulo 2 (de obicei, acetia se dau sub form polinomial sau n octal).

2. Moduri de descriere a unui codor convoluional


Un codor convoluional poate fi descris, pe lng vectorii generatori, n alte trei moduri i anume: diagrama de stare; diagrama trellis; diagrama arbore. Diagrama de stare se bazeaz pe faptul c un codor convoluional este un sistem cu memorie finit i, astfel, ieirea sa depinde de secvena de intrare i de starea sa. Starea codorului se definete ca fiind coninutul memoriei sale la un anumit moment de timp. Numrul de stri al codorului este N S = 2 m , unde m este memoria codorului. Din fiecare stare pleac un numr de 2 k0

arce, corespunztoare tuturor intrrilor la un anumit moment i intr 2 k0 arce, iar pe fiecare arc se trece ieirea corespunztoare intrrii i strii la acel moment. Fiecare arc leag dou stri, semnificnd tranziia ntre acestea pentru o anumit intrare. De exemplu, fie codul ( 2,1,3) (adic n0 = 2 , k0 = 1 , N = 3 ), cu reprezentrile echivalente
ale codorului din figura 2. n figura 2.b) biii de ieire sunt furnizai paralel motiv pentru care, pentru o transmisie serial acetia trebuie multiplexai. Vectorii generatori pentru codorul din acest exemplu sunt: g1 = [1 1 0] ,

g 2 = [0 1 1] .
Sub form polinomial se poate scrie:

(2)

g1 ( D ) = 1 D , g2 ( D ) = D D2 , u ui
ui1 ui2
(3)

c1 u
ui ui1 ui2 c2

c1

c2

b) a) Fig. 2. Reprezentri echivalente ale codorului din exemplu

52

n reprezentarea octal (cu cel mai puin semnificativ bit, LSB, n dreapta) fiecare grup de 3 bii (de la dreapta la stnga) este transformat n zecimal. Dac am avea vectorul generator:

g = [1 1 0 0 1] .
sau echivalent polinomul:

(4) (5)

g ( D ) = 1 D D4 ,
am avea reprezentarea octal:

g = 31 . Atunci pentru vectorii generatori din relaia (2) sau polinoamele din relaia (3) rezult: g1 = 6 , g2 = 3 .

(6)

(7)

Astfel, pentru acest codor, dac notm starea la momentul l cu l = (ul1 , ul2 ) , avem N S = 2 2 = 4 stri, care sunt S0 = ( 00 ) , S1 = ( 01) , S2 = (10 ) , S3 = (11) . n figura 3 se d diagrama de stare, precum i tabelul dup care s-a construit. Biii din secvena de ieire se determin cu relaiile: c1l = ul ul 1 c2l = ul 1 ul 2 , iar starea la momentul l + 1 este l +1 = (ul , ul1 ) . Tabel nr.1. ul l 0 S0 10 11 S2 01 S3 11 10 S1 01 1 0 1 0 1 0 1 00 Fig. 3. Diagrama de stare a codorului din exemplu (8)

00

l +1

cl 00 10 11 01 01 11 10 00

00 ( S0 ) 00 ( S0 ) 00 ( S0 ) 10 ( S 2 ) 10 ( S 2 ) 01 ( S1 ) 10 ( S 2 ) 11 ( S 3 ) 01 ( S1 ) 11 ( S 3 ) 00 ( S0 ) 01 ( S1 ) 01 ( S1 ) 10 ( S 2 ) 11 ( S 3 ) 11 ( S 3 )

53

n diagrama de stri din figura 3 arcele cu linie continu semnific tranziii determinate de bit de intrare 0, iar cele cu linie ntrerupt tranziii determinate de bit de intrare 1. Dimensiunea diagramei de stare crete exponenial cu memoria codorului m . Diagrama trellis este o reprezentare desfurat a diagramei de stare n timp. Pentru codul din exemplul anterior trellis-ul este dat n figura 4. Cele 4 noduri pe fiecare vertical reprezint cele 4 stri la momentul de timp discret l , care este numit adncimea n trellis. Reprezentrile cu linie continu i cu linie ntrerupt au aceeai semnificaie ca i pentru diagrama de stare. Calea cu linie ngroat corespunde secvenei de intrare u = (10110) . S0 00 10 S2 11 00 10 11 11 S1 01 S3 l=0 l =1 l=2 10 00 l =3 01 10 00 l=4 01 10 00 l =5 01 00 10 01 11 11 00 10 01 11 11 00 10 01

Fig. 4. Trellis-ul pentru codorul din exemplu

Diagrama arbore se obine prin extinderea diagramei trellis, rezultnd un arbore binar. Din fiecare nod, corespunztor unei anumite stri a codorului, se desprind dou ramuri, una pentru bit 0 de intrare, ndreptat n sus i una pentru bit 1 la intrare, ndreptat n jos. Fiecare secven de intrare este reprezentat printr-o cale particular n arbore. Pentru codul din exemplul de mai sus avem diagrama arbore din figura 5 (cu linie ngroat fiind calea corespunztoare secvenei de intrare

u = (1011) ).

3. Desfurarea lucrrii
1. Pentru codul (2,1,2) cu polinoamele generatoare n octal g1 = 2 , g 2 = 3 i pentru codul (2,1,3) cu polinoamele generatoare n octal g1 = 5 , g 2 = 7 , s se deseneze schema codorului i apoi s se construiasc diagrama de stare, diagrama trellis i diagrama arbore n 5 pai (adncime 5 a trellis-ului). 2. Se deschide modelul lucrrii de laborator Matlab Simulink pentru codul cu g1 = 5 , g 2 = 7 . Se selecteaz diferite combinaii de bii de intrare, se ruleaz modelul i se observ n Workspace secvena de bii codat. Se verific pe trellis-ul din lucrare. Se schimb generatorii codorului cu cei de la punctul 1 i se realizeaz aceleai operaii.

54

000 000 S0 101 000 S0 111 101 S2 010 0 1 111 S0 011 S1 110 101 S2 100 010 S3 001

000 S0 101 111 S2 010 011 S1 110 100 S3 001 000 S0 101 111 S2 010 011 S1 110 100 S3 001

Fig. 5. Diagrama arbore pentru codorul din exemplu 3. Fie codorul convoluional recursiv din figura 6. S se scrie pentru acesta ecuaiile asemntoare celor din relaia (8) i apoi s se construiasc diagrama de stare i cea trellis n 5 pai. cs

cp Fig. 6. Structura codorului recursiv pentru aplicaia 2

55