Sunteți pe pagina 1din 6

Curs 3 Codarea surselor pentru canale pentru perturbatii Definirea codurilor In cazul transmiterii inf pe distante reduse, perturbatiile

sunt neglijate. In c azul transmiterii pe distante mari intervin perturbatii aditive introduse de can alul de comunicatie. Un canal de transmitere permite vehicularea unui nr determi nat de simboluri, multimea acestor simboluri reprez alfabetul canalului. Prin ex trapolare acest alfabet poate fi numit alfabetul codului. Daca consideram o sursa de informatii de o natura fizica oarecare, se pune prob lema transformarii mesajelor in succesiuni de simboluri acceptate de canalul de comunic. Aceasta succesiune de simboluri trebuie sa fie acceptate de canal si ti mpul de transmisiune sa fie cat mai scurt. Consideram sursa: Vom numi aeasta sursa primara. Daca presupunem n continuare un canal de transmisiune care accepta numai simbolur i din multimea X={x1,x2,...,xm}. Totalitatea acestor simboluri formeaza alfabetu l canalului (codului). Multimea caestor simboluri defineste sursa secundara de i nformatii. In scopul adaptarii mesajelor sursei primare la canalul de comunicatie e necesar ca fiecarui mesaj al sursei primare sa i se ataseze o succesiune de simboluri d in alfabetul canalului, succesiune pe care o vom nota ck=cuvant de cod. Se formeaza multimea cuvintelor de cod: C={c1,c2,...,cN}, iar corespondenta bije ctiva dintre S si C poarta denumirea de cod. Prin definitie, un cod se numeste unic decodabil daca fiecarei succesiuni din al fabetul codului i corespunde o singura succesiune de mesaje. Se considera o sursa S:{ s1, s2, s3, s4 } si alfabetul X={ 0, 1 }. Pentru transm iterea acestor mesaje pe canalul de comunicatii este definit codul. Sa presupune m ca mesajului s1 i atasam c1 format din 1 s1->c1-> 1 s2->c2-> 01 s3->c3->10 s4->c4->11 Se observa ca n codul astfel obtinut toate cuvintele de cod sunt distincte, ceea ce defineste codurile nesingulare. In schimb codul nu este unic decodabil, deoar ece, dup cum se observa, succesiunii 1101 i pot corespunde 3 succesiuni distincte de mesaje: s4 s2, s1 s1 s2, s1 s3 s1. Pentru a realiza un cod unic decodabil, o prima solutie ar fi ca, dupa fiecare c uvnt de cod transmis, sa se prevada un simbol din alfabetul codului, distinct de cele folosite n formarea cuvintelor, care sa indice fie nceputul sau sfrsitul fieca rui cuvnt de cod. n exemplul considerat ar insemna ca X={0,1,?}, astfel nct daca se receptioneaza suc cesiune 11?01 se stie ca s-a transmis s4 s2. Solutia nu este economica pentru ca mareste timpul de transmisiune, iar pe de al ta parte necesita un canal care sa accepte 3 simboluri. De aceea s-a pus problem a construirii de coduri unic decodabile fara introducerea de simboluti supliment are. Sa construim 2 coduri astfel: Prin modul de formare al celor doua coduri, ambele sunt unic decodabile. In cazu l codului A, 0 specifica sfrsitul fiecarui cuvnt de cod, iar la B, 0 specifica ncep utul fiecarui cuvnt de cod. Diferenta esentiala intre cele 2 coduri este: in cadrul codului A, interpretarea simbolurilor receptionate (decodare) se realizeaza cuvnt cu cuvnt, n timp ce n cazu l codului B, decodarea unui cuvnt receptionat nu se poate realiza dect dupa recept ionarea primului simbol din cuvntul urmator. Daca presupunem ca s-ar receptiona 0, n cazul codului A stim sigur ca s-a transmi s s1 n timp ce, n cazul codului B , s-ar putea sa se fi transmis fie s1 fie s2 fie s3 fie s4. Aceasta diferenta dintre codurile A, B se datoreaza faptului ca, n timp ce n cazu

l codului A nici un cuvnt de cod nu este prefix pentru altul, n cazul codului B, cuvntul de cod c1 este prefix pentru c2, c3, c4, c2 este prefix pentru c3, c4 iar c3 este prefix pentru c4. Prin definitie se numesc coduri instantanee codurile n care nici un cuvnt de cod n u este prefix pentru altul (Ex.A) Codurile instantanee sunt si unic decodabile, reciproca nefiind adevarata. In tr ansmisiunile reale se folosesc exclusivi codurile instantanee. n cazul codurilor binare (X = {0, 1}) formarea codurilor instantanee se realizeaz a astfel: Presupunem o multime de mesaje S:{ s1, s2, sN } ce urmeaza a fi transmisa pe un canal care accepta simbolurile 0 si 1. Multimea S se subdivide n doua submultimi: S0 : {s1, s2 sk}, S1 : { sk+1, , sN} Se atribuie 0 lui S0 si 1 lui S1. Se subdivide in continuare S0 si S1, obtinandu -se S00, S01 pt subdiviz lui S0, si S10, S11 prin subdiviz lui S1. Se atribuie a l doilea simbol 0 submultimilor S00, S10 si al doilea simbol 1 submultimilor S01 si S11. Se procedeaza n acest mod pna se obtin submultimi formate dintr-un singur mesaj, c arora le vor corespunde cte un cuvnt de cod, nici unul nefiind prefix pentru altul , codul fiind deci instantaneu. Acest algoritm de formare a codurilor binare instantanee poate fi sintetizat pri n tabelul: Fig 3.1 Acelasi algoritm poate fi sintetizat atat prin utilizarea metodei tabelare cat s i a grafurilor. Se considera in fiecare nod al grafului o submultime obtinuta di n multimea superioara. Extinzand ulterior succesiunea transmitantelor dinspre no dul S catre nodul terminal gasim cuv de cod corespunzator. Numai nodurile terminale reprezinta cuvinte de cod, nici un cuvant nu e prefix p entru altul, deci codul e instantaneu. Obs Deoarece exista mai multe posibilitati de atribuire a simbolurilor 0 si 1, r ezulta ca se pot construi mai multe coduri instantanee. Criteriile de alegere su nt definite pe alte considerente. Teorema de existenta a codurilor instantanee Sa presupunem o sursa S continand N mesaje si sa consideram un alfabet al codului: X={ x1, x2, , xM}. Cu aceste simboluri s e poate construi o multime de cuvinte de cod C={c1, c2, , cN}. De asemenea vom co nsidera o multime a lungimilor cuvintelor de cod : L={ l1, l2, , lN} Prin lungimea unui cuvnt de cod se ntelege numarul de simboluri din alfabetul codu lui X ce formeaza cuvntul de cod. Conditia necesara si suficienta de existenta a codurilor instantanee este data d e relatia: (1) inegalitatea lui Kraft In aceasta inegalitate, prin M se ntelege numarul simbolurilor din alfabetul codu lui, iar prin lk lungimile cuvintelor de cod. Observatii asupra teoremei: 1. Conform teoremei de existenta a codurilor instantanee, rezulta ca daca s-a co nstruit un cod cu lungimile l1, l2, ,lN care respecta inegalitatea lui Kraft, nu t rebuie sa se traga concluzia ca acest cod este instantaneu. Teorema de existenta spune doar ca, cu aceste lungimi l1, l2, ,lN totdeauna se poate construi un co d instantaneu, teorema neindicnd si modul de construire a codului. 2. Teorema lui Kraft poate fi interpretata si astfel: daca lungimile unor cuvint e de cod nu satisfac inegalitatea lui Kraft, atunci, prin nici un procedeu de co dare nu se poate ntocmi un cod instantaneu. 3. Deoarece codurile instantanee formeaza o subclasa a codurilor unic decodabile , nseamna, conform teoremei de existenta a codurilor instantanee, ca daca un cod este instantaneu, cu siguranta este si unic decodabil. Lungimea medie a cuvintelor de cod Asa cum s-a vazut, realizarea de coduri instantanee conduce la gasirea unei mult

imi de coduri, punandu-se problema alegerii acelui cod pentru care timpul necesa r transmiterii informatiei e minim. Altfel spus trebuie gasite acele coduri pent ru care lungimea cuvantului de cod eminima. Pentru a stabili acest lucru, consideram o sursa discreta, completa si fara memo rie, cu distributia: Mai presupunem ca distributia codurilor X este de forma: Adica, n procedeul de codare, simbolul xi a fost folosit cu probabilitatea p(xi). Entropia unei surse discrete complete si fara memorie, adica informatia medie pe mesaj scrisa pentru vectorul X este H(x) = - p(xk) log p(xk) (1) Informatia medie pe simbol poate fi determinata cu aceasta relatie, daca sursa p oate fi asimilata unei surse discrete si fara memorie. Daca folosirea simbolurilor nu se realizeaza independent, adica utiliz unui simb ol la un moment dat trebuie sa tina cont de utilizarea anterioara a aceluiasi si mbol, atunci sursa X devine o sursa cu memorie si se aplica teoria pentru surse cu memorie. S-a aratat ca informatia i(sk) transportata de mesajul sk este i(sk)= -log p(sk) (2) Daca i(sk) este informatia pe mesaj, deoarece ntre mesaje si cuvinte de cod exist a o corespondenta bijectiva, rezulta ca i(ck)=i(sk) (3) Cum H(x) este informatia medie pe un simbol din cuvnt, nseamna ca lungimea cuvntulu i ck , notata lk , va fi: (4) Dac nmultim relatia (4) cu p(sk) si sumam de la 1 la N, rezulta: Daca notam ( pk ? p(sk) ), atunci se obtine in final: (5) aceasta va reprezenta lungimea medie a cuvintelor de cod Deoarece lungimea cuvintelor de cod influenteaza in mod direct timpul de transmi sie, se poate trece la variabila timp pe baza considerentelor ce urmeaza. Considerand ca fiecare simbol transmis xi e transmis cu probabilitatea p(xi) ins eamna ca durata medie de transmitere a unui simbol se va calcula tot ca o valo are medie a unei variabile aleatoare discrete: Propunandu-ne sa determinam durata medie de transmitere a unui cuv de lungime lk obtinem: Tk = lk Durata medie de transmitere a unui cuvnt e determinabila de asemeni ca valoarea m edie a unei variabile aleatoare discrete, adica: => (6) Comparnd (6) cu (5) se constata ca lungimea medie a unui cuvant de cod este pro portionala cu durata medie de transmitere a unui cuvant. Deci se va realiza cea mai buna transmisie , atunci cnd devine minim. Observand relatia (5) constatam ca poate fi micsorat fie prin micsorarea lui H (S) (nu este posibil pentru ca implica modificarea sursei), fie prin cresterea l ui H(X). Acest lucru e posibil prin alegerea corespunzatoare a simbolurilor util izate. Prin urmare: (7) Obs Maximul entropiei H(X) se obtine cand mesajele (simbolurile) sunt furnizate echiprobabil. p(x1)=p(x2)= =p(xn)=1/M max[H(X)]=log M. Deci (8) Obs Daca din multitudinea codurilor instantanee posibile de realizat pentru o su rsa data se poate alege pe baza anumitor criterii acele coduri pentru care lungi mea medie a cuvintelor e cea mai mica, atunci transmisia se va realiza cu eficie nta maxima. n cazurile practice nu se poate folosi sistematic lungimea medie minima , dar se

va cauta intotdeauna sa se realizeze o codare astfel incat sa se apropie cat mai mult de . n cazul codurilor binare M=2 (10) (11) In cadrul codurilor binare prin nici un procedeu de codare nu se vor putea obtin e cuvinte de cod cu lungimi medii mai mici decat entropia sursei ce urmeaza a fi codata. Eficienta si redundanta codurilor Prin eficienta a unui cod vom intelege raportul intre lungimea medie minima posi bila teoretic si lungimea medie reala pentru codul respectiv. Aceasta marime ia valori in intervalul [0,1]. Codurile care au eficienta 1 (maxi ma) se numesc coduri absolut optimale. Marimea complementara eficientei unui cod se numeste redundanta codului, notat ? c , ?c = 1-?c Curs 4 Teorema codarii surselor pentru canale fara perturbatii Prima teorema a lui C.E. Schannon Lungimea medie minima se calculeaza cu relatia : (1) Aceasta inseamna ca un mesaj sk furnizat cu probabilitatea pk si care transporta o informatie i(sk)= -log pk va avea o lungime a cuvntului de cod asociat calcul ata ca raportul dintre informatia transmisa de un cuvant si informatia maxima pe ntru un simbol al unui cuvant. Lungimea lk se va alege ca cel mai mic intreg care satisface relatia: (2) Alegand lung unui cuvant de cod pe baza relatiei (2) se pune problema daca acest e lungimi respecta inegalit lui Kraft, sau altfel spus daca aceste lungimi permi t construirea de coduri instantanee. |-1 => sau Daca sumam aceasta relatie rezulta: ceea ce arata ca, alegnd lungimile cuvintelor de cod lk dupa relatia (2) se satis face inegalitatea Kraft, deci totdeauna se poate construi cu lungimile respectiv e un cod instantaneu. Se poate face o apreciere legata de lungimea minima a cuv de cod associate pe ba za urmatorului rationament: daca in relatia (2) inmultim toti termenii cu pk si sumam dupa k de la 1 la N, tinand seama de relatia de definitia a entropiei si d e faptul ca suma tuturor probabilitatilor e 1, rezulta ca: (3) Aceasta relatie e valabila pentru orice sursa discreta, deci in particular si pe ntru orice extensie de ordin m a acesteia: (4) Unde, prin s-a notat lungimea media a cuvintelor de cod corespunzatoare unui s imbol compus din m mesaje. Tinand seama ca entropia H(Sm)=mH(S) se poate prelucra relatia (4) inlocuind H(S m) si impartind prin m => Din aceasta relatie remarcam ca =lungimea medie a cuv de cod, mai mult trecand la limita pt m->? se regaseste val minima pt , . Daca codarea se realizeaza pe grupe de mesaje, numarul mesajelor din fiecare gru pa fiind suficient de mare se poate totdeauna ajunge la un cod absolut optimal p entru care lungimea medie a cuvintelor de cod atinge valoarea teoretica . Desi teorema demonstreaza posibilitatea constr codului absolut optimal, ea nu of era si o modalitate de constr a acestui cod. Mai mult optiunea m->? nu este real izabila practica. In practica nu se apeleaza la codarea surselor pt extensii de valoare mare, ci s e urmareste utilizarea unor algoritmi eficienti de codare individuala in scopul

obtinerii lungimii minime a cuv de cod. Dintre algor cei mai folositi sunt: coda rea binara Schannon -Fano si algoritmul de codare al lui Huffman. Codarea binara Shannon - Fanon Acest procedeu de codare se aplica de obicei cnd probabilitatile mesajelor sursei primare sunt puteri ntregi ale lui 1/2, adica, daca se considera mesajul si , , li ntreg. Daca aceasta relatie este ndeplinita atunci, totdeauna sursa primara S va putea f i divizata n doua submultimi S0 , S1 , astfel nct suma probabilitatilor mesajelor i ncluse n S0 sa fie egala cu suma probabilitatilor incluse n S1. Daca notam cu p(S0) suma probabilitatilor mesajelor incluse n S0 si cu p(S1) suma probabilitatilor mesajelor incluse n S1 , conform divizarii, rezulta ca p(S0)=p( S1). Deoarece sursa S este completa, p(S0) = p(S1) = 2-1. Procednd n acelasi mod c u submultimile S0 , S1 se obtin submultimile S00 S01 , respectiv S10 , S11 , ast fel nct p(S00)=p(S01)=p(S10)=p(S11)=2-2. Acest procedeu de divizare se continua pna cnd se obtin submultimi ce contin un singur mesaj al sursei primare. Se observa ca probabilitatile submultimilor astfel obtinute sunt egale cu 1/2 la o putere ntreaga, numarul ntreg fiind egal cu numarul de indici al submultimii re zultate. nseamna deci, ca daca un mesaj oarecare sk este singurul cuprins n submultimea Sk , atunci p(sk)=p(Sk)=2-lk, unde prin lk se ntelege numarul indicilor submultimii Sk. Daca sumam ultima relatie de la k=1 n , rezulta ca deci inegalitatea lui Kraft devine egalitate n acest caz de codare. Pentru a obtine cuvintele de cod dupa efectuarea divizarii n submultimi, se proce deaza astfel: se aloca simbolul 0 submultimii S0 si 1 lui S1, astfel rezultnd ca toate cuvintele de cod corespunzatoare mesajelor incluse n S0 vor ncepe cu 0, n tim p ce toate cuvintele de cod corespunzatoare mesajelor incluse n S1 vor ncepe cu 1. Se aloca apoi ca al doilea simbol din cuvintele de cod 0 pentru S00 , S10 si 1 p entru S01 , S11; n felul acesta rezultnd cuvinte de cod ce ncep 00, pentru mesajele incluse n S00 , cuvinte de cod ce ncep cu 10 pentru mesajele incluse n S10 , cuvin te de cod ce ncep cu 01 pentru mesajele incluse n S01 si cuvinte de cod ce ncep cu 11 pentru mesajele incluse n S11. Continund alocarea de 0 si 1 asa cum s-a aratat, pna cnd se obtin submultimi ce con tin un singur mesaj, vor rezulta cuvinte de cod pentru fiecare mesaj, nici un cu vnt nu este prefix pentru altul, deci codul este instantaneu. Daca sursa primara ce urmeaza a fi codata si livreaza mesajele cu probabilitatile , ?i=1 n si li =numar ntreg, codul obtinut prin procedeul Shannon - Fano este abs olut optimal (elicienta =1 , redundanta = 0). n procedeul de codare binar Schannon - Fano, alocarea lui 0 si 1 poate fi efectua ta si n alta ordine, de exemplu S0 ?1 , S1 ?0 , s.a.m.d. Aceasta nseamna ca, prin acest procedeu se pot obtine mai multe coduri instantanee absolut optimale. Exemplu Se considera o sursa Se construieste un tabel in care se ordoneaza descrescator dupa probabilitate Fig 4.1 O astfel de problema se poate rezolva si pe baza teoriei grafurilor: Fig 4.2 Se observa ca numai nodurile terminale sunt cuvinte de cod => nici unul nu este prefix pentru altul => codul este instantaneu, de eficienta 1. In cazurile reale este dificil de a lucra cu surse care sa furnizeze mesaje cu p robabilit egale cu puteri ale lui . In principiu, codarea Shannon - Fanon ar pute a fi aplicata si pentru cazul general cand p(si)?2li. In aceste cazuri e necesar sa se divida multimea S in submultimile S0 si S1 astfel incat suma probabilit l or sa fie cat mai apropiate posibil (p(S0)?p(S1)). Cu cat probabilit asociate submultimilor sunt mai apropiate ca valoare, cu atat codul obtinut va avea o eficienta mai mare (maxim 1). In cazul in care probabili t ?2-li se obtin coduri instantanee dar nu optimale. Def Vom numi coduri compacte acele coduri care se obtin prin codarea individuala

a mesajelor si nu pe grupe de mesaje, codul pt care lungimea medie a cuv de cod este totusi minima la o distributie data. Cun cod absolut optimal e si compact, reciproca nefiind totdeauna adevarata. In cazul codurilor compacte este necesar sa se aloce cuvantul de cod cu lungimea ce a mai mica mesajului care are probabiliatatea de transmisie cea mai mare. Procesul de codare binara Huffman S-a aratat ca in cazul codarii Shannon - Fanon ca daca p(si)?s-li se pot obtine coduri compacte daca probabilit sunt cat mai apropiate ca valoare. Algor de coda re Huffman stabileste modul cum se pot obtine valori cat mai apropiate ale proba bilit. Acest algor presupune parcurgerea urmatoarelor etape: 1. Se ordoneaza mesajele in ordinea descredcatoare a probabilitatilor, obtinandu -se astfel o prima submultime, numita restransa [R0] cu proprietatea ca p(s1) ?p (s2) ?........ ?p(sN-1)?p(sN) 2. Ultimele 2 mesaje de prbabilitati cele mai mici se reunesc intr-un mesaj r1=s N-1?sN => p(r1)=p(sN-1)+p(sN). Se ordoneaza din nou descrescator upa probabilita ti. Se obtine astfel o noua submultime [R1]: p(s1) ?p(s2) ?........ ?p(r1)?.... In mod similar se construieste submult [R2]......[Rn]:[rn,rn-1]. In acest fel sa realizat gruparea mesajel astfel incat valorile probabilit submultimilot sa fi e cat mai apropiate. 3. Se aloca simbolul 1 mesajelor rn si 0 pentru rn-1. La fiecare divizare se obt in 2 submultimi, acestora alocanduri-se arbitrar 0 si 1. Se continua alocarea pa na cand se obtin submultimi formate dintr-un singur mesaj. Se obtine astfel un c od instantaneu si compact. Conform acestui algoritm, daca sursa S are N mesaje, atunci submult restransa R1 va avea N-1 mesaje s.a.m.d., iar submultimea restransa Rn va avea N-n mesaje. A sta inseamna ca e necesar un numar de restrangeri n=N-2 pana la obtinerea multim ii restranse Rn. Deoarece fiecarei restrangeri i se pot aloca arbitrar 0 sau 1 = > se pot forma in total 2N-2 coduri instantanee compacte. Deoarece in aceasta re strictie nu am luat in calcul si cazul initial trebuie sa aducem o corectie spun and ca daca se considera si alocarea de ordin n atunci se mai obtin 2N-2 coduri, in total 2N-1 coduri instantanee compacte. Exemplu Se considera o sursa comleta discreta si fara memorie Fig 4.3 s1->c1->1101 s2->c2->1100 s3->c3->00 s4->c4->10 s5->c5->111 s6->c6->01 Se poate face o reprez grafica. Se poate arata ca lungimea medie a cuv de cod e cea mai mica posibila.

S-ar putea să vă placă și