Curs Teoria Informatiei Si a Codarii

March 6, 2017 | Author: Kolea Mtc | Category: N/A
Share Embed Donate


Short Description

Download Curs Teoria Informatiei Si a Codarii...

Description

CURS TEORIA INFORMATIEI SI A CODARII

Prof.dr.ing. Adrian Mihaescu

Curs TTI Curs TTI EA CUPRINS 1.1.2 Modelul unui sistem de transmisiune a informaŃiei 1.1.3 CerinŃele unui sistem de transmisiune a informaŃiei 1.1.4 Măsura informaŃiei în cazul semnalelor discrete 1.1.5 Tipuri de surse de informaŃie 1.1.6 Parametrii surselor de informaŃie 1.2.1 Terminologie 1.2.2 Entropii condiŃionate TransinformaŃia 1.2.3 Capacitatea canalului discret

1.3 Codarea surselor pentru canale fără perturbaŃii 1.3.1 Scopul codării surselor de informaŃie 1.3.2 Tipuri de coduri 1.3.3 Lungimea medie a unui cuvânt de cod 1.3.4 EficienŃa şi redundanŃa unui cod 1.3.5 Prima teoremă a lui SHANON (teorema codării canalelor fără zgomot ) 1.3.6 Metode de codare binară Codarea Shannon-Fano

Cap.2 Codarea pentru canale cu pertubaŃii 2.1 Scopul codării pentru protecŃie 2.2 Clasificarea codurilor detectoare sau corectoare de erori 2.3 Teorema lui Shanonn II pentru canale cu perturbaŃii 2.4 Reguli de decizie 2.5Coduri simple detectoare de erori 2.5.1 Codul cu repetiŃie detector de erori 2.5.2 Cod cu pondere constantă detector de erori

2.6 Coduri grup 2.6.1 Principiul decodării utilizând matricea de control 2.6.2 CondiŃii impuse matricei de control pentru a detecta sau corecta erori 2.6.3 ConstrucŃia matricei de control pentru a detecta un număr impar de erori 2.6.4 ConstrucŃia matricii de control pentru a detecta două erori

2.7 Codul grup Hamming, corector de o eroare 2.7.1 Descrierea codului grup Hamming 2.7.2 Codarea codului grup Hamming 2.7.3 Decodarea codului grup Hamming

1

Curs TTI Codul Hamming corector de o eroare şi detector de două erori

2.8 Coduri iterate 2.8.1 Coduri iterate cu distanŃa Hamming 2 x 2 2.8.2 Coduri iterate cu distanŃă Hamming 2 x 3

2.9 Coduri ciclice 2.9.1 Descrierea codurilor ciclice 2.9.2 Codarea cuvintelor cu ajutorul polinomului generator g(x) 2.9.3 Codarea cu ajutorul matricii de control T T : GH = HG

2.9.4 Decodarea codurilor ciclice 2.9.5 Decodor cu registru de deplasare cu reacŃie

Cap.3 SEMNALE ALEATOARE 3.1 DefiniŃia şi clasificarea semnalelor aleatoare: 3.2 Variabile aleatoare 3.2.1 FuncŃia de repartiŃie a variabilei aleatoare 3.2.2 Densitatea de probabilitate a unei v.a. 3.2.3 DistribuŃia uniformă 3.2.4 DistribuŃia normală 3.2.5 Momentele de ordinul k ale v.a.

3.3 Valori medii ale semnalelor aleatore 3.3.1 Valori medii statistice ale semnalelor aleatore 3.3.2 Valori medii temporale ale semnalelor aleatoare 3.3.3 Semnale aleatoare staŃionare 3.3.4 Semnale aleatoare ergodice 3.3.5 Semnalul aleator pur 3.4 Densitatea spectrală de putere. Teorema Wiener – Hincin 3.4.1 Densitatea spectrală de putere a semnalelor aleatoare staŃionare

2

Curs TTI 3.4.2 Teorema Wiener – Hincin 3.5 Dezvoltarea Karhunen-Loève a semnalelor aleatoare în serie cu coeficienŃi necorelaŃi

3.6 Transformări liniare ale semnalelor aleatoare

Cap.4 Transmiterea discretă a semnalelor continue 4.1. Sisteme cu modulaŃia impulsurilor 4.2 Transferul informaŃiei în sistemele cu modulaŃie în impuls 4.3Eşantionarea. Spectrul semnalelor MIA 4.3.1 MIAN –modulaŃia impulsurilor în amplitudine naturală 4.3.2 MIAV – modulaŃia impulsurilor în amplitudine uniformă 4.3.3 Teorema eşantionării

4.4 Conversia Analog-numerică 4.4.1 Cuantizarea

4.5 ModulaŃia delta 4.5.1 ModulaŃia delta uniformă 4.5.2 ModulaŃia delta adaptivă .

Cap.5 DETECTIA SEMANALELOR BINARE ACOPERITE DE ZGOMOT 5.1 CRITERII DE DECIZIE BINARA 5.1.1 Criteriul lui BAYES 5.1.2 Criteriul observatorului ideal 5.1.3 Criteriul probabilităŃii aposteriori maxime 5.1.4 Criteriul min-max 5.1.5 Criteriul Neuman-Pearson

5.2 DetecŃia discretă a semnalului binar 5.2.1 Calculul raportului de plauzibilitate 5.2.2 ProbabilităŃile deciziilor corecte şi false

5.3 DetecŃia continuuã a unui semnal binar 5.3.1 Descompunerea semnalului recepŃinat în sumã de funcŃii ortonormate 5.3.2 Calculul raportului de plauzibilitate 5.3.3 ProbabilităŃile deciziilor corecte şi false

5.4 DetecŃia a două semnale binare observate continuu

3

Curs TTI

Cap.6 ESTIMAREA PARAMETRILOR 6.1 Introducere

6.2 Parametrii aleatori: estimatori de tip Bayes 6.2.1 Criteriul de estimare mediu pătratic. 6.2.2 Criteriul de estimare maxim aposteriori. 6.3 Estimarea discretă

6.3.1 Estimarea discretă utilizând criteriul estimării maximum aposteriori 6.4 Estimarea continuă 6.4.2 Estimarea unui parametru determinat necunoscut

6.4.3 Estimarea liniară prin observaŃii continue a unui parametru determinist necunoscut. 6.5 Criterii de evaluare ale calităŃii estimaŃilor

4

Curs TTI

Cap.1 Surse de informaŃie. Canale de transmisiune

1.1 Surse de informaŃie 1.1.1 Terminologie NoŃiunile utilizate în teoria transmisiunii informaŃiei: InformaŃie - Presupunem că într-o situaŃie oarecare pot avea loc N evenimete diferite, egal probabile, probabilitatea de realizare a unui eveniment A fiind p(A)=1/N. Odată ce unul din cele N evenimente au fost realizate se obŃine o informaŃie. Această informaŃie este cu atât mai mare cu cât evenimentul este mai imprevizibil, respectiv cu cât probabilitatea sa este mai mică. Prin definitie informaŃia obŃinută este: i ( A ) = log 2

1 = − log 2 p ( A ) = log 2 N p (A )

Ex 1. Aruncarea zarului. Ex 2. Există 12 monede din care una falsă ce poate fi mai uşoară sau mai grea. Folosind o balanŃă egală să se determine, utilizând noŃiunea de informaŃie, câte cântăriri sunt necesare pentru a determina moneda falsă şi să se specifice dacă este mai uşoară sau mai grea. A- evenimentul determinării monedei false; B- evenimentul determinării dacă moneda falsă este mai uşoară sau mai grea; C- evenimentul compus: A intersectat cu B. p(A)= 1/12;

p(B)=1/2;

p(C)=1/12*1/2= 1/24

1 = log 2 24 p (C )

i C = log 2

iC – informaŃie necesară pentru a solva problema. io = log2 3 – informaŃia furnizată de o cântărire (balaŃa, la o cântărire, poate să se încline spre dreapta, spre stânga sau să nu se incline  3 posibilităŃi). kmin se află punând condiŃia ca informaŃia furnizată de cântăriri să fie mai mare decât informaŃia necesară: kmin log23 ≥ log224

 kmin =3

Concluzii: - informaŃia, după definiŃia probabilităŃii, ne dă o măsură calitativă asupra unui sistem, ne spune de câte cântăriri avem nevoie; nu spune cum se face măsurarea cu balanŃa; - informaŃia este o măsură cantitativă utilă pentru analiza sistemelor de transmitere a informaŃiei. 1

Curs TTI 1.1.2 Modelul unui sistem de transmisiune a informaŃiei Cel mai simplu model al unui sistem de transmisiune a informaŃiei este:

Sursa de informaŃie – un mecanism tehnic sau o procedură matematică care poate alege şi emite un mesaj dintr-un ansamblu de mesaje posibile, alegerea făcându-se în mod aleator. Sursa de informaŃie se caracterizează prin setul de mesaje posibil a fi selectate denumite simboluri sau litere. Utilizator – destinaŃia finală la care trebuie să ajungă mesajul transmis. Canal – totalitatea mijloacelor destinate transmiterii mesajului; prin mijloace întelegem atât aparatura cât şi mediul prin care se poate transmite, şi include toate sursele de perturbaŃii. Modulare – transformarea unui mesaj într-un semnal, cu scopul de a facilita transmisiunea printr-un canal dat sau de a realiza transmisiuni multiple prin acelaşi mediu. Scopul secundar al modulaŃiei este de a mări eficienŃa transmisiunii prin micşorarea efectului perturbaŃiilor ce intervin în pocesul de transmisiune. Demodulare – operaŃia inversă modulării. Codare- prelucrarea discretă a mesajului cu scopul măririi eficienŃei de transmisie. Uneori termenul de codare înglobează şi modularea. Decodare – operaŃia inversă codării. 1.1.3 CerinŃele unui sistem de transmisiune a informaŃiei Sarcina unui sistem de transmisiune a informaŃiei este de a pune la dispoziŃia utilizatorului informaŃia generată de sursă, cu un grad de deteriorare specificat, admis. În tehnicile de comunicaŃii se obişnuieşte să se introducă un criteriu de fidelitate, pentru aprecierea reproducerii semnalului generat de sursă la utilizator. În sistemele de transmisiune analogică, criteriul de fidelitate ales este uneori eroarea medie pătratică:

x(t) – mesaj transmis; y(t) – mesaj recepŃionat; iar medierea se face în raport cu timpul; alteori se alege drept criteriu de fidelitate raportul semnal/ zgomot.

2

Curs TTI n(t) – zgomot perturbator; În sistemele de transmisie numerică criteriul de fidelitate îl reprezintă probabilitatea recepŃionării unui mesaj eronat, numită rata erorii (BER –Bit Error Rate). 1.1.4 Măsura informaŃiei în cazul semnalelor discrete InformaŃia este o măsură a nedeterminării asupra unui sistem de evenimente, respectiv o măsură a incertitudinii asupra rezultatului alegerii printr-un mecanism oarecare aleator, a unui eveniment din mulŃimea evenimentelor posibile distincte. Această măsură nu se referă la valoarea subiectivă a informaŃiei. Ea este o măsură obiectivă privind incertitudinea mecanismului prin care se realizează un eveniment din mulŃimea evenimentelor psibile. Fie un experiment care are n realizări posibile pe care le organizăm în spaŃiul eşantioanelor. X={x1, x2,…, xn} Fiecărui eveniment i se asociază o probabilitate n

P={p(x1),p(x2),…,p(xn)} a.î.

∑ p(x i ) = 1

i =1

Ansamblul [x,p] formează o sursă de informaŃie discretă.

xn   x X= 1   p (x 1 ) p (x n ) Măsura incertitudinii asupra realizării unui eveniment xi este o funcŃie de probabilitate apriorii de realizare a acestui eveniment F(pi), unde: Pi = p(xi); U(xi) = F(pi) şi reprezintă incertitudinea iniŃială (apriori) asupra realizării evenimentului xi. Când evenimentul elementar xi se realizează, această incertitudine a fost înlăturată şi se spune că s-a obŃinut o informaŃie i(xi) asupra realizării lui xi. Acestă informaŃie poate fi definită prin : - informaŃia obŃinută asupra lui xi prin realizarea lui xI; - anularea incertitudinii asupra realizării lui xi după ce s-a realizat xi def

i (x i ) = U (x i ) = F (p i ) FuncŃia F poate fi aleasă dintr-o clasă mare de functii care să îndeplinească condiŃia de aditivitate: dacă un eveniment xi este format din 2 evenimente xi1 şi xi2, xI = xi1 intersectat cu xi2 i(xi)=i(xi1)+i(xi2) F (x

)=



F[p(xi)]=F[p(xi1)]+F[p(xi2)]

1 = − log 2 x x Fie cazul cel mai simplu al unei surse discrete formată din 2 evenimente: log

2

x2   x1  p (x ) p (x )  1 2  S-a convenit să se aleagă unitatea de informaŃie ca informaŃia ce se obŃine prin alegerea la întâmplare a unui eveniment din două evenimente egale probabile:

3

Curs TTI

i (x 1 ) = i (x 2 ) = log x X= 1 1 / 2

2

2 = 1 bit

x2  1 / 2 

1.1.5 Tipuri de surse de informaŃie Surse discrete – care debitează mesaje în formă discretă (de ex. succesiunea de impulsuri) Def: Xi – simbol sau literă este elementul fundamental ireductibil care conŃine informaŃie, respectiv o realizare particulară a sursei de informaŃie. {Xi}- alfabet, totalitatea simbolurilor; Cuvânt - o succesiune finită de simboluri binare; Limbă - totalitatea cuvintelor formate cu un anumit alfabet; Codare sau cifrare - se stabileşte o corespontenŃă între o limbă şi altă limbă; Decodare sau decifrare - operaŃia inversă codării; Sursă discretă fără memorie – sursa la care probabilitatea de apariŃie a unui simbol nu depinde de simbolurile precedente:

P (x i / x i − 1 , x i − 2 ,...

)=

P (x i )

Sursă discretă cu memorie –sursa la care probabilitatea de apariŃie a unui simbol depinde de simbolul precedent sau de un şir de simboluri anterioare, dacă sursa are o memorie mai mare. Sursă staŃionară –sursa la care probabilitaŃile diferitelor simboluri nu depind de originea timpului în care începe observarea acesteia. Sursă ergodică – este sursa pentru care frecvenŃele de apariŃie a diferitelor simboluri obŃinute prin observarea unei secvenŃe particulare de simboluri emise de sursă tind către probabilitaŃile acestora p1,…,pn. Sursă discretă fără constrângeri - sursa staŃionară care nu are memorie, adică sursa la care după un simbol poate urma orice alt simbol cu aceeaşi probabilitate. Sursa discretă cu constrângeri fixe – este sursa la care unele simboluri pot fi folosite numai în condiŃii bine precizate. 1.1.6 Parametrii surselor de informaŃie Entropia – H(X) este incertitudinea medie apriori asupra evenimentelor sursei X sau informaŃia proprie medie pe simbol a respectivei surse. n

H (X ) = − ∑ p i ⋅ log 2 p i = i =1

n

∑ i (x i ) ⋅ p (x i )

i =1

ProprietăŃile entropiei: 1. Continuitatea - H(X) este o functie continuă în raport cu pi Є [0,1]; 2. Simetria - simetrică în raport cu pI; 3. Aditivitatea - aditivitatea informaŃiei proprie; 4. Entropia are maximul pentru P1=P2=…=Pn; Exemplificăm pentru cazul unei surse binare: x X =  1  p1

4

x2 p 2 

Curs TTI

H (X ) = − p1 ⋅ log 2 p1 − p 2 ⋅ log 2 p 2 =

= − p1 ⋅ log 2 p1 − (1 − p1 ) ⋅ log 2 (1 − p1 )

Debitul de informaŃie În unele situaŃii este util ca noŃiunea de informaŃie să fie legată de timp. În acest caz, se defineşte debitul de informaŃie ca raportul între entropia sursei şi timpul mediu de emisie a unui simbol al sursei. n H ( X )  bit  D= ; τ = pi τ i ∑ τ  s  i =1 RedundanŃa unei surse Pentru a indica cât de mult se îndepărtează entropia unei surse de la valoarea ei maximă posibilă, se defineşte redundanŃa ca fiind diferenŃa între valoarea maximă a entropiei sursei şi valoarea ei reală.

R = H max − H (X ) , unde: H max = log 2 n EficienŃa sursei EficienŃa unei surse se defineşte ca fiind: H (X ) ρ= H max RedundanŃa relativă Este redundanŃa raportată la entropia maximă: H (X ) R ρ = 1− = H max H max

5

Curs TTI

1.2 Canale discrete 1.2.1 Terminologie Între sursa de informaŃie şi utilizator, există un mediu prin care trebuiesc transmise informaŃiile, care se numeşte canal. Canalul ca şi model matematic, stabileşte o transformare de la spaŃiul simbolurilor de intrare X = {x i }, la spaŃiul simbolurilor de ieşire Y = {y j }m . Canalul se numeşte discret, dacă atât spaŃiul de intrare, cât şi cel de ieşire, sunt discrete. Vom analiza un astfel de canal discret.

x ..........x n  X= 1  p(x 1 )......p( x n )

 y ..........y m  Y= 1  p(y1 )......p(y m )

Dacă nu se face nici o ipoteză asupra independenŃei sau dependenŃei elementelor xi şi yj , avem matricea de probabilităŃi sau matricea de transfer a canalului:

p(y1 , x1 ) p(y 2 , x1 )........p (y m , x1 ) .   P(X, Y ) =  .    p(y1 , x n ).........................p (y m , x n ) Această matrice, are proprietatea că: m

1 = p{U(y1 , x i ) I U(y 2 , x i ) I ... I U(y m , x i )} = ∑ p(y j , x i ) j=1

p ( y j , xi ) = p( xi , y j ) = p( xi ) p( y j / xi ) = p ( y j ) p( xi / y j ) Canalul discret poate fi definit de trei câmpuri cărora le corespund trei entropii: - câmpul de intrare H(X); - câmpul de ieşire H(Y); - câmpul reunit intrare ieşire H(X,Y). Expresiile acestor entropii sunt: n

H(X ) = −∑ p(x i )log 2 p(x i ) i =1

H(Y ) = −∑ p(y j ) log 2 p(y j ) m

j =1

n

H(X, Y ) = −∑ i =1

∑ p(x , y ) log p(x , y ) m

i

j =1

6

j

2

i

j

Curs TTI 1.2.2 Entropii condiŃionate EchivocaŃia Dacă, câmpul de evenimente de la ieşirea din canal este cunoscut, datorită efectelor perturbaŃiilor rămâne totuşi o oarecare incertitudine asupra câmpului de la intrare. Valoarea medie a acestor incertitudini, entropia câmpului X condiŃionat de câmpul Y, se notează cu H(X/Y) şi se numeşte echivocaŃie. Reprezintă măsura echivocului, a incertitudinii asupra câmpului de intrare, când se cunoaşte câmpul de ieşire Y. x1 o . . . . . xno

oy1 . . oyj . . ym

Dacă la ieşirea din canal, apare simbolul yj, există o incertitudine asupra simbolului care a fost de fapt emis. Acesta poate să fie oricare dintre x1,…..xn. Incertitudinea asupra emiterii simbolului x1 dacă s-a recepŃionat yj, este:

(

)

(

)

(

1 = − log 2 p x i / y j p xi / y j

I x i / y j = U x i / y j = log 2

(

)

)

Valoarea medie a acestei incertitudini este:

(

)

(

H X/y j = − ∑ p x i y j

) U (x i y j ) = − ∑ p(x i y j )log2 p(x i y j ) n

i =1

Dacă facem valoarea medie pentru toate valorile posibile ale lui yj este: H(X/Y ) = ∑ p(y j ) H (X/y j ) = −∑ n

= −∑ i =1

m

n

j=1

i =1

∑ p(y ) p(x /y )logp(x /y ) = m

j=1

j

i

j

i

j

∑ p(x , y ) logp(x /y ) m

j=1

i

j

i

j

Eroarea medie. În mod analog, se poate determina entropia câmpului de ieşire, dacă se cunoaşte câmpul de la intrare. n

H (Y/X ) = − ∑

∑ p(x i )p(y j/x i )logp(y j/x i ) = m

i =1 j =1 n m

= −∑



i =1 j=1

(

) (

p x i , y j logp y j/x i

7

)

Curs TTI

Eroarea medie, este o măsură a incertitudinii câmpului de la ieşire când se cunoaşte câmpul de la intrare. Dacă, canalul nu are perturbaŃii atunci:

(p(x i /y j ) = 1)

H (X/Y ) = H (Y/X ) = 0

Dacă, canalul are perturbaŃii foarte puternice, atunci: H (X/Y ) = H (X ), H (Y/X ) = H (Y ) Pentru determinarea entropiilor condiŃionate este necesar să cunoaştem matricile condiŃionate de transfer ale canalului.  p(x1/y1 ) .......p (x n /y1 ).  ; P(X/Y ) =     p(x1/y m )........p (x n /y m )

n



i =1

(

)

p x i /y j = 1

şi

p(y1/x1 ) .......p(y m /x1 ).  P(Y/X ) =    p(y1/x n )........p(y m /x n )

m



j=1

(

)

p y j/x i = 1

TransinformaŃia Dacă considerăm ieşirea canalului şi observăm la un moment dat evenimentul yj, măsura incertitudinii, dacă la intrarea acestuia s-a introdus xi, este: U x i /y j = F p x i /y j

) [(

(

)]

InformaŃia obŃinută la ieşirea canalului asupra realizării lui xi, când a ieşit yj, este egală cu scăderea din incertitudinea apriori despre realizarea lui xi a incertitudinii aposteriori U x i / y j ,

(

adică:

(

)

(

)

I x i , y j = U (x i ) − U x i /y j = = F[p(x i )] − F p x i /y j = −log 2 p(x i ) + log 2 p x i /y j

[(

)]

(

sau

(

)

I x i , y j = −log 2

p(x i ) p x i /y j

8

(

)

)

)

Curs TTI Deci I(x i , y i ) reprezintă informaŃia mutuală ce se obŃine asupra evenimentului xi când se

recepŃionează y j . În absenŃa perturbaŃiilor recepŃionând simbolul yj, putem afirma cu certitudine că s-a emis xi, adică:

(

(

)

p x i /y j = 1

)

şi

I x i , y j = −logp(x i ) În cazul general, din cauza zgomotelor p(xi/yj) H(S,S) = H(S²) = 2 H(S); ca atare vom avea : H(Sn ) ≤ ln < H (Sn ) +1 log 2 M

log 2 M

unde prin ln am notat lungimea medie a unui cuvânt de cod corespunzător mesajului din Sn format din n simboluri ale sursei S n H(S) ≤ ln < n H (S) +1 log 2 M

log 2 M

H(S) ≤ ln <

H (S)

log 2 M

log 2 M

lim ln _ n→∞

n

n

H (S)

+ 1

_ l

Dacă n este foarte mare rezultă :

n min

log 2 M

unde  l min este lungimea medie a cuvintelor de cod [C] . RelaŃia de mai sus ne arată că printro codare corespunzătoare (codarea de grupuri de lungime n a simbolurilor sursei) informaŃia medie pe literă din alfabetul codului H(S) /l poate fi făcută oricât de apropiată de log 2 M, adică codarea este absolut optimală . Sau altfel spus o codare se poate face cu eficienŃă maximă egală cu unitatea (η=1) dacă se supune codării extensia de ordin mare [S n ] a sursei de informaŃie [S].

15

Curs TTI 1.3.6 Metode de codare binară Codarea Shannon-Fano Se considerã cã simbolurile sursei sunt codate în mod individual unul câte unul .În cazul particular în care mulŃimea simbolurilor sursei [S]=[s1 ,…….sN], poate fi împărŃită în douã mulŃimi So şi S1 de aceeaşi probabilitate P(So)=P(S1)=1/2 iar mulŃimile So şi S1 la nivelul lor pot fi divizate în Soo şi So1 respectiv în S1o şi S11 toate având aceeaşi probabilitate egalã cu ¼.Continuãm aceastã operaŃie până când mulŃimile respective nu conŃin decât un singur element. În acest fel codarea Shannon-Fano conduce la un cod absolut optimal. EX:

s1 s2 s3 s4 s5 s6 s7 s8    S = 1 1 1 1 1 1 1 1   4 4 8 8 16 16 16 16  Ck S1

¼

So S2 S3 S4 S5

¼

Soo

00

Lk 2

So1

01

2

S100

100

3

S101 S1100

101 1100

3 4

S1101

1101

4

S1110

1110

4

S1111

1111

4

1/8

S1o

1/8

S1

S110

S6 S7

S11 S111

S8

Σpi=1

I=2.75

H(S)=2x 0.25log0.25+2x 0.125log0.125+4x 0.0625log0.0625=2.75 biŃi/simbol Codarea binarã Huffman

 s1...s N   cu probabilităŃile ordonate p1≥p2≥p3 ≥……≥pN ... p p  1 N

Fie sursa S = 

Codarea Huffman este bazatã pe ideea de a împãrŃi mulŃimea mesajelor S = s1…..sN ordonatã descrescător în funcŃie de probabilităŃile corespunzătoare în submulŃimile So şi S1 cu probabilităŃi cât mai apropiate, iar mulŃimile S00 şi S01 respectiv cu probabilităŃi cât mai apropiate. În cazul particular în care probabilităŃile mulŃimilor obŃinute sunt egale codarea este absolut optimalã de tip Shannon-Fano. Algoritmul de codare funcŃionează după următorii paşi: 1) Se ordonează mulŃimea mesajelor [S] în ordinea probabilităŃilor descrescătoare. S=[s1,s2, ….. sN] p(s1)≥p(s2)≥……….≥p(sN)

16

Curs TTI 2) Se formează mulŃimi de simboluri care sã poată fi furnizate în douã submulŃimi de probabilităŃi cât mai apropiate: a) Se grupează r1=sN U sN-1 => p(r1)=p(sN)+p(sN-1) b) MulŃimea r1 se considerã ca un nou mesaj care se include în mulŃimea celorlalte mesaje în ordinea probabilităŃilor descrescătoare. [R1]=[s1,s2, …….r1……] cu p(s1)>p(s2)≥……..≥p(r1)≥….. Ultimele douã mesaje se grupează ca şi în cazul precedent operaŃia continuând până în cazul în care se ajunge la un şir de numai douā elemente [rn ,rn-1]=[Rn] c) Cuvintele de cod corespunzătoare fiecărui mesaj se obŃin în felul următor: -mulŃimii rn i se alocã simbolul 0; -mulŃimii rn-1 i se alocã simbolul 1; -la fiecare nouã diviziune se alocã în plus un nou simbol 0 sau 1 până când se ajunge la o mulŃime care conŃine un singur element sk. d) Din cele precedente rezultã cã formarea cuvântului de cod corespunzător mesajului sk nu este unicã fiindcă la fiecare diviziune alocarea lui o sau 1 este arbitrarã. Rezultã cã se pot forma mai multe coduri care au aceeaşi lungime medie. EX:

 s1 s2 s3 s4 s5 s6   0,3 0,25 0,15 0.15 0.1 0.05

Se considerã sursa: S = 

Se aranjează simbolurile sursei în ordinea descrescătoare a probabilităŃilor şi se construieşte următorul tablou al surselor restrânse: Ck R1 R2 R3 S1 0.3(00) 0.3(00) 0.3(00) 0.4(1) 0.6(0) 0.3 (01) 0.25(10) 0.25 10 0.3 00 0.4(1) S2 0.25(10) S3

0.15(11)

0.15(11)

S4

0.15(010)

0.15(010) 0.15(011)

0.15 11

0.3 01

S5 0.10(0110) S6 0.05(0111) H(S)=0.3log0.3+0.25log0.25+0.3log0.5+0.1log0.1+0.05log0.05=2.4 bit/simbol l = 2.45 bit/simbol = Σlipi

η=

H(S) = 0,975 l log2 2

17

Curs TTI

Cap.2 Codarea pentru canale cu pertubaŃii

2.1 Scopul codării pentru protecŃie În capitolul precedent s-a studiat metoda de a transforma o sursã oarecare într-o sursã de entropie maximã sau apropiatã de valoarea maximã în vederea obŃinerii unei eficienŃe cât mai mari. În prezentul apropiat se considerã sursa ca fiind de entropie maximã, adică avem o sursã a cărei simboluri, numite simboluri de informaŃie au aceeaşi probabilitate. Înainte de a transmite aceste simboluri pe canalul cu perturbaŃii se adaugă o anumitã redundanŃă – de obicei prin adăugarea unor simboluri numite simboluri de control care au menirea sã indice utilizatorului prezenŃa erorilor, ba chiar să-i dea posibilitatea să le corecteze. În acest sens vorbim de coduri detectoare de erori şi de coduri corectoare de erori. În cazul detecŃiei erorilor este necesar un canal de întoarcere prin care utilizatorul să solicite sursei repetarea mesajului eronat.

P Cd S

Ci

U

P Deoarece cantitatea de informaŃie necesară solicitării unei retransmisii este foarte mică rezultă că şi capacitatea canalului de retur este foarte mică. Sistemul de detecŃie al erorilor şi de repetare la cerere a mesajelor eronate cunoscut sub numele ARQ (automatic repetition request) este larg utilizat în cazul surselor cu debit controlabil. În cazul surselor cu perturbaŃii mari pentru a se evita repetări prea frecvente se foloseşte un sistem de corecŃie automată a erorilor , rămânând ca eroarea de repetiŃie să fie făcută numai atunci când numărul erorilor depăşeşte probabilitatea sistemului de corecŃie. În cazul surselor cu debit necontrolabil sau atunci când informaŃia este înmagazinată în diferite tipuri de memorii susceptibile a se degrada este necesar să se utilizeze un sistem de corecŃie automată a erorilor.

18

Curs TTI

2.2 Clasificarea codurilor detectoare sau corectoare de erori Coduri bloc-dacă prelucrările necesare funcŃiilor de detecŃie sau de corecŃie se fac în blocuri de n simboluri spunem că avem de a face cu coduri bloc. Coduri convoluŃionale-prelucrarea simbolurilor generate de sursa nu se face pe blocuri ci în mod continuu. Codurile bloc grup-în care cuvintele sunt considerate ca făcând parte dintr-un spaŃiu vectorial. Codurile bloc ciclice-în care cuvintele sunt considerate ca făcând parte dintr-o algebră.

2.3 Teorema lui Shanonn II pentru canale cu perturbaŃii Dacă avem o sursă cu un debit de informaŃie de R biŃi/sec şi un canal cu capacitate C biŃi/sec şi dacă Rp(Vi/Vk) => s-a emis Vj Decizia pe baza distanŃei Hamming minime DistanŃa Hamming dintre două cuvinte de cod de aceeaşi lungime este egală cu numărul de simboluri prin care cele două cuvinte se deosebesc.

19

Curs TTI Presupunem că avem cazul unui canal binar simetric caracterizat de probabilitatea p. În acest caz p condiŃionată:P(Vi/Vj) şi P(Vi/Vj) pentru cuvinte de cod de lungime n sunt: D(Vi,Vj)

P(Vi/Vj)= P

n-D(Vi,Vj)

(1-P) D(Vi,Vk)

n-D(Vi,Vk)

P(Vi/Vk)=P (1-P) unde D(Vi,Vj) este distanta Hamming dintre cuvintele (Vi,Vj) . Regula de decizie a probabilităŃii maxime enunŃată mai sus conduce la: P(Vi/Vj)>P(Vi/Vk) =>s-a transmis Vi deoarece p5t+1 ceea ce presupune ca p-l componente de informatie sunt fara erori. Aceasta inseamna ca spatial de siguranta dintre doua pachete de erori, compus din 2I simboluri ale secventei codate, unde nu sunt admise erori, trebuie sa se supuna restrictiei: I>4t+1 4.3.4. Codarea si decodarea codului Fink-Hagelbarger Instalatia de codare a codurilor convolutionale accepta la intrare o secventa continua de simboluri binare si scoate o secventa continua de simboluri codate. In secventa codata apar succesiv un symbol de informatie si un symbol de control. Procesul de codare va executa produsul i(x)h(x), ceea ce inseamna introducerea unor circuite de inmultire cu celule de register. Pentru a se evita inmultirile cu polinoame avand exponenti negativi, secventa de informatie i(x) va suferi o deplasare initiala trecand printr-un registru cu t+1 celule asa cum se vede in figura 4.5. 50

Fig 4.5. Registrele de deplasare sunt conduse cu o secventa de tact. Iesind din registrul t+1, secventa de informatie trece spre canal conditionata de semnalul P i existent in decursul primei jumatati a semnalului de tact. Daca exprimam v(x) drept polinom al secventei de cod, avand cate doua componente pentru fiecare putere a variabilei x, prima pentru partea de informatie si a doua pentru partea de control, sub forma: v(x)=v i (x); v c (x) constatam ca: v i (x)=i(x)* x t +1 La intrarea sumatorului + se aplica doua secvente, decalate intre ele cu 2t+1 tacte, astfel incat iesirea va corespunde polinomului: i(x)+ i(x) x 2t +1 = x t +1

i(x)[x t +x −t −1 ]= x t +1 *c(x)

ceea ce inseamna, asa cum rezulta prin comparatie cu (4.17), ca este polinomul secventei de control, c(x) decalat cu t+1 tacte. Impreuna cu semnalul P c , existent in decursul celei de a doua jumatati a intervalulu ide tact, in canal va patrunde iesirea din sumator,constituind componenta v c (x) v c (x)=c(x)* x t +1 Decodarea codului Fink-Hagelberger are nevoie de o separare a secventei de control de cea de informatie, de o racordare a acesteia, de o insumare cu secventa de control receptionata pentru a crea sindromul si de deplasari ale sindromului pentru a avea polinoame din care eroarea secventei de informatie sa poata fi extrasa prin circuite de coincidenta. In figura 4.6. se prezinta sumar o schema de decodare.

51

Fig.4.6.

P i si P c , existente fiecare de-a lungul unei jumatati din intervalul de tact, sincrone cu semnale cu acelasi nume din schema de codare. Din acest motiv secventa v i (x), impreuna cu eroarea care a afectat-o la trecerea prin canal, E 1 (x), va patrunde in registrul cu 2t+1 celule, iar secventa de control, v c (x) impreuna cu eroarea obtinuta la traversarea canalului, E c (x), va patrunde in registrul cu t+1 celule. In consecinta i 1 (x)=v 1 (x)+ E 1 (x)=i(x)*x t +1 +E 1 (x) c 1 (x)= v c (x)+E c (x)=i(x)*x t +1 ( x t +x −t −1 )+ E c (x) La iesirea celor doua register se obtin: i 2 (x)=i 1 (x)*x 2t +1 =i(x)*x 3t + 2 +E 1 (x)*x 2t +1 c 2 (x)=c 1 (x)*x t +1 = i(x)*x 2t + 2 (x t +x −t −1 )+ E c (x)*x t +1

(4.23)

Sumatorul cu trei intrari, R 1 scoate sindromul S 1 adunand secventele i 1 , i 2 si c 2 adica S 1 (x)= i 1 (x)+i 2 (x)+c 2 (x) S 1 (x)=i(x)[x t +1 +x 3t + 2 +x 3t + 2 +x t +1 ]+E 1 (x)+E 1 (x)*x 2t +1 +E c (x)*x t +1 Se poate observa ca S 1 (x) este un polinom deplasat cu t+1 tacte fata de sindromul S(x) (rel 4.18). Sinromul S 2 , care este deplasarea cu 2t+1 tacte a sindromului S 1 , se aplica circuitului de coincidenta P impreuna cu semnalul S 1 astfel ca iesirea din P va avea numai componentele comune din S 1 si S 2 . Scriem sindromul S 2 : S 2 (x)= x 2t +1 * S 1 (x)= E 1 (x)*x 2t +1 + E 1 (x)*x 4t + 2 + E c (x)* x 3t + 2 Si deci 52

P= S 1 (x) ∧ S 2 (x)= E 1 (x)*x 2t +1

(4.24)

Sumatorul de iesire, R, ofera semnalul i r ca suma a doua semnale, primul sosit din canal, i 2 , iar al doilea oferit de circuitul de coincidenta, P, deci, coniderand relatiile (4.23) si (4.24) obtinem: i r (x)= i 2 (x)+ S 1 (x) ∧ S 2 (x) i r (x)=i(x)*x 3t +1 + E 1 (x)*x 2t +1 + E 1 (x)*x 2t +1 =i(x) *x 3t +1 din ultima relatie se vede ca iesirea i r a decodorului contine semnalul secventei de informatie, i(x) decalat cu 3t+1 intervale de tact si cu erorile E 1 (x) eliminate prin procesul de decodare. Problema. Nu se cunoaste parametrul t al codului convolutional tip Fink-Hagelbarger, corector de pachete de erori. Daca se transmite in linie informatie cu un debit de 2000 bit/secunda, iar perturbatia care deformeaza semnalul are o durata de 10 ms, cat trebuie sa fie t, cayt este intervalul de siguranta si cat este lungimea de constrangere, dar lungimea pachetului de erori? R: t=10; I=41 ms(82 bits); n=22; l ≤ 20 bits. Problema. Pentru codul de mai sus care va fi polinomul erorii secventei de informatie, daca sindromul receptiei are expresia: 0000 0000 0101 0100 1000 0100 0000 1110 1010 0100 R=x 20 +x 22 +x 24 +x 27 Problema. Pentru codul de mai sus avand insa t=5 si informatia de forma: i(x)=x 30 +x 32 +x 33 +x 38 care va fi secventa emisa in linie, dar secventa receptionata cu erorile definite prin polinoamele: E 1 (x)= x 30 + x 33 ; E c (x)=x 31 + x 32 Care va fi expresia polinomiala a sindromului? R: V=000101000100001010011000010100110000000001… ↑

53

x 23 V’=000101000100010011000000010101110000000001… S(x)= x 24 +x 27 + x 31 + x 32 +x 35 + x 38 4.4. DECODAREA SECVENTIALA A CODURILOR CONVOLUTIONALE Sub aceasta denumire este cunoscuta o metoda pprobabilistica de decodare a codurilor convolutionale, in care caracterul convolutional este pregnant, iar cel probabilistic este evidentiat atat prin considerarea particulitatilor canalului cat si prin parametrii introdusi in calcule, asa cum se va vadea in continuare. 4.4.1.Graful de codare Codul convolutional ce va fi decodat secvential, se codeaza sau cu o matrice generatoare,sau cu polinoame generatoare. In mod obisnuit secventa codata, v(x), contine in fiecare grupa un bit de informatie urmat de unul sau doi biti de control: V(x)=i(x); c 1 (x); c 2 (x) Fiecare secventa de control se compune cu un polinom generator propriu, c 1(x)=i(x)*h 1 (x); c 2 (x)=i(x)*h 2 (x) avand gradul egal cu 3 sau 4, ceea ce inseamna ca se va obtine o lungime de constrangere egala cu 4 sau 5. Atat i(x) cat si c 1(x) si c 2 (x) contin termini cu x la toate puteriile incepand cu 0. In canal se va transmite pentru fiecare bit de informatie trei simboluri reprezentand pe i(x), pe c 1(x) si c 2 (x). Considerand un graf construit prin ramnificatie in doua directi a fiecarui nod, o directie pentru simbolul 0 iar a doua pentru simbolul 1 din secventa de informatie. Existentei unei anumite secvente de informatie ai corespunde un anumit traseu in arboreal astfel construit. Pe fiecare ramura a acestui graf se poate nota secventa de cod ce corespunde emisiei secventei de informatie considerat, dependenta de polinoamele generatoare. In figura 4.7 se prezinta un graf de codare pentru un cod convolutional cu h 1 (x)=1+x 2 +x 3 si h 2 (x)=1+x+x 3 Daca pentru i(x) se scrie: 54

i(x)=a 0 *x 0 +a 1 *x 1 +a 2 *x 2 +a 3 *x 3+a 4 *x 4 … Atunci pentru polinoamele de control se obtine: c 1(x)= a 0 *x 0 +a 1 *x 1 +(a 0 +a 2 )*x 2 +( a 0 + a 1 +a 3 )* x 3+( a 1 +a 2 + a 4 )* x 4 … c 2 (x)=a 0 *x 0 +(a 0 + a 1 )* x 1 +(a 1 +a 2 )*x 2 +(a 0 +a 2 +a 3 )* x 3+(a 1 +a 3 +a 4 )* x 4 … In graf sa notat, deasupra arcelor, valoarea simbolurilor de informatie, iar dedesubt secventa de cod corespunzatoare. In partea superioara sa notat variabila x. Pentru o secventa de informatie i=10100.., drumul strabatut la emisie este desenat ingrosat, iar secventa emisa in canal va fi: v=111001101010010.. Decodarea secventiala urmareste reconstituirea drumului parcurs la codare, facand analize statistice. Pentru un simbol oarecare se analizeaza secventa in care apare acest symbol de informatie si inca 3 sau 4 secvente care urmeaza. In acest fel inainte de a se lua o decizie asupra unui bit se vor receptiona inca 3-4 grupe de simboluri si se vor analiza 2 3 -2 4 drumuri posibile in graful de codare. Decizia se va lua statistic analizand probabilitatea fiecarui drum de a se fi urmat la emisie, atunci cand se cunoaste secventa receptionata. Dupa luarea deciziei asupra unui

55

nivel

x0

x1

x2

x3

x4

Fig. 4.7. simbol, se va analiza simbolul urmator intr-o maniera asemanatoare, procesul decurgand secvential. Daca drumulreconstruit este correct, si are n biti emisi, acesta va avea drept correspondent o secventa care difera de cea emisa in pn pozitii, p fiind rata erorilor din canal (pK1 ; P1 = D(101:110) = 1 < K1 După nivelul unu de testare nu se poate decide asupra bitlui at , existând indicii că ar putea fi at=1. Nivelul doi de testare se face faŃă de K2 , construind patru funcŃii de plauzabilitate, corespunzătoare celor patru secvenŃe posibile a fi emise, pentru secvenŃa receptionată: n1' n2' = 010101 , primele 6 simboluri recepŃionate n10 n20 = 001010, P00 = D(010101 : 001010) = 5 > K 2 58

n10 n12 = 001101, P01 = D (010101 : 001101) = 2 < K 2

n11n20 = 110011, P10 = D(010101 : 110011) = 4 > K 2

n11n12 = 110100, P11 = D(010101 : 110100) = 2 < K 2

Nefiind împlinit pragul testului (6), nu se poate lua decizia. Conotăm ca până acum în prima etapă at=1 avea şanse mari de a se confirma. În a doua etapă at=1 şi at=0 au obŃinut şanse egale, funcŃia de plauzabilitate fiind de aceaşi valoare pantru două drumuri, unul începând cu at=1, iar celălalt începând cu at=0. trecerea de la prima atapă la a doua etapă a decurs în favoarea ipotezei at=0. Continuăm cu etapa a treia. Vor fi opt funcŃii de plauzabilitate. Nu vom scrie pe cele care au ca prime doua secvenŃe n10 n20 sau n11 n20 , acestea avân deja în etapa anterioarăfuncŃia de plauzabilitate mare. Vom scrie doar pentru acelea ce derivă din funcŃiile de plauzabilitate cu valori mici. n1' n2' n3' = 010101011 n10 n12 n30 =001101010 , P000=3 =K3 n10 n12 n31 =001101111

, P011=3 =K3 n n n =110100000 , P110=4 >K3 n11n12 n31 =110100111 , P111=3 =K3 1 1 0 1 2 3

După etapa a treia, avem trei dintre cele opt funcŃii de plauzabilitate egale cu pragul de testare, nu putem lua decizia dar constatăm că a crescut gradul de încredere în ipoteza at=0, deoarece două din cele trei funcŃii cu valoare minimă conduc la această concluzie. Etapa a patra se va calcula pentru şase funcŃii, corespunzătoare celor trei funcŃii de plauzabilitate de egală valoare din etapa a treia: n1' n2' n3' n4' = 010101011010 n10 n12 n30 n40 = 001101010010 , P0100 = 3 < K4 n10 n12 n30 n14 = 001101010101 , P0101 = 6 > K4 n10 n12 n31 n40 = 001101111011 , P0110 = 4 = K4 n10 n12 n31 n14 = 001101111100 , P0111 = 5 > K4 n11n12 n31 n40 = 110100111000 , P1110 = 4 = K4

n11n12 n31 n14 = 110100111111 , P1111 = 5 > K4

Acum se poate lua decizia, secvenŃa sosită fiind distanŃată de cea emisibilă sub forma 001101010010 , la o distanŃă mai mică decât pragul K4=4 . Se poate constata că at=0 şi că ar fi fost greşit să se decidă at=1 după 59

aprecierea distanŃei Hamming din etapa întâia, în care at=1 părea mai posibilă decât at=0. 4.5

COMPARAłIA CODURILOR DETECOARE ŞI CORECTOARE DE ERORI

4.5.1 CondiŃiile comparaŃiei codurilor O comparaŃie între mai multe coduri, ce pot fi luate în funcŃie de implemetarea unui sistem de transmisie numerică, cu scopul luării unei decizii asupra codului ce va fi utilizat., implică o analiză din care să rezulte, în condiŃiile date ale aplicaŃiei, care cod este mai eficient. Calitatea de cod corector nu este suficientă pentru a alege, doarece un astfel de cod este mult mai redundant decât un cod corector de erori, iar acesta este el însuşi mai redundant decât codul neprotejat la zgomotele din canal. Ori, cu cŃt este mai redundant un cod, cu atât este mai scumpă transmisia şi s-ar putea obŃine o transmisie mai economică, la aceaşi calitate, cu un cod mai simplu. Analiza trebuie să ia în discuŃie costuri, viteze de transmisie, complexitatea in exploatare etc. Aprecierea eficienŃei oricărui cod, trebuie făcută si din punctul de vedere al utilizatorului, care solicită o transmisie cu un grad precizat de fidelitate, de asemănare între semnalul predat spre transmisie şi cel primit la celălalt capăt al canalului. O comparaŃie care Ńine seama de fidelitatea transmisiei, face considerând constante anumite mărimi, cum ar fi puterea emisiei, puterea zgomotului din canal, viteza de transmisie a mesajelor către utilizator. 4.5.2 ComparaŃie între coduri corectoare de erori Vom accepta existenŃa a două coduri corectoare de erori R1 şi R2 cu parametrii n1,k1,e1; n2,k2,e2, reprezentând numărul simbolurilor din cuvântul de cod, numărul simbolurilor de informaŃie din cuvântul de cod şi numărul de erori corectabile. Indicele 1 respectiv 2 se referă la la primul respectiv la al doilea cod supuse comparaŃiei. Acceptăm de asemenea ca beneficiarul primeşte mesajul cu viteza de q biŃi/secundă. Puterea emiŃătorului este aceaşi pentru ambele coduri şi aceaşi este şi puterea zgomotului din canal. O constatare sumară, calitativă , se face imediat. Dacă codul R1 este mai capabil de a corecta erori decât R2, adică e1/n1>e2/n2, atunci R1 este mai redundant şi, la viteza q=constant, trebuie să aibă, relativ la al doilea cod, mai mulŃi biŃi utilizaŃi la protecŃie, adică (n1-k1)/n1>(n2-k2)/n2 , ceea ce va însemna că, durata unui bit va fi mai mică, deci frecvenŃa în canal va fi mai 60

mare şi puterea zgomotului care trece prin filtrul de la intrare, de bandă mai largă, va fi mai mare, evident conducând la creşterea ratei erorilor. De aici se vede că , dacă e1>e2, nu înseamnă neaparat că codul R1 este mai bun decât codul R2. În analiza care o facem acceptăm că, la orice transmisie, probabilitatea eronării unui bit nu depinde de poziŃia bitului în cuvântul de cod transmis. Acceptăm de asemenea că eronarea sau recepŃia corectă a unor simboluri, sunt procese independen1te, necorelate între ele, precum şi faptul că rata erorilor în canalele de transmisie este suficient de mică, pentru ca uneori să se poată face aproximaŃia 1-p = 1 , p fiind probabilitatea eronării unui bit la trecerea prin canal. Pentru n1,k1,e1, ori de câte ori numărul erorilo manifestate în cuvântul transmis este mai mic sau egal cu e1, schema de decodare va face corecŃia necesară. Dacă numărul erorilor este mai mare decât e1, se va lua o decizie falsă asupra semnalului recepŃionat. Probabilitatea deciziei falese sau probabilitatea deciziei corecte , poate fi un criteriu de comparaŃie între cele două coduri corectoare de erori. Fie p1 probabilitatea de eronare a unui bit la transmisia codului R1. probabilitatea luării unei decizii false asupra unui cuvânt, atunci când sunt prezente mai multe erori decât aste capabil codul să corecteze se scrie relaŃia: Pe1 =

n1

∑C

i = e1 +1

i n1

p1i (1 − p1 ) n1 −1

(4.27)

în care intervine p1i pentru că sunt i evenimente independente constituite de erori de un bit, fiecare având probabilitatea p1 şi n-i evenimente, de asemenea independente, constituite de recepŃia corectă a celorlalŃi n-1 biŃi. Se ia în combinări din n câte i, pentru că atâtea secvenŃe diferite se pot recepŃiona, în fiecare existând i biŃi eronaŃi şi n-i biŃi corecŃi, aranjaŃi cumva. Însumarea pe domeniul e+1÷n se face, pentru că numai când numărul de erori din cuvântul recepŃionat este mai mare ca e1 se ia deci o decizie falsă. Limita superioară a numărului erorilor este n1, când toŃi biŃii sunt eronaŃi. În cazul transmisiei informaşiei cu cel de al doilea cod, probabilitatea deciziei false asupra unui cuvânt recepŃionat va fi asemănător relaŃiei (4.27) Pe 2 =

n2

∑C

i = e2 +1

i n2

p 2i (1 − p 2 ) n2 −1

(4.28)

Drept criteriu de fideliate acceptată de beneficiarul transmisiei, vom considera probabilitatea deciziei corecte asupra unei cantităŃi de simboluri 61

binare, aceaşi pentru ambele coduri, conŃinută în N1 cuvinte transmise prin codul R1 ca şi în N2 cuvinte transmise prin codul R2. Evident N1k1=N2k2. Dacă 1-Pe1 este probabilitatea luări unei decizii corecte asupra unui cuvânt recepŃionat la transmisia codului R1, iar 1-Pe2 este probabilitatea similară la transmisia codului R2, conform criteriului de fidelitate acceptat mai sus, se va considera că R1 este mai eficient decât R2 adică

(1 − Pe1 )N

> (1 − Pe 2 )

N2

(4.29) În relaŃia (4.29) cele două părŃi ale inegalităŃii exprimă probabilitatea intersecŃiilor unor evenimente independente şi de egală probabilitate (deciziile corecte luate asupra cuvintelor codurilor R1 respectiv R2). 1

Deoarece 11-

0 prin:

ω>0

2 | X T ( ω) |2 (k) = 2Q T ( ω) (ω) = T (k)

SX

(k)

În cazul în care se consideră că întreaga realizare T tinde la infinit, rezultă puterea medie a semnalului, presupunând existenŃa limitei: ∞

1 (k) P = T lim ∞ PT = T lim ∞ QT (ω)dω ∫ 2π −∞ Această presupunere este justificată deoarece semnalul are întotdeauna o putere finită. Deoarece nu ne interesează puterea unei realizări particulare (k), ci puterea medie a semnalului aleator înainte de a trece de la limită în relaŃia de mai sus se face o mediere peste toate realizările şi obŃinem puterea medie: ( k)

( k)





1 1 (k) P = T lim∞ QT (ω)dω = Q X ( ω)dω ∫ 2 π −∞ 2π −∫∞

| X T (ω) |2 Q X ( ω) = T lim ∞ T ( k)

este densitatea spectrală de putere DSP. DSP se poate definii şi pentru frecvenŃele ne negative: U(ω)=1 , dacă ω>=0 SX ( ω) = 2Q X ( ω) U( ω) U(ω)=0 , dacă ω qp ' ( x ) >> q 2 p '' ( x ) >> q (e ) p (k ) ( x ) atunci se poate face o analiză calitativă a cuantizării → x(t), xq(t) – semnale. VariaŃia zgomotului de cuantizare este în plaja unei cuante (±q/2). Un cuantizor are caracteristica de transfer din figură: xq niveluri de refacere cuantă

x

q3

Caracteristicile statice ale

x q2

semnalelor cuantizate

x q1 Ik- interval de decizie x(-3)

x(-2)

x(-1) x1

x2

x3

x q −1

x q −2

niveluri de decizie

x q −3 Fie un semnal aleator x(t) cu densitatea de repartiŃie a probabilităŃii p(x) care este supus cuantizării într-un cuantizor cu nivelurile de decizie {x k }k∈Z şi cele de refacere x qk k∈Z . Semnalul aleator cuantizat xq(t) se obŃine astfel:

{ }

84

TTI

Pentru fiecare moment de timp t ,xt este o variabilă aleatoare continuă căreia îi facem să-i corespundă o variabilă aleatoare discretă ale cărei valori posibile {(xqt)k∈Z se obŃin din relaŃia:

(x )

qt k

= x qk

dacă

şi are densitatea de probabilitate:

x qt ∈ I k

(

pq (x) = ∑ pk δ x − x qk k∈Z

unde:

)

xk

p k = ∫ p(x )dx x k −1

Procesul este ilustrat în figură:

Media semnalului de la ieşirea cuantizorului este:

M(x k ) = ∑ Pk x qk

( )

k∈Z

M x q2 = ∑ Pk x q2k k∈Z

(

Pq (x ) = ∑ Pk δ x − x qk k∈Z

)

4.5 ModulaŃia delta ModulaŃia delta este o cuantizare diferenŃială pe un bit n=1. Prin canal se transmite un singur bit, acesta purtând informaŃia despre semnalul diferenŃei, deci despre tendinŃa de variaŃie pe care o are semnalul la emisie. La recepŃie se va adăuga sau se va scădea o cuantă la semnalul anterior reconstituit, după cum valoarea recepŃionată este 0 sau 1. Dacă cuanta este constanta, independentă de semnalul transmis, vorbim despre modulaŃia delta uniformă. Dacă cuanta se poate modifica în funcŃie de semnal vorbim despre modulaŃia delta adaptivă.

85

TTI

4.5.1 ModulaŃia delta uniformă Dacă cuantizarea diferenŃială cu predicŃie se face pentru n=1, a1=1 aj=0 pentru j≠1, atunci se obŃine modulaŃia delta uniformă. Predictorul este acum un integrator care adună sau scade o cuantă după cum este semnalul diferenŃă cuantizat pe un singur bit. In figură este prezentat semnalul x(t) ce se transmite şi semnalul x*(t) reconstituit la recepŃie, pentru a se pune in evidenŃă diferenŃele, erorile ce apar în cuantizarea cu un singur bit.

Se văd erorile de neurmărire, apărute atunci când variaŃia semnalului de la intrare este mai mare decât variaŃia posibilă a semnalului de la ieşire, aceasta din urmă fiind dependentă de cuantă şi de frecvenŃa de eşantionare. Erorile de neurmărire nu apar dacă viteza de variaŃie a cuantei este mai mare decât viteza de variaŃie a semnalului. 1 q T= > x ' (t ) ; fe T Se poate micşora sau mărind cuanta sau mărind frecvenŃa de eşantionare. Se văd erorile de granulare care apar atunci când semnalul de la intrare este constant dar semnalul de ieşire variază deasupra sau dedesubtul acestuia. Eroarea de granulare poate fi micşorată scăzând q. O schemă aplicabilă care realizează modulaŃia delta este prezentată in figură.

Cuantizorul generează un semnal binar bi în funcŃie de diferenŃa dintre eşantionul curent xi şi eşantionul anterior reconstituit xi-1* bi = sgn( xi − xi*−1 ) Eşantionul reconstituit actual xi se obŃine printr-o însumare xi* = xi*−1 + qbi (= xi −1 ± q ) Blocul care însumează şi amplifică cuanta q ar putea fi un numărător reversibil continuat cu un CAN. Cuantizorul ar putea fi realizat printr-un comparator la intrările căruia se aplică xi şi xi-1*.

86

TTI

Dacă cuanta q este mare se obŃin erori de neurmărire mici şi erori de granulare mari. Dacă q este mică se obŃin erori de neurmărire mari şi erori de granulare mici. O situaŃie de compromis în urma căreia raportul δ/te este minim se obŃine dacă se adaugă f ε ptim = ( xi − xi −1 ) 2 ln e unde fmax este banda semnalului. f max 4.5.2 ModulaŃia delta adaptivă Reducerea erorii de cuantizare se poate face reducând eroarea de neurmărire, prin creşterea cuantei şi reducând eroarea de granulare prin micşorarea cuantei, deci utilizând o schemă cu cuantă adaptată la nivelul semnalului şi chiar la nivelul de variaŃie al acestuia. kt q > x ' (t ) T Metoda cuantelor exponenŃial variabile utilizează o cuantă dependentă de cea anterioară şi de semnalele transmise conform relaŃiilor : bi = sgn( xi − xi*−1 ) bi = ±1 ; q i = q i −1 P bi bi −1 deci q i = qi −1 P ±1 xi* = xi*−1 + bi q i deci xi* = xi*−1 ± qi dar nu mai mică decât q0 – cuanta minimă. Pentru începutul transmisiei când i=1 se consideră q1=q0 şi b0=0. Se vede deci că se face diferenŃa între semnalul actual xi şi cel anterior reconstituit xi-1*, iar semnalul diferenŃă se transmite. Viitoarea cuantă qi se va adaugă la xi-1* cu semnalul dat de bi şi este calculată ca produsul dintre valoarea cuantei qi-1 şi P ±1 , ± 1 fiind dat de produsul bibi-1. In mod uzual 1 0 ; tot aşa cum P(r/S1) şi P(r/S0) >0 Pentru ca riscul să fie minim este necesar ca integrala pe ∆0 să fie minimă. Deoarece toŃi termenii sunt pozitivi integrala este minimă dacă domeniul ∆0 conŃine toate punctele pentru care : P(S1) ( C01 - C11) P( r / S1) < P(S0) (C10 – C00)P( r /S0) (5) Cu alte cuvinte limita de separare dintre domeniile ∆0 şi ∆1 se scrie prin egalitatea termenilor relaŃiei (5) Decizia D0 se ia deci dacă : D0

P(r / S1 ) P(S0 )(C10 − C00 ) < P(r / S0 ) P(S1 )(C01 − C11 ) Datorită complementarităŃii decizia D1 se ia în cazul contrar şi se demonstrează că dacă (3) este redus la domeniul ∆1:

90

Curs TTI

D0 P(S0 )(C10 − C00 ) P(r / S1 ) P(r / S0 ) P(S1 )(C01 − C11) D1 Se observă că în relaŃia de mai sus este cunoscută partea dreaptă deoarece s-au presupus date valorile costului şi statistica sursei .

K=

P(S0 )(C10 − C00 ) P(S1 )(C01 − C11 )

K – se numeşte pragul testului Bayes care se compară cu raportul: Λ=

P(r / S1 ) P(r / S0 )

- denumit raportul de plauzibilitate

Raportul de plauzibilitate depinde numai de caracteristicile statistice ale zgomotului din canal şi se calculează pe baza semnalelor recepŃionate. 5.1.2 Criteriul observatorului ideal Acest criteriu de luare a deciziei rezultă din probabilitatea erorii definită astfel: P(E) = P(S0) P(D1 / S0) + P(S1) P(D0 / S1) Considerând relaŃiile : P(D0 / S0) = ∫∆0 P( r / S0) dr P(D1 / S0) = ∫∆1 P( r / S0) dr P(D0 / S1) = ∫∆0 P( r / S1) dr P(D1 / S1) = ∫∆1 P( r / S1) dr probabilitatea erorii devine : P(E) = P(S0) ∫∆1 P( r / S0) dr + P(S1) ∫∆0 P( r / S1) dr dar : P(D1 / S0) + P(D0 / S0) = P(D1 / S1) + P(D0 / S1) = 1 deci : P(D1 / S0) = 1 - P(D0 / S0) = 1 - ∫∆0 P( r / S0) dr şi deci : P(E) = P(S0) [ 1 - ∫∆0 P( r / S0) dr ] + P(S1) ∫∆0 P( r / S1) dr = P(S0) + ∫∆0 [ P(S1) P(r / S1) – P(S0)P(r / S0) ] dr Probabilitatea erorii este minimă dacă domeniul ∆0 conŃine acele puncte pentru care : P(S0) P( r / S0) > P(S1) P( r / S1) Criteriul de decizie care rezultă este:

D0 Λ=

P( S 0 ) P ( r / S1 ) =K P(r / S 0 ) P ( S1 )

D1 Comparând criteriul observatorului ideal cu cel al lui Bayes se observă că ele coincid dacă în cel de al doilea se cere C00 = C11 = 0 şi C01 = C10 = 1, în acestă situaŃie riscul G fiind egal chiar cu probabilitatea erorii: G = P(S0) P(D1 /S0) + P(S1) P(D0 /S1) = P(E) Se vede că luând decizia conform criteriului observatorului ideal, minimizarea probabilităŃii erorii este echivalentă cu minimizarea riscului. Acest criteriu se utilizează când nu se pot preciza valorile costurilor. 5.1.3 Criteriul probabilităŃii aposteriori maxime Conform acestui criteriu receptorul ia decizia pentru care probabilitatea aposteriori a simbolurilor emise de sursă este maximă. Probabilitatea aposteriori este probabilitatea de

91

Curs TTI a se fi emis un anumit simbol, calculată după recepŃia semnalului. În consecinŃă receptorul ia decizia D0 dacă după recepŃia semnalului este satisfăcută inegalitatea: P(S0 / r) > P(S1 / r) sau : P(S1 / r) - P(S0 / r) < 0 şi se ia decizia D1 în caz contrar. Calculul probabilităŃii aposteriorii se face utilizând relaŃia lui Bayes, care presupune cunoscute probabilităŃile apriori P(S0) şi P(S1) precum şi caracteristicile canalului. P( S 0 ) p (r / S 0 ) P(S0/r) = P ( S 0 ) p ( r / S 0 ) + P ( S1 ) p ( r / S 1 ) P(S1/r) =

P ( S1 ) p ( r / S1 ) P ( S 0 ) p ( r / S 0 ) + P ( S1 ) p ( r / S 1 )

În consecinŃă:

P ( S1 ) p ( r / S1 ) − P ( S 0 ) p ( r / S 0 ) P ( S 0 ) p ( r / S 0 ) + P ( S1 ) p ( r / S 1 ) În relaŃia de mai sus, numitorul fiind pozitiv, rezultă: P(S1)p(r/S1) < P(S0)p(r/S0) care conduce la criteriul de decizie P(S 0 ) p ( r / S1 ) Λ= < →D0 p(r / S 0 ) P ( S1 ) P(S 0 ) p ( r / S1 ) > →D1 Λ= p(r / S 0 ) P ( S1 ) ceea ce înseamnă că în fond criteriul probabilităŃii aposteriori maxime este un caz particular al criteriului Bayes (C00=C11 =0 C01=C10=1) şi coincide cu criteriul observatorului ideal. P(S1/r) – P(S0/r) =

5.1.4 Criteriul min-max Dacă nu avem cunoştinŃe asupra probabilităŃilor apriori P(S0) respectiv P(S1), nu putem aplica nici unul din criteriile prezentate mai sus. În acest scop considerăm drept variabilă independentă probabilitatea P(S1) şi calculăm riscul minim cu metoda lui Bayes, acesta devenind o funcŃie de P(S1). În general această funcŃie cu riscul mediu minim nu este o constantă, având undeva un maxim. Din determinarea maximului rezultă o relaŃie între costuri şi probabilităŃile deciziilor false de tipul ∑ Cij P(Di/Sj)i≠j=0 denumită relaŃie minmax. Metoda aceasta de decizie este acoperitoare deoarece rareori se întâmplă ca P(S1) să aibă tocmai valoarea care maximizează riscul, fiind dese cazurile contrare, în care riscul real este inferior celui acceptat ca maxim. Regula de decizie urmează să depindă de costuri şi de probabilităŃile deciziilor. Din expresia riscului înlocuind P(S0)=1-P(S1) obŃinem G = P(S1)P(D1/S1)C11+ P(S1)P(D0/S1)C01+ P(S0)P(D0/S0)C00+ P(S0)P(D1/S0)C10= = P(S1)P(D1/S1)C11+ P(S1)P(D0/S1)C01+ [1-P(S1)]P(D0/S0)C00+[1-P(S1)]P(D1/S0)C10 ∂G iar maximul se obŃine dacă =0 ∂P ( S1 )

92

Curs TTI ∂G = P(D1/S1)C11+ P(D0/S1)C01- P(D0/S0)C00- C10 P(D1/S0) = 0 ∂P ( S1 ) Dar: P(D0/S1)+ P(D1/S1)= P(D0/S0)+ P(D1/S0) = 1 şi prin urmare relaŃia devine: C11- C11 P(D0/S1)+ P(D0/S1)C01- C00 P(D1/S0) = 0 sau C11- C00+( C01- C11)P(D0/S1)- (C10- C00)P(D1/S0) = 0 Aceasta este ecuaŃia minmax care arată legătura între costuri şi probabilităŃile deciziilor false, pentru ca riscul să fie maxim. Dacă C00= C11=0 şi C01= C10=1 avem P(D0/S1)= P(D1/S0) drept ecuaŃie minmax. Regula de decizie trebuie înŃeleasă că numai un set de probabilităŃi şi costuri duc la riscul maxim.

5.1.5 Criteriul Neuman-Pearson În multe cazuri nu dispunem nici de valorile costurilor şi nici de probabilităŃile apriori ale semnalelor emise şi nici nu acceptăm valori arbitrare pentru acestea. Dorim să obŃinem un criteriu de decizie conform căruia probabilitatea unei decizii false să nu depăşească o valoare dată, iar cealaltă decizie falsă să aibă probabilitatea minimă. Pentru obŃinerea regulii de decizie vom utiliza metodologia multiplicatorilor Lagrange considerând o funcŃie dependentă de cele două probabilităŃi ale deciziilor false: F = P(D0/S1)+λ [P(D1/S0)-a] sau F = P(D0/S1)+λ(1-a)-)-λP(D0/S0) în care λ este un multiplicator încă necunoscut, iar “a” este limita pe care nu o va depăşi probabilitatea deciziei false P(D1/S0). FuncŃia F are un minim pentru valoarea minimă a probabilităŃii P(D0/S1). Vom introduce relaŃiile integrale ale probabilităŃilor şi obŃinem: F = ∫ p(r / S1 )dr + λ (1 − a) − λ ∫ p(r / S 0 )dr ∆0

∆0

FuncŃia F are un minim când integrala: ∫ [ p(r / S1 ) − λp(r / S 0 )]dr este minimă ∆0

adică dacă în ∆0 avem toate punctele pentru care: p(r/S1) < λ p(r/S0) sau:

p ( r / S1 ) λ → D1 p(r / S 0 ) p ( r / S1 ) Λ= < λ → D0 p(r / S 0 ) Pragul testului λ urmează a se deduce din constrângerea impusă probabilităŃii: P(D1/S0) < a Costatăm că se ia decizia D1 când s-a transmis S0 în toate cazurile în care Λ condiŃionat de S0 este mai mare ca λ. P(D1/S0) = P[(Λ>λ)/S0] =



∫λ

p(Λ / S 0 )dΛ

Integrala din relaŃia de mai sus nu poate depăşi valoarea a în consecinŃă

93

Curs TTI ∞

∫λ

p(Λ / S 0 )dΛ = a

este utilizabilă pentru calculul lui λ, evident fiind nevoie de cunoaşterea distribuŃie de probabilitate a raportului de plauzibilitate Λ.

5.2 DetecŃia discretă a semnalului binar Considerăm cazul transmisiei unui semnal binar care are la recepŃie amplitudinea A şi perioada sau durata T. RecepŃia este coherentă adică se cunosc momentele la care încep să se transmită semnalele. Semnalul emis are o formă ca în figură şi soseşte la recepŃie acoperit de un zgomot alb cu distribuŃie gaussiană şi putere σ2. s(t); r(t)=s(t)+z(t) S0 s(t)= s(t) S1 T A tII tIII tIV tV tVI t 0 tI Din semnalul recepŃionat se extrag N eşantioane care se vor prelucra. Analiza decizională se face calculând raportul de plauzibilitate, în care vor intra densităŃi de probabilitate ale eşantioanelor recepŃionate. Vor interesa în mod deosebit analizele asupra valorilor probabilităŃilor deciziilor corecte şi false, acestea oferindu-ne posibilităŃi de apreciere calitativă asupra procedeului de detecŃie. Din aceste probabilităŃi se va putea construi caracteristica de lucru a receptorului din care putem vedea oricând calitatea detecŃiei binare. 5.2.1 Calculul raportului de plauzibilitate Dacă se transmite S0=0 la recepŃie se obŃine zgomotul alb, ceea ce înseamnă că cele N eşantioane luate de receptor vor fi: r1=n1; r2=n2,…,rN=nN în care ni reprezintă eşantioane ale zgomotului alb. Evident aceste eşantioane sunt luate toate în intervalul de timp T cât durează emisia lui S0=0. Cele N v.a. sunt independente având distribuŃia gaussiană cu valoare medie nulă şi dispersie σ2 deoarece provin din zgomotul alb. Densitatea de probabilitate a zgomotului alb este: 1 n2 P(n) = exp[] 2σ 2 2Πσ 1 (n − a ) 2 exp[] P(n) = 2σ 2 2Πσ ___ Densitatea de probabilitate a fiecărui eşantion ni i =1..N va fi: n2 1 P(ni) = exp[- i 2 ] 2σ 2Πσ Probabilitatea p(r/S0)=p(n1,.., nN\S0) şi, deoarece cele N v.a. sunt independente, va ă fi egal cu produsul probabilităŃilor p(n1\S0), p(n2\S0), .., p(nN\S0) deoarece este vorba de intersecŃia a N v.a. independente realizate în ipoteza transmiterii lui S0.

94

Curs TTI Deci p(r/S0)= p(n1, n2, .., nN\S0)= p(n1\S0)p(n2\S0)...p(nN\S0). łinând cont de relaŃiile de mai sus avem: N ri 2 1 N 2 1 1 N P(r/S0) = ∏ exp[] = [ ] exp[∑ ri ] 2σ 2 2σ 2 i =1 i =1 2Πσ 2Πσ Dacă se transmite simbolul S1 de amplitudine A, la recepŃie raportul va lua eşantioane din valoarea lui A+Z(t). Aceasta înseamnă că eşantioanele vor avea valorile: r1=A+ n1; r2=A+ n2, …, rN=A+ nN în care ni reprezintă v.a. gaussiene de medie A şi dispersie σ2. Deoarece eşantioanele sunt independente se va putea scrie: n

P(r/S1) = p(r1, r2, …, rN\S1) = p(r1/S1) p(r2/S1)… p(rN/S1) =



p(ri/S1)

i =1

deci N

P(r/S1) =



1

exp[-

1

(ri-A)2] = [

1

]Nexp[-

N

1

∑ (r

2σ 2σ i =1 2Πσ 2Πσ Acum se poate calcula raportul de plauzibilitate: 1 1 N [ ] N exp[− 2 ∑ (ri − A) 2 ] p ( r / S1 ) 2σ i =1 2Πσ Λ= = = 1 1 N p(r / S 0 ) [ ] N exp[− 2 ∑ ri 2 ] 2σ i =1 2Πσ i =1

2

2

i

− A) 2 ]

NA 2 A N ]exp[ 2 ∑ ri ] 2 2 2σ 2σ σ i =1 i =1 i =1 Raportul de plauzibilitate se poate deci calcula cunoscându-se valoarea semnalului A, numărul N al eşantioanelor luate de receptor în intervalul de timp T, puterea zgomotului σ2 şi valorile eşantioanelor ri. Dacă se cunosc probabilităŃile apriori P(S0), P(S1) şi Cij se poate aplica testului lui Bayes. În lipsa parŃială sau totală a acestora se poate aplica un alt criteriu. Fie Λ < K → D şi Λ > K → D1 aplicăm funcŃia monotonă ln: lnΛ < lnK → D0 lnΛ > lnK → D1 2 NA A N + ∑ ri < lnK → D0 2σ 2 σ 2 i =1

= exp[-

1

N

N

[∑ (ri − A) 2 − ∑ ri 2 ]] = exp[-

NA 2 A N + ∑ ri > lnK → D1 2σ 2 σ 2 i =1 sau N

∑r < i =1 N

i

σ2 A

σ2

lnK+

AN → D0 2

(*)

AN → D1 (*) A 2 i =1 Suma eşantioanelor recepŃionate este o statistică suficientă pentru ca pe baza unei singure mărimi să se poată lua decizia

∑ ri >

lnK+

95

Curs TTI

r(t)

D

Σ

E

C τ,A,N,K

Pe baza relaŃiei (*) se poate imagina schema unui receptor …E-eşant, Σ-sumator, C-comparator care compară ieşirea din sumator cu un prag fix pentru a decide D0 sau D1. 5.2.2 ProbabilităŃile deciziilor corecte şi false Ne propunem să calculăm probabilităŃile P(Dj/Sij) care ne vor oferi o imagine asupra eficienŃei procesului de detecŃie acceptat. Pornim de la relaŃia (*) şi amplificând cu 1 obŃinem: σ N N 1 τ A N Z= lnK+ =µ → D0 ri < ∑ 2τ σ N i =1 NA

τ

N

1

A N =µ → D1 2τ σ N i =1 NA Considerãm cã s-a emis S0. Eşantioanele preluate la recepŃie ri/S0 sunt v.a. cu o distribuŃie gausianã, de valoare medie nulã şi dispesie σ. Variabila aleatoare z din relaŃia anterioarã are de asemenea valoare medie nulã şi este normatã cu σz=1. Dispersia acestei v.a. se calculeazã: Z=

∑r > i

lnK+

az =0 s0

z 1 ( σ z ) = Disp.( ) = Disp.[ s0 σ N s0 2

dar

Disp.x =

N

1 N ri ] = 2 ∑ Disp.ri ∑ σ N i=1 i =1



∫ x p ( x )dx 2

Disp.ri = σ2

si

1

−∞

deci

z 1 N ( σ z ) 2 = Disp.( ) = 2 ∑ σ2 = 1 s0 σ N i=1 s0

Ca urmare densitatea de probabilitate a v. a. gausiene Z/ S0 va fi: 1 x1 −a 2 ) σ

− ( 1 2 ( p1 ( x1 ) = e 2 πσ2

p( z / s 0 ) =

a z / s0 = 0

)

1 1 exp( − z 2 ) 2 2π

96

σ z / s0 = 1

Curs TTI Dacã se emite simbolul S1 , eşantioanele preluate ri/S1 sunt v. a. cu media egalã cu A şi dispersia σ2. Variabila aleatoare normatã: N

(z / s1 ) =

∑r i =1

(∑ ri ) = (∑ n i + NA)2 = (∑ ni )2 + 2 NA∑ n i + N 2A2 = Nσ2 + N 2A2

i

2

σ N va avea valoarea medie

 N   ∑ ri  1 a z \S1 =  i=1  = σ N  σ N   iar dispersia :

N

∑ ri = i =1

1 σ

N

NA = N

NA σ

∑A = σ N i =1

ri rj = ( n i + A)( n j + A) = A 2

 1 Disp.( z / s1 ) = Disp.[ ri ] = [ ∑ σ N i=1 σ N 1

=

N

2

NA  ∑ ri − σ  ] = 

1 A NA 2 1 A NA 2 2 2 ( r ) − 2 r + = r − 2 r + ∑i ∑ i σ2 Nσ2 ∑ i σ2 ∑ i σ2 = 1 Nσ 2 σ2

deci: 1 1 A N p(z / s1 ) = [ −  z − σ 2π 2  D0

2

  ]  

Având în vedere cã Z < >µ , rezultã cã probabilitatea luãrii deciziei D0 este egalã D1 cu probabilitatea ca Zµ se ia decizia D1 iar probabilitatea acestei decizii este:

P( D1 ) = P( z > µ) łinând seama de eglitãŃile binecunoscute : P( D1 \ S0 ) + P( D0 \ S0 ) = P( D1 \ S1 ) + P( D0 \ S1 ) = 1 ProbabilitãŃile P(D1\S0) şi P(D0\S0) corespunzãtoare deciziei D1 se obŃin din relaŃiile:

P( D1 \ S0 ) = 1 − P( D0 \ S0 ) = 1 − F(

σ A N σ

ln K +

A N ) 2σ

A N ) 2σ A N Dacã cele douã figuri se pun pe o diagramã comunã constatãm cã p(z\S0) şi p(z\S1) se intersecteazã în punctul : P( D1 \ S1 ) = 1 − P( D0 \ S1 ) = 1 − F(

Z0 =

A N 2σ

98

ln K −

Curs TTI Dacã µ=Z0 atunci probabilitãŃile deciziilor false sunt egale: P( D1 \ S0 ) = P( D0 \ S1 ) Acest lucru impune ca lnK=0 , adicã testului K=1: P(z\S0)

P(z\S1) P(D1\S0)

P(D0\S1)

A N µ 2σ Valorile probabilitãŃilor deciziilor vor fi acum: P( D0 \ S0 ) = P( D1 \ S1 ) = F( −

P( D1 \ S1 ) = 1 −

A N 2σ



−∞

z

A N ) = F( z 0 = µ) 2σ

1 1 exp[− z 2 ]dz = 2 2π

Dacã K>1 , rezultã µ >

A N σ

A N 2σ

A N 2σ



−∞

1 1 A N exp[ − z 2 ]dz = F( ) 2π 2 2σ

şi deci creşte suprafaŃa corespunzãtoare deciziei false

P(D0\S1) şi scade cu aceeaşi cantitate P(D1\S0) Deci K > 1 ⇒ P( D1 \ S0 ) < P( D0 \ S1 ) K < 1 ⇒ P( D1 \ S0 ) > P( D0 \ S1 )

5.3 DetecŃia continuuã a unui semnal binar Vom considera cã observarea semnalelor binare recepŃionate se face în mod continuu. Avem emise S0=0 şi S1=s(t) variabil în timp. Se presupune cã energia E a semnalului s(t) este finitã (E D1 sau într-o altă formă Ńinând seama de T 1 r1 = ∫ s(t )r (t )dt E 0 Disp.γ = γ 2 =

(

)

D0 < E 2 ∫0 r (t )s(t )dt > T0σ ln K + 2 D1 Integrala din relaŃia de mai sus este funcŃia de corelaŃie, evaluată în origine, a semnalului r(t) cu s(t). Pentru a se decide care semnal a fost emis se foloseşte următoarea schemă de receptor multiplicator integrator comparator r(t) → T

M

s(t)

I

C

T0σ2ln k +E/2

T

102

Curs TTI 5.3.3 ProbabilităŃile deciziilor corecte şi false Se rearanjează relaŃia de decizie Ńinând seama că: T 1 r1 = ∫ s(t )r (t )dt atunci E 0 D0 T < E 2 ∫0 r (t )s(t )dt > T0σ ln K + 2 D1 Devine o relaŃie normalizată D0 T 1 ∫ s(t )r (t )dt < T0σ 2 1 E E 0 z= ln k + =µ > E 2 T0 σ 2 T0 σ 2 D1 D0 < Deci z µ > D1 Ca urmare probabilitatea de decizie D0 este egală cu probabilitatea ca z < µ P(D0)=P(z < µ) şi în consecinŃă aşa cum am procedat în cazul deciziei discrete vom avea : u

P (D0 S 0 ) =

∫ p(z s )dz 0

−∞

iar µ

P (D0 S 1 ) =

∫ p(z s )dz 1

−∞

FuncŃia aleatoare z va avea densitate de repartiŃie gaussiană fiind rezultatul prelucrării liniare a unui semnal aleator gaussian r(t) şi rezultă : σ r21 s1 T0σ 2 r s 2 σ z s0 = z s0 = 0 = =1 z s0 = 1 0 2 2 T0σ T0σ T0σ 2

z s1 =

E T0σ

2

σ

2 z1 s1

=

σ r2 s 1

1

T0σ

2

T0σ 2 = =1 T0σ 2

r1 s 0 = 0

σ r2 s = T0σ 2

r1 s1 = E

σ

1

= T0σ 2

r1

z= p( z s 0 ) =

0

2 r1 s1

T0σ 2

 1  exp − z 2  2π  2  1

103

z s1 =

r1 s1 T0σ 2

Curs TTI

p( z s1 ) =

 1 E exp −  z − T0σ 2  2  2π  1

   

2

   

În consecinŃă, trasând graficul acestor densităŃi aşa cum se vede în figură şi precizând valoarea pragului µ cele două probabilităŃi vor fi proporŃionale cu suprafeŃele haşurate din figură. P(z/s1)

P(D1/S0)

P(D0/S0) µ p(z/S1)

P(D1/S0)

P(D0/S1)

µ

P ( D0 S 0 ) =

µ



−∞

2

 1  exp − z 2  dz = F (µ ) = 2π  2  1

 1 E P ( D0 S 1 ) = ∫ exp −  z −  T0σ 2  2 − ∞ 2π  în care s-a folosit integrala Laplace : µ

E T 0σ

1

F (x ) =

   

2

 Tσ2 1 E F 0 ln k +  E 2 T0σ 2 

  E dz = F  µ −  T0σ 2   

1 2π

x

 1

∫ exp− 2 t

−∞

2

2   E  = F  T0σ ln k − 1   E 2 T0σ 2  

 dt 

Dacă Ńinem seama de relaŃiile : P (D0 S 0 ) + P (D1 S 0 ) = P (D1 S1 ) + P (D0 S1 ) vom avea  Tσ2 1 E P(D1 S1 ) = 1 − P(D0 S 0 ) = 1 − F  0 ln K +  E 2 T0σ 2 

104

   

   

   

Curs TTI

 Tσ2 1 E  şi P(D1 S1 ) = 1 − P(D0 S1 ) = 1 − F  0 ln K −  E 2 T0σ 2   Dacă pragul testului lui Bayes este K=1 ştiind că F (− x ) = 1 − F (x ) rezultă că 1 E  P(D0 S1 ) = P (D1 S 0 ) = 1 − F  2 T σ2  0   1 E  P (D0 S 0 ) = P (D1 S1 ) = F  2 T σ2  0   Constatăm o asemănare între probabilităŃile deciziilor detecŃiei continue cu cele corespunzătoare din detecŃia discretă dacă A N = E T0 . Şi în acest caz vom avea : k>1 < P (D1 S 0 ) P (D0 S1 ) > k T0σ ln K + 2 D1 Schema unui asemenea receptor este: S1(t)

M1 r(t)

M2

I1



D0





C D1

I2 S2(t)

105

Bibliografie 1. M. E. Borda, „Teoria informaţiei şi codării ∗ Fundamente şi aplicaţii”, Dacia, ClujNapoca,1999; 2. V. Stoica, A. Mihăescu, „Teoria transmisiunii informaţiei”, I. P. Timişoara, 1990; 3. Al. Spătaru, „Teoria transmisiunii informaţiei”, E. D. P., Bucureşti, 1983; 4. Al. Spătaru, „Fondements de la theorie de la transmission de l’information”, Presses Polytehniques Romandes, Lausanne, 1987; 5. A. T. Murgan, „Teoria transmisiunii informaţiei –probleme”, E. D. P., Bucureşti, 1983; 6. V. Munteanu, „Teoria transmisiunii informaţiei”, E. „Gh. Asachi”, Iaşi, 2001.

CULEGERE DE PROBLEME TIC

Cap. 1 Probabilităţi. Informaţia Dicţionar: - aposteriori (a posteriori) -locuţiune latină: “din ceea ce urmează”, după experienţă, pornind de la datele ei; - apriori (a priori) - locuţiune latină: “din ceea ce precede”, anterior experienţei; - binar -1.care este constituit din două elemente; 2.a cărui bază este numărul 2; - bit/biţi -1. Unitate de măsură a informaţiei; 2.simbol binar; - discret -care este alcătuit din elemente distincte; care variază în salturi; cuantificat; discontinuu; - echiprobabil(e) -de egală probabilitate; - informaţie -necesarul/rezultatul cunoaşterii; - probabilitate -1.însuşirea de a fi probabil; 2.măsură (funcţie) definită pe un câmp de evenimente, p : Ω→[0,1].

Definiţii: - sursă de informaţie (sau experiment probabilistic) = un mecanism (un experiment) prin care se selectează un mesaj (un eveniment) dintre n posibile după o lege arbitrară (sau cel puţin necunoscută); - mesaj (eveniment) = realizarea produsă în urma efectuării experimentului; - 1 bit = cantitatea de informaţie furnizată de o sursă de informaţie binară, fără memorie, echiprobabilă, printr-un mesaj al ei; - eveniment elementar = un eveniment ce nu poate fi definit ca o reuniune de două evenimente distincte între ele şi de primul.

Breviar teoretic: 1. Probabilitate Determinarea experimentală a probabilităţii de realizare a unui mesaj (eveniment) A se face după relaţia: 2. Probabilitate condiţionată Determinarea experimentală a probabilităţii de realizare a evenimentului (mesajului) B atunci când s-a realizat evenimentul (mesajul) A se face după relaţia: 3. Formula fundamentală a probabilităţilor evenimentelor elementare Dacă Ai, i = 1÷n sunt evenimentele elementare ale unui experiment probabilistic (mesajele unei surse de informaţie) atunci: n

∑ p(A ) = 1

(1.3)

i

i =1

4. Relaţia lui Bayes Dacă A şi B sunt două evenimente atunci: p(A, B) = p(A ) ⋅ p(B/A ) = p(B) ⋅ p(A/B) (1.4) unde p(A, B) = probabilitatea de a se realiza şi A şi B. 5. Formula probabilităţii totale Dacă Ai cu i = 1, n sunt evenimentele elementare ale unui experiment probabilistic şi B un eveniment oarecare pentru acelaşi experiment atunci: n

p(B) = ∑ p(A i ) ⋅ p(B/A i )

(1.5)

i =1

6. Evenimente independente Setul de evenimente Ai, i ∈ I, sunt independente dacă şi numai dacă pentru ∀ J ⊂ I p ∩ A i = Π p(A i )

( ) i∈J

i∈J

În particular, A şi B sunt două evenimente independente dacă şi numai dacă:

1

(1.6)

p(A, B) = p(A ∩ B) = p(A ) ⋅ p(B) (1.7) şi utilizând relaţia (1.4) p(A ) = p(A/B) (1.8) p(B) = p(B/A ) 7. Informaţia Cantitatea de informaţie necesară ridicării nedeterminării asupra evenimentului A este egală cu cea furnizată de realizarea evenimentului A şi egală cu : 1 i(A ) = log 2 (1.9) [biţi] p(A )

1.1 Zece mingi sunt puse în trei cutii C1, C2, C3. Care este probabilitatea ca în C1 să fie 3 mingi? Rezolvare: Fiecare minge poate fi aşezată în oricare din cele trei cutii; astfel că fiecare minge triplează numărul de variante de aşezare a mingilor în cutii. Aşadar numărul de variante de aşezare a mingilor în cutii este: N = 3⋅3⋅3 ..... ⋅3 = 310 = 59.049

(1.1.1)

Pentru a avea trei mingi în C1 trebuie ca celelalte şapte să fie aşezate în C2 şi C3. Numărul de variante cu trei mingi în C1 va fi: 3 N 3C1 = C10 ⋅ 2 7 = 120 ⋅ 128 = 15.360

(1.1.2)

unde C103 reprezintă numărul de moduri de alegere a 3 mingi din 10 posibile (considerând mingile distincte); iar 27 reprezintă numărul de posibilităţi de aşezare a şapte mingi în două cutii, C2 şi C3. Probabilitatea cerută este: P3C1 =

3 C10 ⋅ 27 ≅ 26% 310

(1.1.3)

1.2. Trei trăgători trag simultan asupra aceleiaşi ţinte. Probabilitatea ca fiecare trăgător să nimerească ţinta este p1 = 0,4; p2 = 0,5; p1 = 0,7. Notând cu A evenimentul ca ţinta să fie lovită, B evenimentul ca ţinta să fie lovită exact o dată să se afle: a) p(A); b) p(B); c) dacă cele două evenimente A şi B sunt independente. 2

Rezolvare: a) Calculând probabilitatea evenimentului contrar lui A:

()

p A = (1 − p1 ) ⋅ (1 − p 2 )(1 − p 3 ) = 9%

(1.2.1)

rezultă că:

()

p(A ) = 1 − p A = 91%

(1.2.2)

b) Avem că:

( + p(A

) ( ) = p (1 − p

)

p(B) = p A1 ∩ A 2 ∩ A 3 + p A 1 ∩ A 2 ∩ A 3 +

)(1 − p 3 ) + + (1 − p1 )p 2 (1 − p 3 ) + (1 − p1 )(1 − p 2 )p 3 = 36% 1

∩ A2 ∩ A3

1

2

(1.2.3)

unde cu Ai s-a notat evenimentul ca trăgătorul i să nimerească ţinta. c) Pentru ca cele două evenimente să fie independente este necesar ca: p(A/B) = p(A)

(1.2.4)

p(A/B) = 100%

(1.2.5)

dar cum:

rezultă că cele două evenimente nu sunt independente.

1.3. Fie două urne, U1 (ce conţine 2 bile albe şi 3 bile negre) şi U2 (ce conţine o bilă albă şi 5 bile negre). Se extrage o bilă din U1 şi se introduce în U2, apoi se extrage o bilă din U2. Care este probabilitatea ca bila transferată să fi fost albă dacă bila extrasă din U2 este: a) albă; b) neagră? Rezolvare: Fie evenimentele A – bila transferată este albă; B – bila extrasă din U2 este albă; a) Pentru a calcula p(A/B) aplicăm formula lui Bayes: p(A ) ⋅ p(B/A ) = p(B) ⋅ p(A/B)

(1.3.1)

()

Probabilităţile p(A ) si p A se calculează simplu: p(A ) =

()

2 3 şi p A = 5 5

(1.3.2)

Probabilitatea condiţionată p(B/A) este: p(B/A) =2/7

(1.3.3)

3

iar p(B) se poate calcula cu formula probabilităţii totale:

() ( )

p(B) = p(A ) ⋅ p(B/A ) + p A ⋅ p B/ A =

2 2 3 1 1 ⋅ + ⋅ = 5 7 5 7 5

(1.3.4)

Astfel: 2 2 ⋅ p(A ) ⋅ p(B/A ) 5 7 4 = = p(A/B) = 1 p(B) 7 5 b) În mod analog

( )

()

(1.3.5)

( ) () ( )

5 ; p B = p(A ) ⋅ p B/A + p A ⋅ p B/ A = 7 (1.3.6) 2 5 3 6 4 = ⋅ + ⋅ = 5 7 5 7 5 2 5 ⋅ p(A ) ⋅ p B/A 5 2,5 = 5 7 = = p A/ B = (1.3.7) ! p(A/B) 4 14 7 pB 5 Se observă, cum era de aşteptat, că este mai probabil să se fi transferat o bilă albă dacă din a doua urnă a fost extrasă o bilă albă. p B/A =

( ) ()

( )

1.4. La un examen oral studenţii consideră că din totalul subiectelor m sunt uşoare şi n grele. Precizaţi: a) Probabilitatea ca primul student să extragă un subiect uşor; b) Probabilitatea ca cel de-al doilea student să extragă un subiect uşor. Rezolvare: a) Cu notaţiile: A – evenimentul prin care primul student extrage un subiect uşor; B – evenimentul prin care cel de-al doilea student extrage un subiect uşor, avem că: p(A ) = iar

m m+n

p(B/A ) =

()

pA =

m −1 m + n −1

n m+n

( )

p B/ A =

(1.4.1) m m + n −1

(1.4.2)

c) Pentru calcului lui p(B) se utilizează formula probabilităţii totale, relaţia (1.5). Rezultă că: m −1 m m n ⋅ + ⋅ = m + n −1 m + n m + n −1 m + n m(m + n − 1) m = = (m + n )(n + m − 1) m + n p(B) =

4

(1.4.3)

adică p(A) = p(B) cum era de aşteptat. Obs: - cele două probabilităţi p(A) şi p(B) sunt probabilităţi apriori (dinainte de producerea evenimentelor). Înainte ca primul student să extragă un subiect, toţi studenţii, indiferent de ordinea lor, au şanse egale la a extrage un subiect uşor.

1.5. Un tetraedru regulat are feţele colorate, una în roşu, una în galben, una în verde, iar cea de-a treia conţine pe toate trei culorile. Se lasă să cadă tetraedrul pe una din feţe. Fie evenimentele: R - faţa pe care a căzut tetraedrul conţine roşu; G - faţa pe care a căzut tetraedrul conţine galben; V - faţa pe care a căzut tetraedrul conţine verde. a) cât este probabilitatea evenimentului roşu, p(R)? b) cât este probabilitatea condiţionată p(R/G)? c) sunt evenimentele R, G şi V independente? Rezolvare: a) Probabilitatea evenimentului roşu este:

b) Probabilitatea de a se realiza evenimentului roşu dacă s-a realizat galben este: p(R/G ) =

1 2

(1.5.2)

deoarece una din două feţe ce conţin galben conţine şi roşu. c) Pentru ca evenimentele R, G şi V să fie independente trebuie să fie îndeplinite relaţiile: p(R ∩ G ) = p(R ) ⋅ p(G ) p(R ∩ V ) = p(R ) ⋅ p(V )   p(G ∩ V ) = p(G ) ⋅ p(V ) p(G ∩ R ∩ V ) = p(G ) ⋅ p(R ) ⋅ p(V )

(1.5.3)

Aplicând relaţia (1.1), găsim că: p(R ) = p(G ) = p(V ) =

1 2

p(R ∩ G ) = p(R ∩ V ) = p(G ∩ V ) =

1 4

(1.5.4) 1 p(G ∩ R ∩ V ) = 4 Cum ultima relaţie din (1.5.3) nu este verificată evenimentele R, G şi V nu sunt independente.

5

1.6. Pot fi simultan două evenimente şi incompatibile şi independente? Rezolvare: Fie A şi B două evenimente. Incompatibilitatea lor presupune ca: p(A ∩ B) = 0 iar independenţa:

(1.6.1)

p(A ∩ B) = p(A ) ⋅ p(B)

(1.6.2)

Din cele două relaţii rezultă că cele două evenimente pot fi independente, fiind incompatibile, doar dacă unul este de probabilitate nulă. Altfel spus, două evenimente de probabilităţi nenule pot fi independente doar dacă sunt compatibile.

1.7. O imagine alb negru se compune din 1024 x 256 pixeli. Fiecare pixel poate avea un nivel de gri dintre 64 posibile. Aflaţi informaţia furnizată de: a) un pixel; b) întreaga imagine. Rezolvare: a) Considerând egal probabile nivelele de gri, conform definiţiei informaţiei unui eveniment: i(pixel) = −log 2 p(nivel gri ) = −log 2

1 = 6 biţi 64

(1.7.1)

c) Întreaga imagine furnizează de 1024 x 256 ori mai multă informaţie: i(imagine) = 1024 ⋅ 256 ⋅ i(pixel) ≅ 1,5 ⋅ 10 6 biţi

(1.7.2)

1.8. a) Care este numărul de întrebări minime necesare pentru a afla un număr necunoscut Nx cuprins între 1 şi 1000? Întrebările pot fi de genul : “Numărul Nx este mai mare decât Np (nominalizat)?” b) Cât este primul prag Np1 şi cât este informaţia conţinută de răspunsul la întrebarea: “Numărul Nx este mai mare decât 348?” Rezolvare: a) Informaţia necesară pentru a afla numărul Nx necunoscut este: i N = log 2

1 1 = log 2 = log 2 1000 biţi p(N x ) 1/1000

Informaţia obţinută prin răspunsul la o întrebare este: 6

(1.8.1)

( )

i N P = p A N p ⋅ log 2

( ) ( )

1 1 + p A N p ⋅ log 2 p A Np p A Np

( )

(1.8.2)

unde ANp este evenimentul prin care numărul Nx este mai mare decât pragul Np. Evident:

( ) ( )

p A Np + p A Np = 1 şi putem scrie:

( )

(1.8.3)

( )

(1.8.4)

1 1 cu x ∈ [0,1] + (1 − x )log 2 x 1− x

(1.8.5)

x = p A Np = 1 − p A Np de unde i N p = i(x ) = xlog 2

Funcţia i(x) îşi atinge maximul dacă x=

1 2

(1.8.6)

Valoarea maximului este: i m = 1 bit

(1.8.7)

şi corespunde unui prag: N pm = 499

(1.8.8)

Aşadar, dacă pragul este ales la jumătatea intervalului în care se cunoaşte că se află Nx informaţia obţinută prin răspunsul la întrebare (în cazul cel mai defavorabil) este maximă şi egală cu 1 bit. Cert, numărul minim de întrebări este:

unde [y]sup denotă numărul întreg superior lui y. Obs: numărul n = 10 găsit cu raţionamentul anterior este “minim” în cazul general, acest lucru însemnând că indiferent de Nx prin 10 întrebări de tipul celei din enunţ (cu pragurile alese “la jumătate”) se află valoarea sa. Există cazuri particulare când, pentru anumite valori a lui Nx, să fie suficiente mai puţine întrebări (ex: Nx = 1 şi Np = 1) dar pentru astfel de cazuri intervine “şansa”! b) Din relaţia (1.8.8) Np1 = 499; Dacă pragul se alege (la prima întrebare) Np1 = 348 avem că

7

p(A ) =

()

1000 − 348 = 0,652 şi p A = 0,348 1000

(1.8.10)

de unde: i(348) = 0,652 ⋅ log 2

1000 1000 + 0,348 ⋅ log 2 = 0,932 biţi 652 348

(1.8.11)

Rezultatul cuprins în relaţia (1.8.11) arată că dacă pragurile nu vor fi alese “la jumătate” există posibilitatea să nu fie suficiente 10 întrebări !

1.9. Câte cântăriri sunt minim necesare pentru a preciza o monedă falsă din 12 şi dacă moneda este mai grea sau mai uşoară? Moneda falsă diferă prin greutate iar cântăririle se fac pe o balanţă cu talere. Rezolvare: Informaţia necesară pentru a soluţiona problema este: i nec = log 2 12 + log 2 2 = log 2 24 biţi

(1.9.1)

unde log212 este informaţia necesară pentru a afla moneda din 12, iar log22 este informaţia necesară pentru a afla dacă moneda este mai grea sau mai uşoară. Informaţia maximă furnizată de o cântărire este: i cm = log 2 3 biţi

(1.9.2)

şi se atinge dacă cele trei variante rezultat al unei cântăriri cu balanţa(A-balanţa se înclină spre dreapta, B-balanţa se înclină spre stânga, C-balanţa nu se înclină) sunt egal probabile: p(A ) = p(B) = p(C )

(1.9.3)

Numărul de cântăriri cerut va fi: i  n =  nec  sau i nec ≤ n ⋅ i cm sau log 2 24 ≤ log 2 3 n i  cm  sup

(1.9.4)

cu soluţia: nmin = 3

(1.9.5)

Obs: - relaţia (1.9.2) este valabilă doar dacă cele trei variante rezultat ale cântăririi sunt egal probabile. Astfel dacă cele 12 monezi se notează cu M1, M2, ....., M12 prima cântărire constă în a compara pe M1+ M2+ M3+ M4 cu M5+ M6+ M7+ M8. O posibilă rezolvare a problemei poate fi: A1 – moneda falsă este - mai uşoară şi este M1, M2, M3, sau M4. - mai grea şi este M5, M6, M7, sau M8. B1 – moneda falsă este - mai grea şi este M1, M2, M3, sau M4. -mai uşoară şi este M5, M6, M7, sau M8. C1 – moneda falsă este mai grea sau mai uşoară şi este M9, M10, M11, sau M12. 8

Dacă rezultatul primei cântăriri este A1, indicele 1 semnifică prima cântărire, A rezultatul ei, atunci se compară M1+ M2+ M5 cu M3+ M4+ M6 - dacă la a doua cântărire rezultă A2 atunci fie M1 sau M2 e mai uşoară fie M6 e mai grea şi se compară în continuare M1 cu M2; - dacă la a doua cântărire rezultă B2 atunci fie M3 sau M4 e mai uşoară fie M5 e mai grea şi se compară în continuare M3 cu M4; - iar dacă la a doua cântărire rezultă C2 atunci fie M7 e mai grea fie M8; se compară M7 cu M8.În mod analog pentru B1 şi C1. Obs: - relaţia (1.9.4) indică că problema ar putea fi rezolvată şi pentru 13 monezi în locul celor 12: log 2 26 ≤ log 2 27 = log 2 3 n cu n = 3 În realitate problema cu 13 monezi nu poate fi complet soluţionată din 13 cântăriri pentru că nu se poate asigura echiprobabilitatea rezultatelor.

1.10. Cât este informaţia obţinută în diferitele variante de rezolvare a problemei cu 12 monezi? Dar cu 13 monezi? Răspuns: Pentru varianta A1 A2 A3 (cu 12 monezi): 8 2  3 I = log 2 3 + 2 ⋅ ⋅ log 2 + ⋅ log 2 3 8  8

8 + log 2 3 = 4,7312 biţi 2 

Obs: informaţia obţinută la a doua cântărire este mai puţină decât cea presupusă, log23 biţi.

1.11. Un convertor analog-numeric (CAN) converteşte tensiunea de intrare Ux într-un număr Nx conform relaţiei: U  Nx =  x   q 

(1.11.1)

unde Ux poate lua valori între 0 şi Umax = 12,8 V; q este cuanta conversiei, q = 50mV; [y] semnifică partea întreagă a lui y. a) Câtă informaţie furnizează la ieşirea sa CAN-ul prin fiecare număr generat şi câtă informaţie se pierde ? b) Dacă CAN-ul foloseşte pentru conversie, în mai mulţi paşi succesivi, un comparator, să se stabilească câtă informaţie furnizează comparatorul la un pas şi câţi paşi sunt necesari pentru efectuarea conversiei ? c) Care sunt tensiunile de prag ale comparatoarelor utilizate, Upi, în conversia tensiunii Ux = 7,43 V, în cazul în care conversia se face într-un număr minim de paşi ? Răspuns: a) i = 8 biţi; în mod ideal Ux conţine + ∞ informaţie.

9

În realitate măsurarea unei tensiuni Ux este limitată (ca şi precizie) fie de rezoluţia aparatelor fie de nivelul zgomotului. b) ic = 1 bit; 8 paşi; c) Up1 = 6,4 V; Up2 = 9,6 V; Up3 = 8 V; Up4 = 7,2 V; Up5 = 7,6 V; Up6 = 7,4 V; Up7 = 7,5 V; Up8 = 7,45 V.

1.12. Un CAN de mare viteză utilizează 128 de comparatoare pentru a face conversia tensiunilor de intrare din intervalul [-12,8V, +12,8V] la o rezoluţie de q=100mV. Determinaţi “redundanţa” în componente a CAN-ului. Rezolvare: Numărul de “răspunsuri” distincte ale CAN –ului pentru o tensiune Ux ce variază de la - 12,8 V la +12,8 V este: N=

U max − U min = 256 = 2 8 q

(1.12.1)

Probabilitatea ca o tensiune Ux să genereze un răspuns din cele N posibile este: p0 = 1/N = 2-8

(1.12.2)

iar informaţia conţinută de un “răspuns” este: i 0 = −log 2 p 0 = 8 biţi

(1.12.3)

Pentru că un comparator “alege” o variantă din două posibile, informaţia furnizată de el este: i c = −log 2

1 = 1 bit 2

(1.12.4)

Aşadar în mod ideal, pentru o conversie sunt suficiente: n = i0/ic = 8 comparatoare

(1.12.5)

de unde rezultă că redundanţa este de 120 de comparatoare. Obs: Motivaţia utilizării a mai multor comparatoare constă în faptul că, la folosirea doar a 8 comparatoare, sunt necesare tensiuni de prag variabile în funcţie de tensiunea Ux, lucru ce scade viteza de conversie.

1.13. La o transmisie numerică informaţia utilă se transmite prin secvenţe binare de câte n biţi, numite cuvinte. Câtă informaţie este necesară pentru a preciza poziţia unui bit eronat din cei n? Dar pentru doi biţi eronaţi? Exemplificare pentru n = 8. 10

Rezolvare: Informaţia cerută se calculează cu formula: i = log2 n (biţi)

(1.13.1)

Se consideră că transmiterea (implicit eronarea) unui bit este independentă de a celorlalţi. Aşadar, pentru un bit eronat i1 = 3 biţi; pentru doi biţi eronaţi i 2 = log 2 C 82 ≅ 4,8 biţi.

1.14. Aceeaşi întrebare ca şi la problema 1.13, cu diferenţa că este o transmisie ternară. Rezolvare: În cazul transmisiei ternare corecţia unui simbol (ternar) eronat presupune pe lângă aflarea poziţiei sale (fapt ce necesită aceeaşi informaţie ca şi la secvenţa binară), şi valoarea simbolului iniţial, valoare ce poate fi una din două posibile. Cu aceste justificări, răspunsurile vor fi: i1 = log2 n (pentru aflarea poziţiei) + log2 2 (pentru aflarea valorii) = 4 biţi

(1.14.1)

i 2 = log 2 C 2n + log2 2 ≅ 6,8 biţi

(1.14.2)

În relaţia (1.14.2) s-au adăugat 2 biţi de informaţie necesari aflării valorii “adevărate” pentru două simboluri ternare eronate.

1.15. La o transmisie binară informaţia utilă este transmisă prin cuvinte de n=8 biţi printr-un canal cu rata erorii p=10-3. Câtă informaţie, în medie pe un cuvânt, este necesară pentru a face: a) detecţie de o eroare pe cuvânt? b) detecţie de una sau două erori pe cuvânt? Rezolvare: a) Probabilitatea ca un cuvânt să fie eronat într-o poziţie este: p1 = C1n ⋅ p ⋅ (1 − p ) ≅ C1n ⋅ p ⋅ [1 − p(n − 1)] = = 8 ⋅ 10 −3 ⋅ 0,993 = 7,944 ⋅ 10 −3 n −1

(1.15.1)

p1 este şi probabilitatea ca receptorul să detecteze o eroare. Cert 1-p1 este probabilitatea ca receptorul să ia decizia că nu există eroare (incluzând cazurile corecte şi false). Fie a şi b ∈ Ν astfel încât: p1 = a/b şi 1- p1 = (b-a)/b

(1.15.2)

11

Aşadar din b cuvinte transmise a sunt detectate cu eroare. Pentru a detecta un astfel de cuvânt este necesară informaţia: i1d = −log 2 p1

(1.15.3)

b-a cuvinte din cele b sunt considerate neeronate, pentru un astfel de cuvânt fiind necesară informaţia: i1n = −log 2 (1 − p1 )

(1.15.4)

Concluzionând pentru b cuvinte recepţionate este necesară informaţia: b ⋅ i1 = a ⋅ i1d + (b-a) ⋅ i1n

(1.15.5)

iar pentru un singur cuvânt recepţionat, pentru a face detecţie de o eroare: a b−a ⋅ i 1d + ⋅ i1n = b b = − p1 ⋅ log 2 p 1 − (1 − p1 ) ⋅ log 2 (1 − p1 ) = = 0,0668 biţi/cuvânt

i1 =

(1.15.6)

b) Şi în acest caz informaţia cerută are aceeaşi formă cu (1.15.6) doar că diferă p1: i 2 = − p 2 ⋅ log 2 p 2 − (1 − p1 ) ⋅ log 2 (1 − p 2 )

(1.15.7)

unde p2 este probabilitatea ca un cuvânt să fie eronat într-o poziţie sau în două poziţii: p 2 = C1n ⋅ p ⋅ (1 − p )

n −1

+ C 2n ⋅ p 2 ⋅ (1 − p )

n −2

= 7,972 ⋅ 10 −3

(1.15.8)

de unde rezultă pentru i2 valoarea: i2 = 0,067 biţi/cuvânt

(1.15.9)

Obs: Detecţia prezenţei erorilor presupune a decide între două variante: există sau nu există erori în cuvântul în cauză. Informaţia furnizată de o astfel de decizie (una din două posibile) este, în medie, subunitară, încât problema detecţiei din punct de vedere strict al informaţiei este solvabilă cu 1 bit (de informaţie) pe cuvânt, indiferent de p sau n.

12

Cap. 2 Surse de informaţie Dicţionar: - eficienţă –raportul dintre ansamblul efectelor utile (rezultatelor) ce se obţin de pe urma unei activităţi şi totalul eforturilor; - entropie (limba greacă “entropie”=întoarcere, schimbare) –mărime ce indică gradul de nedeterminare asupra unui sistem; - extensie –dezvoltare, creştere, amplificare, extindere; - graf –cuplu format dintr-o mulţime ale cărei elemente se numesc vârfuri şi dintr-o funcţie care asociază, la orice pereche ordonată de vârfuri (primul numit sursă iar al doilea adresă), un element, numit săgeată, al unei alte mulţimi. - redundanţă (redondanţă) –1.abundenţă (inutilă) de cuvinte, de figuri retorice, de imagini pentru exprimarea unei idei; 2.excesul de informaţie faţă de strictul necesar; - stare –1.situaţie în care se află ceva sau cineva; 2.ansamblul valorilor instantanee a parametrilor ce caracterizează complet un sistem dat; - staţionar –care rămâne în aceeaşi stare;

Definiţii: - Sursă de informaţie text = sursa de informaţie, de regulă considerată fără memorie, având drept simboluri caracterele distincte din textul dat (opţional se pot include semne de punctuaţie, pauzele dintre cuvinte, cifrele, etc).. Probabilităţile diferitelor simboluri vor fi ponderile lor în text. - Extensia unei surse = fiind dată o SDFM, S cu N simboluri, se defineşte extensia de ordin n a sursei, notată Sn, sursa având un număr de Nn simboluri obţinute din toate combinaţiile posibile de mesaje compuse din n simboluri ale sursei S. - Sursă cu memorie (Markov) de m paşi = sursa de informaţie cu N simboluri pentru care emisia celui de-al m+1-lea simbol depinde de cele m simboluri anterior emise. - Starea sursei Markov de m paşi = setul ultimelor m simboluri emise. Dacă sursa poate emite M simboluri şi este cu memorie de m paşi atunci admite Mm stări. - Probabilitate de trecere p(Sj/Si) = probabilitatea ca sursa Markov să treacă în starea Sj = skm-1 skm-2 ..... sk0 (prin emiterea simbolului sk0), dacă se află în starea Si = skm-2 skm-1 ..... sk1. - Matricea de tranziţie,T = o matrice pătrată de ordin Mm ce conţine toate probabilităţile de trecere; - Graful sursei cu memorie = graful ale cărui noduri reprezintă stările sursei, iar coardele (săgeţile) ce leagă nodurile probabilităţile de trecere. - Sursă Markov staţionară = probabilităţile de trecere în n paşi converg către limite independente de starea iniţială când n → ∞. - Stare de staţionaritate (a unei surse Markov staţionare) = un vector, P* de dimensiune M ce conţine probabilităţile

p *j , j = 1, M ce verifică sistemul:

P * ⋅ T = P * M (2.1)  * p 1 = ∑ j   j=1 * Probabilitatea p j reprezintă şansa ca sursa Markov, după n paşi cu n → ∞ să se găsească în starea Sj.

Notaţii: S –sursă de informaţie; N –numărul de simboluri; ÷ N –simbolurile sursei; Si, i = 1÷ ÷N –probabilităţile de emisie a simbolurilor Si; pi, i = 1÷ Sm –extensia de ordin m a sursei SDFM, S; ÷ Nm –stările sursei cu memorie, S; Sj, j = 1÷ T –matricea de tranziţie; ppm –părţi per milion (1ppm=10-6).

Abrevieri: SDFM –Sursă Discretă Fără Memorie.

13

Breviar teoretic: 1. Mărimi ce caracterizează sursa de informaţie: --entropia SDFM: N 1 H(S) = ∑ p i log 2 pi i =1 --entropia sursei cu memorie: N N 1 H(S) = ∑∑ p *j p(Si /S j )log 2 p(Si /S j ) j=1 i =1 -entropia maximă: H max (S) = log 2 N --eficienţa: η s = H(S)/H max (S) --redundanţa: R(S) = Hmax(S) – H(S) --redundanţa relativă: ρ s = R (S)/H max (S) 2. Formulă pentru schimbarea bazei logaritmului: lnx log 2 x = ln2 3. Condiţia de existenţă a stării de staţionaritate pentru sursă cu memorie: ∃ n0∈Ν astfel încât Tn0 să fie o matrice regulată (are toate elementele strict pozitive)

(2.2.a)

(2.2.b) (2.3) (2.4) (2.5) (2.6) (2.7)

2.1. O sursă de informaţie discretă are entropia egală cu 4,8 biţi/simbol şi redundanţa relativă 9,8%. Câte simboluri are sursa? Rezolvare: Din relaţiile de definiţie a entropiei maxime şi a redundanţei relative pentru o sursă discretă fără memorie: H max = log 2 N

ρ = 1−

(2.1.1)

H(S) H max

(2.1.2)

unde: H(s)-entropia sursei; Hmax-entropia maximă, ρ-redundanţa relativă, N-nr. de simboluri a sursei, găsim că: H max =

H(S) 4,8 ⋅ 100 = 1− ρ 90,2

(2.1.3)

şi: N = 2 H max = 40

(2.1.4)

14

2.2. Fie sursa de informaţie S:  S1 S 2 S 3 S 4 S5    S = 1 1 1 1 1     8 2 16 4 16 

Se cere să se calculeze: a) informaţia medie pe simbol, H(s); b) valoarea maximă a entropiei sursei Hmax; c) eficienţa sursei ηs; d) redundanţa sursei R; e) redundanţa relativă ρ. Rezolvare: a) Informaţia medie pe simbol sau entropia sursei H(S) se calculează cu formula: N

H(S) = ∑ p(s i )log 2 i =1

1 p(s i )

(2.2.1)

unde: N – numărul de simboluri a sursei S; si, i = 1, N , – simbolurile sau mesajele sursei S; p(si) – probabilitatea ca sursa să emită simbolul si. Înlocuind rezultă că: 1 1 1 1 1 H(S) = log 2 8 + log 2 2 + log 2 16 + log 2 4 + log 2 16 8 2 16 4 16 3 1 4 2 4 3 + 4 + 4 + 4 + 2 17 = + + + + = = 8 2 8 4 16 8 8 = 2,125 biţi/simbol

(2.2.2)

b) Entropia maximă este: H max = log 2 N = log 2 5 ≅ 2,323 biţi/simbol

(2.2.3)

c) Eficienţa sursei este:

ηs =

H(S) = 91,5% H max

(2.2.4)

d) Redundanţa sursei R este diferenţa dintre entropia maximă şi entropia sursei date: R = Hmax - H(S) = 0,197 biţi/simbol

(2.2.5)

e) Redundanţa relativă, cu formula de calcul (2.6), are valoarea: ρ = 8,5%

(2.2.6)

15

2.3. Sursa de informaţie discretă şi fără memorie S are drept simboluri caracterele distincte din următoarea propoziţie (sursă text): NU UITA NICI PAUZELE DINTRE CUVINTE . Probabilităţile simbolurilor (caracterelor distincte) sunt ponderile lor din text. Se cere: a) tabloul simboluri-probabilităţi pentru sursa S; b) entropia H(S), redundanţa R şi eficienţa ηs sursei S; c) probabilitatea ca sursa să emită mesajul “AUR”. Rezolvare: a) tabloul simboluri-probabilităţi este: A C D E I L N P R T U V Z _ .    S= 2 2 1 4 5 1 4 1 1 3 4 1 1 5 1     36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 

(2.3.1)

b) Conform relaţiei de definiţie entropia sursei este: N

H(S) = ∑ p(s i )log 2 i =1 N

=∑ i =1

1 p(s i )

N ki k 36 N k i log 2 = ∑ log 2 36 −∑ i log 2 k i 36 k i i =1 36 i =1 36

(2.3.2)

unde: – N = 15 numărul de simboluri a sursei S; k – p i = i , i = 1,15, - probabilităţile simbolurilor. 36 Înlocuind în (2.3.2) valorile obţinute pentru ki din tabloul (2.3.1) găsim:

(

1 2 ⋅ 2 ⋅ log 2 2 + 7 ⋅ 1 ⋅ log 2 1 + 3 ⋅ log 2 3 + 36 + 2 ⋅ 4 ⋅ log 2 4+ 2 ⋅ 5 ⋅ log 2 5 = 1 4 + 3 ⋅ log 2 3 + 16 + 10 ⋅ log 2 5 = = 2 + 2 ⋅ log 2 3 − 36 52 69 10 = + log 2 3 − log 2 5 = 36 36 36 = 3,8373 biţi/simbol

H(S) = log 2 36 −

(

)

)

(2.3.3)

Redundanţa şi eficienţa sursei se obţin cu relaţiile: R = H max − H(S) = log 2 N − H(S) H(S) H(S) ηs = = H max log 2 N

(2.3.4)

Cunoscând N = 15 şi cu H(S) dat de (2.3.3) găsim:

16

R = 0,06958 biţi/simbol ηs = 98,22%

(2.3.5)

c) Sursa S fiind fără memorie probabilitatea cerută va fi: p(AUR ) = p(A ) ⋅ p(U ) ⋅ p(R ) =

2 4 1 ⋅ ⋅ = 1,715 ⋅ 10 − 4 36 36 36

(2.3.6)

2.4. Fie sursa de informaţie discretă şi fără memorie:  S1 S 2 S3 S 4 S5 S 6 S 7    S =  10 20 30 5 2 8 25     100 100 100 100 100 100 100 

Să se calculeze pentru sursa S: a) entropia H(S); b) valoarea maximă a entropiei sursei Hmax; c) eficienţa sursei ηs; d) redundanţa sursei R; e) redundanţa relativă ρ. Răspuns: a) H(S) = 2,44 biţi/simbol b) Hmax = 2,8 biţi/simbol c) ηs = 86,85% d) R = 3,7 biţi/simbol e) ρ = 13,15%

2.5. Fie sursa text: STUDENTUL *** REZOLVA O PROBLEMA DE TTI . a) înlocuiţi *** cu numele şi prenumele dumneavoastră şi construiţi în acest caz tabloul sursei; b) calculaţi entropia şi eficienţa sursei de la punctul a); c) cât este probabilitatea ca sursa de la a) să emită mesajul “MAR”. Răspuns: pentru *** = POP ION A B D E I L M N O P R S T U V Z _ .    a) S =  2 1 2 4 2 3 1 2 5 3 2 1 4 2 1 1 7 1     44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 

17

b) H(S) = log 2 44 −

ηs =

(

)

1 6 ⋅ 2 + 6 ⋅ log 2 3 + 16 + 5 ⋅ log 2 5 + 7 ⋅ log 2 7 = 3,896 biţi/simbol 44

3,896 = 93,44% log 2 18

c) p(MAR ) =

4 = 47 ppm 44 3

2.6. O sursă de informaţie binară cu memorie de doi paşi are graful corespunzător în figură. Să se afle: a) probabilităţile de trecere nefigurate; b) ce şanse sunt ca după transmiterea mesajului “00110” să se transmită mesajul “11”. c) matricea de tranziţie şi o eventuală stare de staţionaritate; d) entropia sursei date.

Rezolvare: a) Probabilităţile cerute sunt: 2 7 1 p(S3 /S 2 ) = 1 − p(S 4 /S 2 ) = 2 3 p(S3 /S 4 ) = 1 − p(S 4 /S 4 ) = 5 1 p(S 2 /S3 ) = 1 − p(S1 /S 3 ) = 4 p(S 2 /S1 ) = 1 − p(S1 /S1 ) =

(2.6.1)

b) Deoarece sursa are memorie de doi paşi, din mesajul transmis “00110” sunt relevanţi, pentru definirea stării actuale, doar ultimii doi biţi transmişi “10”. Aşadar starea actuală este S3. Din S3 şansele ca sursa să emită “1” şi, ca atare, să treacă în starea S2 sunt de 25% (p(S2/S3)). Prin generarea încă a unui “1” sursa va trece din starea S2 în starea S4. Probabilitatea acestei tranziţii este de 50%. Concluzionând probabilitatea ce “însoţeşte”acest traseu S3→ S2→ S4 este: 1 1 1 p(S3 → S 2 → S 4 ) = ⋅ = = 12,5% (2.6.2) 4 2 8 18

c) Matricea de tranziţie este: 3 7 p(S1 /S1 ) p(S 2 /S1 ) p(S3 /S1 ) p(S 4 /S1 )   p(S /S ) p(S /S ) p(S /S ) p(S /S )  0  1 2 2 2 3 2 4 2  T= = p(S1 /S3 ) p(S 2 /S3 ) p(S3 /S3 ) p(S 4 /S3 )  3    p(S1 /S 4 ) p(S 2 /S 4 ) p(S3 /S 4 ) p(S 4 /S 4 )  4  0 

4 0 7 1 0 2 1 0 4 3 0 5

 0   1 2  0   2  5

(2.6.3)

O eventuală stare de staţionaritate ar conţine probabilităţile p *i , ca sursa să se afle într-o anumită stare Si :

[

P * = p1* p *2 p *3 p *4

]

(2.6.4)

cu P * îndeplinind condiţia: P *T = P *

(2.6.5)

Înlocuind în (2.6.5) pe T şi P * date de (2.6.3) şi (2.6.4) rezultă: 3 7 -1  0  p1* p *2 p *3 p *4  3 4  0 

[

]

4 7

0

-1

1 2

1 4 0

-1 3 5

   1  2  0 = 0   2  -1  5  0

(2.6.6)

Sistemul de ecuaţii dat de (2.6.6) este compatibil nedeterminat fapt ce necesită încă o relaţie între probabilităţile p *i , relaţie care este:

[p

* 1

]

+ p *2 + p *3 + p *4 = 1

(2.6.7)

Soluţia sistemului obţinut din (2.6.6) şi (2.6.7) este:  63 48 48 40  p* =  199 199 199 199 

(2.6.8)

d) Entropia sursei cu memorie se calculează cu formula: 22

H M (S) = ∑∑ p(Si ) ⋅ p(a j /S i )⋅ log 2 p(a j /S i ) 2

i =1 j=1

19

(2.6.9)

unde Si, cu i = 1÷4, sunt cele 4 stări posibile ale sursei iar aj, cu j = 0÷1, sunt mesajele posibil a fi emise din fiecare stare. Pentru uşurinţa calculului entropiei, elementele cerute de suma dublă din (2.6.9) sunt date în tabelul următor : Si

aj

S1 = 00

0 1 0 1 0 1 0 1

S2 = 01 S3 = 10 S4 = 11

p(Si ) = p *i 63 199 48 199 48 199 40 199

p(a j /S i ) 3/7 4/7 1/2 1/2 3/4 1/4 3/5 2/5 Tabelul 2.1

Înlocuind în (2.6.9) elementele din tabelul 2.1 rezultă : 63  3 7 4 7  48  1 2 1  log 2 + log 2  +  log 2 + log 2 1 2 199  7 3 7 4  199  2 48  3 4 1 4  40  3 5 2 +  log 2 + log 2  +  log 2 + log 2 199  4 3 4 1  199  5 3 5 = 0,944 biţi/simbol

H M (S) =

2  1 5  2

(2.6.11)

2.7. O sursă de informaţie binară cu memorie de doi paşi are graful corespunzător în figură. Dacă în prezent sursa se află în starea Si cât este probabilitatea ca după trei simboluri sursa să se regăsească tot în starea Si?

Răspuns:

p(S1 → S1 → S1 → S1 ) + p(S1 → S 2 → S 3 → S1 ) = 3

3 1 2 4 =   + ⋅ ⋅ = 24,37% 7 7 3 5

20

2.8. O sursă de informaţie binară cu memorie de un pas are probabilităţile de trecere: p(0/0) = 5/7 şi p(0/1) =3/4. a) construiţi graful sursei date; b) calculaţi starea de staţionaritate; c) determinaţi entropia sursei; d) determinaţi entropia unei surse fără memorie având aceleaşi simboluri şi probabilităţile simbolurilor cele conţinute în starea staţionară. Rezolvare: a) Pentru a putea construi graful sursei cu memorie aflăm probabilităţile de trecere ce nu sunt date în enunţul problemei: p(1/0) = 1 - p(0/0) = 2/7 p(1/1) = 1 - p(0/1) = 1/4

(2.8.1)

În acest fel graful este:

b) Matricea de tranziţie este: 5 7 T= 1  4

2 7 3 4

    

(2.8.2)

iar starea staţionară se află rezolvând sistemul:

[

]

[

 p *0 p1* ⋅ T = p *0  * p 0 + p1* = 1

p1*

]

(2.8.3)

Rezultă:  * 7 p 0 = 15  p1* = 8  15

(2.8.4)

c) Entropia sursei cu memorie este dată de relaţia: H M (S) = ∑∑ p(Si ) ⋅ p(a j /S i )⋅ log 2 p(a j /S i ) 1

1

i = 0 j= 0

unde S0 = 0; S1 = 1; a0 = 0; a1 = 1

21

(2.8.5)

p(S 0 ) = p *0 =

7 15

p(S1 ) = p1* =

8 15

iar probabilităţile p(aj/Si) sunt cele indicate de graf. Înlocuind în (2.8.5) rezultă: 7 5 7 2 7 8 1 4 3 4  log 2 + log 2  +  log 2 + log 2  15  7 5 7 2  15  4 1 4 3 = 0,8355 biţi/simbol

H M (S) =

(2.8.6)

d) O sursă fără memorie conformă cu cerinţele problemei are tabloul:  S1  S= 7   15

S2   8  15 

(2.8.7)

iar entropia: H(S) =

7 15 8 15 log 2 + log 2 = 0,9968 biţi/simbol 15 7 15 8

(2.8.8)

Comparând cele două entropii găsite HM(S) şi H(S) se observă că ultima este mai mare.

2.9. O sursă de informaţie binară cu memorie de trei paşi are graful corespunzător în figură. Să se afle: a) matricea de tranziţie; b) entropia sursei; c) probabilitatea ca sursa, aflată în starea S2, după emiterea a trei simboluri să ajungă în starea S3.

Răspuns: 22

a) 1 2  0   0   0 T= 2  3  0  0   0 

 0 0 0 0 0 0   1 3 0 0 0 0   4 4  2 3 0 0 0 0  5 5  1 1  0 0 0 0  2 2   0 0 0 0 0 0   3 2  0 0 0 0  5 5  3 4 0 0 0 0   7 7  3 4  0 0 0 0 7 7 

1 2 0 0 0 1 3 0 0 0

 128 96 105 126 96 135 126 147  b) p * =   959 959 959 959 959 959 959 959  H M (S) = 0,961454 biţi/simbol c) p(S 2 → S3 → S 6 → S 3 ) =

9 = 9% 100

2.10. Fie sursa de informaţie fără memorie având tabloul simboluriprobabilităţi: b c a S =   0,2 0,4 0,1

d  x 

Se cere: a) valoarea lui x; b) entropia şi eficienţa sursei S; c) tabloul sursei de informaţie S2(extensia de ordin a lui S); d) entropia şi eficienţa sursei S2. Rezolvare: a) Deoarece: N

∑p

i

= 1 rezultă x = 0,3

(2.10.1)

i =1

N

b)

H(S) = ∑ p i log 2 i =1

1 = 1,846 biţi/simbol – entropia pi 23

(2.10.2)

H(S) H(S) = = 92,32% – eficienţa H max log 2 N

ηs =

(2.10.3)

b) Extensia unei surse S se obţine asociind câte două mesaje ale sursei S. Astfel:

ab ac ad ba bb bc bd ca cb cc cd da db dc dd   aa   S = 4 8 2 6 8 16 4 12 2 4 1 3 6 12 3 9     100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100  2

(2.10.4)

( )

H S 2 = 2 ⋅ H(S) = 3,692 l biţi/simbol

c)

η S2 =

( ) ( )

H S2 2 ⋅ H(S) = = ηS 2 H max S log 2 N 2

(2.10.5) (2.10.6)

Obs: Entropia extensiei de ordinul doi a sursei S este dublul entropiei sursei date, eficienţa păstrându-se. Prin generalizare se poate arăta că:

( )

H S m = m ⋅ H(S) η Sm = η S

(2.10.7)

unde Sm este extensia de ordin m a sursei S.

2.11. O sursă ternară cu memorie de un pas are graful din figură a) să se afle cele trei probabilităţi de trecere necunoscute; b) calculaţi starea de staţionaritate; c) calculaţi entropia sursei date; d) pentru ce valori ale probabilităţilor de trecere sursa este practic fără memorie?

Răspuns: a)

p(S1 /S 2 ) =

1 5

p(S 2 /S3 ) =

1 2

p(S 3 /S1 ) =

1 3 24

b)

p1* =

12 49

p *2 =

25 49

p *3 =

12 49

c) Starea actuală S1 S2 S3

Starea viitoare S1 S2 S3 S1 S2 S3 S1 S2 S3

Probabilitatea stării staţionare 12/49 25/49 12/49

Probabilitatea de trecere 1/3 1/3 1/3 1/5 3/5 1/5 1/4 2/4 1/4 Tabelul 2.2

H M (S) = 1,3325 biţi/simbol d)

p(S i /S j ) = α p(S i /S j ) = β p(S i /S j ) = γ ∀ j = 1,2,3 cu α , β , γ ∈ R +

α + β +γ =1

2.12. O SDFM are N = 32 simboluri şi eficienţa de 75%. Cât sunt entropia, redundanţa şi redundanţa relativă a sursei date? Răspuns: H(S) = 3,75 biţi/simbol

R = 1,25 biţi/simbol

25

ρ = 25%

Cap. 3 Codarea sursei Dicţinoar: - cod (limba latină "codex"- culegere) - 1.ansamblul unor reguli; 2.culegere de legi; 3.sistem de semnale sau semne convenţionale cu semnificaţii bine precizate, ale căror combinaţii sunt folosite pentru transmiterea unor mesaje; - compresie - reducere a volumului.

Definiţii: - codare = procesul de atribuire a unor succesiuni (secvenţe) de simboluri elementare mesajelor (simbolurilor) unei surse de informaţie; - alfabetul codării = totalitatea simbolurilor elementare cu ajutorul cărora se pot construi succesiunile (secvenţele); - cuvânt de cod = o secvenţă (succesiune) atribuită prin procesul de codare a unui mesaj al sursei de informaţie; - cod = totalitatea cuvintelor de cod; - cod - binar = alfabetul este binar: {0, 1}; - bloc = cuvintele au aceeaşi lungime; - unic decodabil = fiecărei succesiuni de cuvinte de cod îi corespunde o unică succesiune de simboluri a sursei; - instantaneu = nici un cuvânt de cod nu este prefixul altui cuvânt; - graful de codare (graful codului) = un arbore ce creşte, dintr-un punct iniţial (numit sursă), prin m ramuri la fiecare nod (m - numărul de simboluri elementare din alfabet) şi are la finele oricărei ramuri (numită frunză) câte un simbol (mesaj al sursei). Fiecare din cele m ramuri ce pleacă dintr-un nod este notată cu unul dintre simbolurile elementare ale afabetului codului. Secvenţa obţinută prin asocierea simbolurilor elementare ataşate unei căi, ce pleacă de la sursă şi ajunge la o frunză, este cuvântul de cod ce codează simbolul (mesajul) sursei ataşat acelei frunze; - eficienţa codării = raportul între lungimea medie minimă a cuvintelor unui cod ce ar putea coda sursa dată şi lungimea medie a cuvintelor codului dat; - compresia = procedeul de recodare a unei surse cu scopul de a obţine o eficienţă superioară primului cod; - factor de compresie = raportul eficienţelor codurilor, comprimat şi iniţial.

Notaţii: L - lungimea medie a cuvintelor codului; ηc - eficienţa codării; F - factor de compresie.

Abrevieri: LZ -77 - algoritmul de compresie Lempel -Ziv '77.

Breviar teoretic: 1. Teorema I-a a lui Shannon: pentru orice sursă de informaţie S, printr-o codare pe grupe de n simboluri, poate fi făcută o codare absolut optimală dacă n→∞; 2. Lungimea medie a cuvintelor codului: N

L = ∑ pili

(3.1)

i =1

unde: li - lungimea cuvântului ataşat simbolului sursei; si=numărul de simboluri elementare din componenţa câmpului respectiv; 3. Eficienţa codării se poate calcula după formula: H(S) ηc = L

26

(3.2)

3.1. Fie sursa de informaţie discretă şi fără memorie:  a S =   0,4

b

c

0 , 25

0,2

d   0 ,15 

şi trei coduri binare pentru sursa S: CI

a 1 b 10 c 100 d

C II

110

a b c

1 01 001

d

000

C III

a b c

00 01 10

d

11

a) Ce secvenţă binară corespunde, pentru fiecare cod în parte, mesajului sursei: "abacdab"?; b) Arătaţi că decodarea secvenţei construite la punctul a) este unică doar pentru CII şi CIII, nu şi pentru CI; c) Calculaţi entropia sursei şi eficienţa acesteia; d) Calculaţi lungimea medie a cuvintelor fiecărui cod, precum şi eficienţa codării. Rezolvare: a) Secvenţele binare cerute se obţin prin simpla substituţie a literelor cu secvenţele binare (cuvintelor) corespunzătoare lor:

Sv1=1101100110 Sv2=1011001000 Sv3=0001001011

110 101 0001

(3.1.1)

b) Decodând secvenţa Sv1 prin I găsim cel puţin două variante de decodare: abacdab, dacdd, abacabab, etc... fapt ce nu se poate întâmpla cu Sv2 şi Sv3 prin CII, respectiv CIII. c) Conform formulei de definiţie, entropia sursei este: N

H(S) = ∑ pi log 2 i =1

1 = 1,9 biţi/simbol pi

(3.1.2)

Pentru calculul eficienţei este necesară în prealabil entropia maximă: H max = log 2 N = 2 biţi/simbol

(3.1.3)

Rezultă eficienţa sursei: ηs =

H(S) = 95% H max

(3.1.4)

27

d) Lungimea medie a cuvintelor unui cod se calculează cu formula: N

L = ∑ pili

(3.1.5)

i =1

unde li este lungimea cuvântului de cod numărul i. Deoarece CI şi CII au aceleaşi lungimi pentru cuvinte şi lungimea medie va rezulta aceeaşi:

iar:

L1 = L 2 = 0,4 ⋅ 1 + 0,25 ⋅ 2 + 0,2 ⋅ 3 + 0,15 ⋅ 3 = 1,95 biţi/simbol

(3.1.6)

L3=2 biţi/simbol

(3.1.7)

fiind un cod bloc. Eficienţele codărilor rezultă: ηc1 = ηc 2 = 97,6%

ηc3 = ηs = 95%.

(3.1.8)

Obs.: - Deşi CIII are lungimi ale cuvintelor de cod mai mici decât CI şi CII, totuşi acestea "codează mai eficient" sursa dată, deoarece atribuie cuvânt de cod scurt (lungime 1) simbolului cel mai frecvent (a). - Codurile CII şi CIII sunt coduri unic decodabile prin faptul că decodarea unei secvenţe codate decurge într-un unic fel. În plus sunt şi coduri instantanee. Un exemplu de cod unic decodabil, dar nu şi instantaneu, este: CIV

a b c d

1 10 100 000

- Cu toate că realizează biunivocităţi între mulţimea mesajelor sursei S şi mulţimea cuvintelor de cod, codul CI nu poate fi utilizat deoarece informaţia transmisă printr-un astfel de cod poate fi deformată la decodare.

3.2. O SDFM cu 20 simboluri echiprobabile se codează cu un cod bloc (toate cuvintele au aceeşi lungime). a) Cât sunt entropia şi eficienţa sursei date? b) Cât este lungimea medie m a cuvintelor codului, minim necesară ? c) Calculaţi eficienţa codării. Rezolvare: a) Sursa fiind echiprobabilă: H(S)=Hmax=log220=4,32 biţi/simbol

28

(3.2.1)

şi, ca atare: ηs=100%

(3.2.2)

b) Pentru a putea atribui N secvenţe binare, de lungime m, celor N mesaje ale sursei este necesar ca să existe cel puţin N secvenţe distincte. Cum numărul de secvenţe binare de lungime m este 2m rezultă că 2m ≥ N, unde N este numărul de simboluri al sursei, N=20. În plus, conform cerinţelor problemei vom alege pe cel mai mic m ce verifică inegalitatea, astfel încât: 2m −1 < N < 2m

(3.2.3)

Pentru cazul concret (N=20) rezultă: m=5

(3.2.4)

c) Lungimea medie a cuvintelor codului bloc este: N

20

i =1

i =1

L = ∑ p i li = ∑ p i m = m

(3.2.5)

relaţie ce este adevărată indifirent de valorile probabilităţilor pi. Eficienţa codării va fi: ηc =

H(S) log 2 20 = = 86,44% L 5

(3.2.5)

3.3. a) Codaţi prin algoritmul Huffman static sursa de informaţie discretă şi fără memorie:  a S =   0, 4

b 0, 2

c 0, 25

d   0,15 

b) Codaţi cu ajutorul aceluiaşi algoritm Huffman static extensia de ordin 2 a sursei date; c) Calculaţi şi comparaţi în cele două cazuri eficienţele celor două coduri obţinute. Rezolvare: a) Desfăşurarea algoritmului Huffman static este prezentată în figura de mai jos: a b c d

0,4 0,25 0,2 0,15

0 10 111 110

0,4 0,35 0,25

0 11 10

Figura 3.1.

29

0,6 0,4

1 0

Codul obţinut are lungimea: 4

L1 = ∑ pili = 1,95 biţi/simbol

(3.3.1)

i =1

b) Tabloul sursei S2 (extensia de ordin I2 a sursei date) este:  aa ab ac ad ba bb bc bd ca cb cc cd da db dc dd  S2 =  16 8 10 6 8 4 5 3 10 5 6,25 3,75 6 3 3,75 2,25   100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

Algoritmul de codare Huffman static pentru sursa S2 este arătat în figura următoare: aa ac ca ab ba cc ad da bc cb bb cd dc bd db dd

111 16 16 16 010 10 10 10 001 10 10 10 1101 8 8 8 1100 8 8 8 1001 6,25 6,25 6,75 1000 6 6 6,25 0111 6 6 6 0001 5 5,25 6 0000 5 5 5,25 10111 4 5 5 10110 3,75 4 5 10101 3,75 3,75 4 10111 10100 3 3,75 10101 3,75 10110 01101 3 01101 3 10100 01100 2,25 01100

16 10 10 8 8 7,75 6,75 6,25 6 6 5,25 5 0001 5 0000

16 10 10 10 8 8 7,75 6,75 6,25 6 6 0111 5,25 0110

16 11,25 10 10 10 8 8 7,75 6,75 6,25 1001 6 1000

16 16 16 20 21,25 26,75 32 41,25 58,75 1 12,25 14,5 16 16 20 21,25 26,75 32 11 41,25 0 11,25 12,25 14,5 16 16 20 21,25 01 26,75 10 10 11,25 12,25 14,5 16 16 111 20 00 10 10 11,25 12,25 14,5 101 16 110 10 10 10 11,25 011 12,25 100 8 10 10 001 10 010 8 8 1101 10 000 7,75 1011 8 1100 6,75 1010 Figura 3.2.

În desfăşurarea algoritmului probabilităţile sunt înmulţite cu 100 pentru uşurinţa scrierii. Lungimea medie a cuvintelor codului obţinut este:

30

3 (16 + 10 + 10) + 4 (8 + 8 + 6,25 + 6 + 6 + 5 + 5) 100 100 5 (4 + 3,75 + 3,75 + 3 + 3 + 2,25) = + 100 108 + 177 + 98,75 ...... = = 3,8375 biţi/simbol 100 L2 =

(3.3.2)

Cunoscând că entropia extensiei de ordin 2 este dublul entropiei sursei date (vezi problema 2.10) găsim că: H(S)=1,9biţi/simbol

( )

H S2 = 2H(S) = 3,8 biţi/simbol De unde: ηc1 =

(3.3.3)

H(S) = 97,63% L1

(3.3.4)

( )

H S2 H(S) 2L1 2L = ⋅ = ηc1 ⋅ 1 = 99,22% L2 L1 L 2 L2 Cum 2L1>L2 ⇒ ηc1 > ηc2 ηc 2 =

(3.3.5)

3.4. Fie sursa de informaţie text (inclusiv pauzele): "TEORIA TRANSMITERII INFORMATIEI ." a) Să se afle tabloul sursei; b) Să se codeze cu un cod optimal prin algoritmul Huffman; c) Să se calculeze eficienţa codării şi factorul de compresie faţă de o codare bloc; d) Să se construiască graful de codare. Răspuns: a) A S= 3   32

E 3 32

F 1 32

I 7 32

M 2 32

N 2 32

O 2 32

b) A E F I M N

000 1111 11100 01 0011 0010

0 R S T _ .

1001 110 111011 101 1000 111010

c) ηc = 98,925%

F=1,185

31

R 4 32

S 1 32

T 4 32

_ 2 32

.  1   32 

d)

1

0 0 A

0

1 1

0 N

1 M

I

1 1

0 0

T O

_

1

0 R 00

1

1 F

1

0 .

E

S

3.5. O sursă de informaţie discretă şi fără memorie, având redundanţa relativă ρ, a fost codată cu un cod binar cu eficienţe ηc. Ştiind că: ηc+ρ ρ=1 şi cunoscând lungimea medie a cuvintelor codului bloc L=5 biţi/simbol aflaţi numărul de simboluri ale sursei. Răspuns: N=32

3.6. Sursa de informaţie, fără memorie, constituită din simbolurile A, C, D, E, I, N, R, cu p(A)=0,28, p(C)=0,14, p(D)=0,05, p(E)=0,18, p(I)=0,16, p(N)=0,06 se codează cu un cod binar prin algoritmul Huffman static. Care este lungimea secvenţei binare ataşate mesajului "CRIN" ? Răspuns: 13 biţi

3.7. O sursă de informaţie echiprobabilă cu 50 simboluri se codează cu un cod binar bloc de eficienţă maxim posibilă (codare pe simbol). Cât este eficienţa codării? Răspuns: ηc =

50 ⋅ log 2 50 = 98,67% 286

32

3.8. Sursa text (fără pauze): VINE EA SI VACANTA ordonată alfabetic, se codează cu un cod binar (cod binar natural). Considerând ieşirea codorului drept o sursă binară secundară, cu cât este egală entropia acestei surse secundare (considerată şi ea fără memorie)? Rezolvare: Tabloul simboluri probabilităţi este: I N S T V A C E 2 2 2 1 1 2 S= 4 1    15 15 15 15 15 15 15 15 

(3.8.1)

iar codul binar bloc cerut: A C E I N S T V

000 001 010 011 100 101 110 111

(3.8.2)

Probabilitatea ca sursa secundară să emită un zero se calculează cu relaţia: N

p(0E ) = ∑ pi ⋅ i =1

m 0i m

(3.8.3)

unde: N=8 - numărul de simboluri al sursei primare; pi i = 1.N -probabilităţile simbolurilor sursei primare; m=3 lungimea cuvintelor codului; m0i - numărul de zerouri din componenţa cuvântului i. În mod analog: N m p(1E ) = 1 − p(0E ) = ∑ pi ⋅ 1i m i =1

(3.8.4)

Efectuând calculele, găsim că:

1 (3 ⋅ 4 + 2 ⋅ 1 + 2 ⋅ 2 + 1 ⋅ 2 + 2 ⋅ 2 + 1 ⋅ 1 + 1 ⋅ 1) = 26 45 45 1 19 p(1E ) = (1 ⋅ 1 + 1 ⋅ 2 + 2 ⋅ 2 + 1 ⋅ 2 + 2 ⋅ 1 + 2 ⋅ 1 + 3 ⋅ 2) = 45 45 p(0E ) =

astfel tabloul sursei secundare este:

33

(3.8.5)

1   0  S' =   26 / 45 19 / 45  iar entropia:

()

H S' =

(3.8.6)

26 45 19 45 log 2 + log 2 = 0,9825 biţi/simbol 45 26 45 19

(3.8.6)

3.9. Folosind algoritmul LZ-77 găsiţi: a) rezultatul compresiei mesajului: aaabcbaabcc...; b) mesajul iniţial, dacă rezultatul compresiei a fost 00c00b73c72b640; Lungimile blocurilor Lempel respectiv Ziv sunt 8 şi 4. Rezolvare: a) Diagrama de mai jos prezintă iterat codarea LZ 77 asupra mesajului dat:

1

2

3

4

5 6

7

8

9 10 a a a a a a a a b c b a a a b c b a a a a b c b a a b Rezultatul comprimării este 00a82b00c71a43c...

11 a b a a c

12 b c a b c

S L 0 0 8 2 0 0 7 1 4 3

A a b c a c

S L 0 0 0 0 7 3 7 2 6 4

A c b c b 0

b) Decodarea mesajului comprimat se poate urmări cu ajutorul diagramei: 1

b

2

c

3

c b

4

b c

5 6

c c

b c

7 c c c

8 c b c b

9 10 c b c b c c c c

11

12

c b b

c c

Aşadar, mesajul iniţial este: cbcbccccbccbc... .

3.10. Comprimaţi mesajul: aaabcca... utilizând algoritmul Huffman dinamic. Cât este factorul de compresie? Rezolvare: Vom prezenta evoluţia arborelui (grafului) asociat codului în timpul codării mesajului dat:

34

1.Arbore iniţial: 2. S-a codat "a":

0

0

1 3

simbol codul:

mesaj: a

1

0 1

mesaj: --

0 a

1 0

0

2

cuvânt de cod 0 1

a

1

Obs: Semnificaţia notaţiilor este: -pentru nod:

p

x

- x: număr de ordine (creşte de la stânga către dreapta şi de jos în sus pe linii); - p: ponderea cumulată din nodurile aferente. - pentru frunză (nod terminal):

x

p

y

- x: număr de ordine; - p: pondere (număr de apariţii ale respectivului simbol); - y: simbolul. Frunza goală, notată cu "0", este de pondere 0. - pentru ramură: - spre stânga ≡ codare cu zero; - spre dreapta ≡ codare (atribuire) cu unu. 3.S-a codat "aa" mesaj: a1 codul: 0 0 a 1

3 2 0 1 0

5.S-a codat "aaab" mesaj: a110b codul: 0 00 a 1 b 01

2 2

5 4 0

1

3 1 0

1

0

4.S-a codat "aaa" mesaj: a11 codul: 0 0 1 a 1

0

4 3

3 3 0 1 0

a 6.S-a codat "aaabc" mesaj: a110b00c codul: 0 000 a 1 b 01 c 001 a

2 1

0

0

0

35

01

6 3 1

3 1

1

a

1

5 2 0

b

2 3

7 5

1 0

1

4 1 1

0

2 1

c

b

a

7.S-a codat "aaabcc" mesaj: a110b00c001 codul: 0 000 a 1 b 001 c 01

0

0

1

5 3 0

6 3 a 1

3 2

4 1

0 1 0

7 6

7 6

5 3

Schimb între

2 2

4 2

0

8.S-a codat "aaabcca" mesaj: a110b00c0011 codul: 0 000 a 1 b 001 c 01

c

1

10

c

a

1

3 1

1 0

6 3

0

nodurile 2 şi 4

b

1

0

2 1

b

7 7

0

1

5 3 0

1 0

a

1

3 1 0

6 4

4 2

c

1 0

2 1

b

Obs.: la pasul 7 s-a produs un schimb între nodurile 2 şi 4 deoarece ponderea primului era mai mare (2 > 1), conform regulii care spune că un nod cu număr de ordine mai mic şi pondere mai mare decât un altul va face schimb de poziţie în arbore cu acesta din urmă. Considerând caracterele în mesajul iniţial codate pe 8 biţi, lungimea acestuia este: Li=7⋅8=56 biţi

(3.10.1)

Mesajul comprimat (a110b00c0011) are: L2=8⋅3+9=33 biţi

(3.10.2)

Rezultă un factor de compresie:

36

F=

L1 ≅ 1,7 L2

(3.10.3)

3.11. Fie mesajul "aacacabcabdabadabc". Să se comprime mesajul dat prin aplicarea algoritmului: a) LZ 77; b) Huffman dinamic; c) Huffman static, presupunând mesajul dat o SDFM text. d) Calculaţi în fiecare caz factorul de compesie faţă de o codare bloc pe opt biţi a mesajului iniţial. Rezolvare: a) Recodarea aferentă algoritmului LZ77 este prezentată în diagrama următoare: 1

a b

2

a c c

3

4

a a a

c b b

5 6

a c d

a c a a

7 a a b b

8 a c b d a

9 10 a a a c a c c a a b d a

11 c a a b a b

12 a c b d d c

S L 0 0 8 1 7 3 6 3 3 2 5 3

Mesaj comprimat 00a 81c 73b 63d 32a 53c de lungime: L1=12⋅3+6⋅8=84 biţi

b)

(3.11.1)

1. 3 0

2.

mesaj codat: "a" mesaj transmis: "a" cod: 0 0 a 1

1 1

1 0 0 2 1 a 3 0

2

mesaj codat: "aa" mesaj transmis: "a1" cod: 0 0 a 1

1

1 0 0 2 2 a

37

A a c b d a c

3. 5

mesaj codat: "aac" mesaj transmis: "a10c" cod: 0 00 a 1 c 01

3

0

1

3 1

4 2 a

0

1

1 0 0 2 1 c

(4. 5. 6.) 7. mesaj codat "aacacab" mesaj transmis "a10c101100b" cod 0 00 a 1 b 001 c 01

7 7 0

1

7 3 a8 4 0

1

5 1 b 6 2 0

1

1 0

4 1

c

(8. 9. 10.) 11. 9 11

9 11 0 7 6 0

1 0

7 5 a 8 6

a

0

6 3

4 2

0

6 3 c 1

3 1

b

0

1 2 1

1

5 3

c

1

3 1

0

8 5

1

1

5 3 0

0

1

4 2 1

0 0 12 1 d

d

38

b

mesaj codat: "aacacabcabd" mesaj transmis: "a10c101100b011001000d" cod: 0 1000 a 0 b 101 c 01

(12.) 13. mesaj codat: "aacacabcabd" mesaj transmis: "a10c101100b011001000d" cod: 0 1100 a 0 b 111 c 10 d 1101

9 13 0

1

7 6 a 8 7 0

1

5 3 c 6 4 0

1

3 1

4 3

0

b

1

1 0 0 2 1 d

(14. 15. 16. 17.) 18. 9 18 0

mesaj codat: "aacacabcabd" mesaj transmis: "a10c101100b011001000d" cod: 0 1100 a 0 b 10 c 111 d 1101

1

7 8 a 8 10 0

1

5 4 b 6 6 0

1

3 2 0

4 4

c

1

1 0 0 2 2 d

39

Lungimea rezultată a mesajului transmis este: L2=4⋅8+33=65 biţi

(3.11.2)

c) Pentru a putea coda mesajul transmis prin algoritmul Huffman static definim sursa: b c d a 4 4 2 S= 8    18 18 18 18  asupra căreia putem aplica algoritmul: a b c d

8 4 4 2

0 10 111 110

8 6 4

0 11 10

10 8

1 0

Cu ajutorul codului obţinut mesajul se transmite prin secvenţa binară: "001110111010111010" L3=34 biţi

(3.11.3)

d) Dacă mesajul iniţial este codat bloc pe 8 biţi lungimea secvenţei binare codate este: L0=18⋅8=144 biţi

(3.11.4)

Cu rezultatele conţinute în relaţiile (3.11.1, 2, 3 şi 4) găsim pentru factorii de compresie valorile: 144 = 1,7143 84 144 = = 2,2154 = 1,3F1 65 144 = = 4,2353 = 2,47 F1 34

F1 = F2 F3

(3.11.5)

40

Canale

Cap.4 Canale de transmisie Dicţionar: - canal (de transmisie) - cale (mediu fizic) de transmisie prin care circulă infpormaţia între emiţător (sursă) şi receptor (utilizator); - câmp (corp) - o mulţime K de elemente care satisfac următoarele axiome: 1. - pe K sunt definite două operaţii: adunarea şi înmulţirea; 2. - în raport cu adunarea K formează un grup abelian cu elementul nul 0; 3. - K \ {0} formează grup abelian pentru înmulţire; 4. - înmulţirea este distributivă faţă de adunare; - echivoc - 1. suspect, îndoielnic; 2.echivocaţie- măsură a efectului perturbaţiilor asupra comunicaţiilor prin canale; - capacitate –valoarea maximă pe care poate să o aibă un parametru al unui sistem, parametru ce indică performanţe de înmagazinare, transport sau prelucrare.

Definiţii: 1. - transferul informaţiei între câmpul de intrare X, cel de ieşire Y şi canal C: Informaţia ce o adaugă canalul, în medie, fiecărui simbol binar

Câmp intrare X

H(X)

H(Y/X)

I(X,Y)

H(Y) CANAL

Informaţia, în medie, ce intră în canal printr-un simbol binar

H(X/Y) Informaţia ce o pierde în canal, în medie, un simbol binar

Câmp ieşire Y

Informaţia ce iese, în medie, din canal printr-un simbol binar

Informaţia ce traversează canalul, în medie, cu un simbol binar

2. - Cantitatea de decizie D a unei surse cu m simboluri = maximul entropiei sursei D=Hmax; •

- Debitul de decizie D - cantitatea de decizie generată în unitatea de timp; •

- Debitul de momente M - numărul de momente transmise în unitatea de timp; - Baud (Bd) - unitatea de măsură a debitului de momente; - Moment - semnal elementar purtător de informaţie de durată TM.

Notaţii: x0=0E , x1=1E - simbolurile emisibile în canalul binar; X={x0 , x1} - câmpul de la intrare în canal; y0=0R , y1=1R - simbolurile recepţionabile din canalul binar; Y={y0 , y1} - câmpul de la ieşirea din canal; p(xi) - probabilitatea de a emite în canal xi; p(yj) - probabilitatea de a recepţiona din canal yj; P(Y/X) - matricea de tranziţie=[p(yj / xi)]2×2; p(yj /xi) probabilitatea (apriori) de a se recepţiona yj când a fost emis xi; P(X,Y) =[ p(xi, yj)]2×2; 41

Canale p(xi, yj) - probabilitatea de a se fi emis xi şi a se recepţiona yj; P(X/Y) =[ p(xi/yj)]2×2; p(xi/yj) - probabilitatea (aposteriorii) de a se fi emis xi când s-a recepţionat yj; ξ - raport semnal-zgomot.

Abrevieri:

RSZ (SNR) - Raport Semnal pe Zgomot (Signal to Noise Ratio); CBS - Canal Binar Simetric; BER - Bit Error Rate (rata erorii).

Breviar teoretic: 1. Relaţii între matrici 0  p(0 ) α β  P(X, Y ) =  E P(Y / X ) =    p(1E )  γ δ  0 p(0 R ) = α + γ p(1R ) = β + δ

(4.1) (4.2)

 1  0   p(0 ) P(X / Y ) = P(X, Y ) R  1   0  p(1R ) 2. Entropii condiţionate - eroarea medie H(Y / X ) = - echivocaţia H(X / Y ) =

1

1

∑ ∑ p(x i , y j )⋅ log2 p(y

i = 0 j= 0 1 1

∑ ∑ p(xi , y j )⋅ log2 p(x

i = 0 j= 0

- transinformaţia I(X, Y ) =

1

1

(

)

∑ ∑ p x i , y j ⋅ log 2

i = 0 j= 0

(4.3)

(

p xi , y j

1 ; / x j i

)

1 ; i / yj

)

( )

p(x i )p y j

pi



- continuu C = D max = M max log 2 m max = B log 2 (1 + ξ ) •



unde: M max = 2B - (canal ideal); M max =

5 B (canal real) 4

m max = 1 + ξ 4. Redundanţa şi eficienţa canalului R C = C − I(X, Y ) - redundanţa absolută I(X, Y ) - redundanţa relativ ρc = 1 − C I(X, Y ) - eficienţa ηc = C

42

(4.5)

)

= H(X ) − H(X / Y ) = H(Y ) − H(Y / X ) 3. Capacitatea canalului - discret C = max I(X, Y ) (biţi/simbol) •

(4.4)

(4.6)

(4.7) (4.8) (4.9) (4.10) (4.11) (4.12) (4.13)

Canale

4.1. Fie secvenţa binară: (4.1.1) i0=100101011100011100100110 generată de o SDFM echiprobabilă, X. În vederea transmiterii dibiţii din secvenţa i0 se codeză prin: 00 01 10 11

S00(t)= -3V S01(t)= -1V S10(t)= 1V S11(t)= 3V

∈[0,TM] t∈ ∈[0,TM] t∈ ∈[0,TM] t∈ ∈[0,TM] t∈

µs cu TM=250µ

(4.1.2)

Se cere: a) Să se calculeze entropia şi eficienţa sursei X; (H(X), ηX)



b) Debitul de informaţie al sursei X dacă codarea (4.1.2) se face în timp real; ( X ) c) Cantitatea de decizie corespunzătoare unui moment (moment = un semnal dintre S00, S01, S10 sau S11); (D) •

d) Debitul de momente; ( M ) e) Ce debit de informaţie (în biţi/sec) corespunde în acest caz unui Baud? (1Bd) f) Să se reprezinte grafic semnalul S(t): suport al informaţiei i0. Rezolvare: a) Probabilităţile de emisie (generare) a mesjelor binare 0 şi 1 fiind egale: p(0)=p(1)=1/2

(4.1.3)

rezultă pentru entropie şi eficienţa sursei valorile: H(X)=1 bit/simbol η=100%

(4.1.4)

b) Prin definiţie: H(X ) τx



X=

(4.1.5)

unde τx este timpul în care se transmite (generează) un simbol binar de către sursa X. Ştiind că două simboluri (un dibit) au o durată de transmitere, respectiv genereare (în timp real), de TM=250µs rezultă pentru τx valoarea: τx =

1 TM = 125µs 2

(4.1.6)

şi ca atare: •

X=

1 bit/simbol = 8 kbiti/sec 125 µs

(4.1.7)

43

Canale c) Conform definiţiei: D=log2m=2 biţi

(4.1.8)

unde m=4 reprezintă numărul de nivele de tensiune corespunzătoare dibiţilor (relaţia (4.1.2)). •

d) Debitul de momente M este numărul de semnale elementare (S00, S01, S10 sau S11) pe unitatea de timp: •

M=

1 1 = = 4000 Bd TM 250 ⋅ 10− 6

(4.1.9)



e) Cum debitul de informaţie este X = 8000 biţi/sec, corespunde la viteza de modulaţie (debitul de •

momente) M = 4000 Bd , rezultă pentru fiecare Baud câte 2 biţi de informaţie. f) Secvenţa binară dată va avea suport fizic următoarea succesiune de semnale elementare: S10S01S01S01S11S00S01S11S00S10S01S10

(4.1.10)

care formează semnalul: [V]

S[t]

3 2 1 0 -1 -2 -3

1

2

3

4

5

6

7

8

9

10

11

4.2. Presupunând semnalul ternar din figură: [V]

S[t]

+1 0

2

4

6

8

10

12

14

-1

suportul fizic al unei informaţii, să se afle: •

a) Viteza de modulaţie M (debitul de momente);

44

t/5µs

12

t/TM

Canale

b) Cantitatea de informaţie maximă ce se poate transmite printr-un simbol ternar; c) Debitul de informaţie ce rezultă dacă semnalul S(t) a fost obţinut prin modularea (codarea) unei secvenţe binare echiprobabile, în timp real, utilizând codul: 11 0 10

S+(t)= +1V S0t)= 0V S-(t)= -1V

∈[0,TM] t∈ ∈[0,TM] t∈ ∈[0,TM] t∈

(4.2.1)

d) Debitul maxim de informaţie ce poate fi obţinut printr-o codare adecvată utilizând : - un semnal ternar; - un semnal binar; - un semnal cuaternar. În toate cazurile se va considera aceeaşi viteză de modulaţie. Răspuns: •

1 = 105 simbol ternar / sec = 105 Baud TM b) D=log23=1,585 (biţi) a) M =

c) p(S+ ) = p + = p(1) ⋅ p(1) = 1 2 1 p(S− ) = 4 p(S0 ) =

DS =

1  ; 4   1 1   ⇒ H(S) = 2 ⋅ log 2 4 + ⋅ log 2 2 = 1 bit/simb.ternar 4 2    

• H(S) = 105 biti/sec < D ⋅ M = 1,585 ⋅ 105 biţi/sec TM

d) Semnal

D

binar ternar cuaternar

1 bit inf. / sg. binar 1,585 biţi informaţie / sg. ternar 2 biţi informaţie / sg. cuaternar



X [biţi / sec] 1/TM 1,585/TM 2/TM

D - cantitatea maximă de informaţie ce se poate înmagazina într-un semnal elementar de durată TM; •

X - debitul maxim de informaţie relativ la TM [sec].

45

Canale

4.3. Sursa de informaţie fără memorie constituită din caracterele echiprobabile A, C, D, E, I, N, R se codează cu un cod binar bloc (transpunere zecimal binară a numărului de ordine; fără cuvântul de pondere zero), apoi se cuplează la un canal de transmisie binar simetric având rata erorii egală cu 0,1. Calculaţi: a) entropia şi eficienţa sursei; (H(S) ηS) ηc) b) eficienţa codării; (η c) entropia câmpului de la intrarea în canal; (H(X)) d) matricea de tranziţie şi eroarea medie; (P(Y/X), H(Y/X)) e) câmpul de la ieşirea din canal şi entropia sa; (Y, H(Y)) f) echivocaţia şi transinformaţia; (H(X/Y), I(X,Y)) g) capacitatea canalului; (C) h) probabilitatea ca sursa să fi emis mesajul DAC atunci când s-a recepţionat mesajul RAC. (p(DACE/RACR)) Rezolvare: a) Sursa fiind echiprobabilă: H(S) = H max = log 2 7 ≅ 2,8 biţi/simbol ηS=100%

(4.3.1)

b) Conform cerinţelor problemei codul binar bloc este: A C D E I N R

001 010 011 100 101 110 111

Şi are lungimea medie a cuvintelor de cod: L=3 biţi/simbol

(4.3.2)

Pentru eficienţă rezultă valoarea: ηc =

H(S) = 93,58% L

(4.3.3)

c) Câmpul de la intrarea în canal conţine două simboluri binare ce pot fi emise în canal cu probabilităţile: 7 k 1 7 9 3 p(0E ) = ∑ p(Si ) 0i = ∑ k 0i = = 3 21 i =1 21 7 i =1 7 k 1 7 12 4 p(1E ) = ∑ p(Si ) 1i = ∑ k1i = = 3 21 i =1 21 7 i =1 46

(4.3.4)

Canale Astfel, tabloul sursei binare (secundare) ce emite în canal este:

şi are entropia:

1E  0  X =  E 3/ 7 4 / 7 H(X ) =

(4.3.5)

3 7 4 7 log 2 + log 2 = 0,9852281 biţi/simbol 7 3 7 4

(4.3.6)

Obs.: În fapt, sursa secundară X este cu memorie. Pentru a argumenta acest lucru, este suficient să considerăm sursa X fără memorie şi să calculăm probabilitatea de a emite A: 36 1 p(A ) = p(001E ) = p(0 E ) ⋅ p(0 E ) ⋅ p(1E ) = ⋅ 49 7 care diferă de p(A)=1/7, dat de echiprobabilitatea sursei primare. d) Canalul fiind binar simetric şi cunoscând rata erorii p=0,1 matricea de tranziţie are forma: p(0 / 0 ) p(1R / 0E ) 0E P(Y / X ) =  R E =  p(0R / 1E ) p(1R / 1E ) 1E

0 R 1R

p  0E 1 − p  p 1 − p = 1   E

0 R 1R

0,9 0,1  0,1 0,9 (4.3.7)  

Eroarea medie este "informaţia" medie, pe simbol binar, ce soseşte la recepţie şi nu provine de la emisie ci din canal: H(Y / X ) =

1

1

∑ ∑ p(x i , y j )⋅ log2 p(y

i = 0 j= 0

1 j / xi

)

(4.3.8)

unde: - p(yj/xi) = probabilitatea ca la recepţie să sosească yj dacă la emisie a fost transmis xi; probabilităţile de genul p(yj/xi) sunt conţinute în matricea P(Y/X) dată de relaţia (7). - p(xi , yj ) = probabilitatea de a se emite xi şi a se recepţiona yj; Aceste probabilităţi formează o matrice de forma P(X,Y) şi se calculează cu ajutorul relaţiei lui Bayes: i,j=0, (4.3.9) p(xi , yj )=p(xi)⋅ p(yj/xi) sau:

-

0  p(x ) P(X, Y ) =  0 P(Y / X ) p(x1 )  0

(4.3.10)

xi , yj cu i,j=0, 1 sunt notaţiile alternative pentru 0E, 1E respectiv 0R, 1R folosite pentru a scrie relaţiile compact: x 0 = 0E

x1 = 1E

0R = y 0

1R = y1

(4.3.11)

Obs.: Deşi atât câmpul de la intrare cât şi câmpul de la ieşire conţin aceleaşi două simboluri binare 0 şi 1, sunt necesare notaţii distincte pentru a putea fi distinse în diferitele relaţii matematice.

47

Canale Înlocuind rezultatele din (4.3.4) şi (4.3.7) în (4.3.10) găsim că:  2,7  P(X, Y ) =  7 0,4   7

0,3  7  3,6   7 

(4.3.12)

Dispunem acum de toate probabilităţile cerute de (4.3.8) pentru a putea calcula eroarea medie: 2,7 0,3 0,4 3,6 log 2 0,9 − log 2 0,1 − log 2 0,1 − log 2 0,9 = 7 7 7 7 = −0,9 log 2 0,9 − 0,1log 2 0,1 = 0,4689955 biti/simbol binar

H(Y / X ) = −

(4.3.13)

e) Probabilităţile simbolurilor de la ieşirea din canal, 0R şi 1R se află cu ajutorul formulelor: p(0R ) = p(y0 ) = p(x 0 , y0 ) + p(x1, y0 ) = p(0E ,0R ) + p(1E ,0R ) p(1R ) = p(y1 ) = p(x 0 , y1 ) + p(x1, y1 ) = p(0 E ,1R ) + p(1E ,1R )

(4.3.14)

sau compact:

[p(0 r ) p(1R )] = [1 1]⋅ P(X, Y ) =  3,1 7

3,9  7 

(4.3.15)

Sursa binară echivalentă ieşirii canalului este:  0R Y =  3,1  7

1R  3,9   7 

(4.3.16

şi are entropia: 3,1 7 3,9 7 3,1 3,9 log 2 log 2 log 2 3,9 ≅ + = log 2 7 − log 2 3,1 − 7 3,1 7 3,9 7 7 =0,990577biţi/simbol binar (4.3.17)

H(Y ) =

f) Echivocaţia, notată H(X/Y), este cantitatea medie de informaţie pe un simbol binar ce este pierdută de acesta (simbolul binar) în canal: H(X / Y ) =

1

1

∑ ∑ p(xi , y j )⋅ log2 p(x

i = 0 j= 0

1 i / yj

)

(4.3.18)

Calculând probabilităţile aposteriori p(xi/yj) cu relaţia: p(0 / 0 ) P(X / Y ) =  E R  p(1E / 0 R )

 1  p(0 ) p(0 E / 1E ) P X , Y = ( ) ⋅  R p(1E / 1R )  0 

48

 0  = 1  p(1R )

Canale  2,7  = 7 0,4   7

 0,3   7 0   27 1     7  ⋅  3,1  =  31 31  3,6  7  4 12  0   7   3,9   31 13 

(4.3.19)

Se găseşte valoarea echivocaţiei: 2,7 31 0,3 0,4 31 3,6 13 log 2 log 2 13 + log 2 log 2 + + 7 27 7 7 4 7 12 =0,463666 biţi/simbol binar

H(X / Y ) =

(4.3.20)

Transinformaţia I(X,Y) se poate afla utilizând egalităţile: I(X,Y)=H(X)-H(X/Y)=H(Y)-H(Y/X)

(4.3.21)

Utilizând (4.3.6) şi (4.3.20) găsim valoarea: I(X,Y)=0,521562 biţi / simbol binar

(4.3.22)

Valoare ce se găseşte şi folosind rezultatele din (4.3.13) şi (4.3.17). Obs.: - utilizarea relaţiilor necesare în rezolvarea problemelor de tipul prezentei implică calcule matematice voluminoase. Pentru a obţine rezultate bune este de preferat să nu se facă aproximări în calculele intermediare, obtând pentru varianta memorării lor cu ajutorul unităţii de calcul. O bună verificare a rezultatelor găsite se poate face cu ajutorul relaţiei (4.3.21). g) Capacitatea canalului binar simetric se calculează cu formula: C = 1 + p log 2 p + (1 − p )log 2 (1 − p )

(4.3.23)

şi, în cazul de faţă pentru p=0,1, este: C=0,531004biţi/simbol

(4.3.24)

Obs.: - capacitatea canalului, conform definiţiei, este maximul transinformaţiei. Rezultatul (4.3.24) se poate regăsi făcând în (4.3.21) H(Y)=1. h) Probabilitatea de a se fi emis "DAC" atunci când s-a recepţionat "RAC" este identică cu probabilitatea de a se fi emis secvenţa binară "011 001 010" atunci când s-a recepţiopnat "111 001 010": p(DACE / RACR ) = p(011001010E / 111001010 R ) = = p(0E / 0R )4 ⋅ p(0E / 1R ) ⋅ p(1E / 1R )4 = 4

4

 27  1  12  =   ⋅ ⋅   ≅ 3,2%  31  13  13 

49

(4.3.25)

Canale Obs.: - în ultima relaţie, (4.3.25), s-a făcut presupunerea că transmisia unui simbol binar este independentă de a celorlalte.

4.4. Sursa text (discretă şi fără memorie): "TEORIA TRANSMISIUNII INFORMATIEI" se codează binar bloc (ordonare alfabetică, pauza la sfârşit, cod binar natural) şi se cuplează la un canal de transmisie binar. Cunoscând că p(0R / 0E ) = 0,9 şi p(0R / 1E ) = 0,2 să se afle: a) matricea de tranziţie a canalului; (P(Y/X)) b) codul binar bloc; c) probabilitatea ca sursa să emită mesajul METEOR; d) probabilitatea de a se fi recepţionat TEN dacă s-a emis TEO; e) probabilitatea de a se fi emis MAR dacă s-a recepţionat MAT; f) entropiile câmpurilor de intrare şi ieşire; (H(X), H(Y)) g) eroarea medie şi echivocaţia; (H(Y/X), H(X/Y)) h) transinformaţia şi capacitatea canalului; (I(X,Y), C) Răspuns: a)

P(Y / X ) =

0E 1E

b) A E F I M N O R S T U _

3/32 2/32 1/32 8/32 2/32 3/32 2/32 3/32 2/32 3/32 1/32 2/32

0 R 1R

0,9 0,1 0,2 0,8   0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 2⋅ 2⋅3⋅ 2⋅ 2⋅3

c)

p(METEOR E ) =

d)

= p(0R / 0E )6 ⋅ p(0R / 1E ) ⋅ p(1R / 0E ) ⋅ p(1R / 1E )4 = 0,96 ⋅ 0,2 ⋅ 0,1 ⋅ 0,84 = 0,435% 9 7 , p(0E ) = p(1E ) = 16 16

e)

6

= 1,34 ⋅ 10− 7

32 p(TEN R / TEO E ) = p(1001 0001 0101R / 1001 0001 1001E ) =

în ipoteza că sursa secundară {0E,1E} este fără memorie. 50

Canale 0 R 1R

P(X, Y ) = p(0R ) =

0E 1E

9,5 16

 8,1  16 1,4   16

0,9  16  5,6   16 

p(1R ) =

6,5 16

0 R 1R

P(X / Y ) =

0E 1E

 81  95 14   95

9 65  56   65 

p(MAR E / MATR ) = p(0E / 0R )7 ⋅ p(0E / 1R ) ⋅ p(1E / 0R )2 ⋅ p(1E / 1R )3 = 7

2

3

 81  9  14   56  =   ⋅ ⋅   ⋅   = 0,63 ⋅ 10−3  95  65  95   65  f)

H(X)=0,988699408 biţi/simbol binar H(Y)= 0,974489403 biţi /Simbol binar

g)

H(Y/X)=0,579653563 biţi/simbol binar H(X/Y)= 0,593863568 biţi /Simbol binar

h)

I(X,Y)=0,39483584 biţi/simbol binar C= 0,420346437 biţi/simbol binar

4.5. Sursa text ANTENA RECEPTOARE codată binar bloc (ordonare alfabetică +CBN) se cuplează la un canal de transmisiune binar având matricea de tranziţie: 0,9 0,1 P=  0,2 0,8

a) Să se afle tabloul sursei primare S; b) Să se afle tabloul sursei secundare X, ce emite în canal, considerându-se că este SDFM; c) Considerând că S' este sursa având aceleaşi simboluri ca şi S dar cu probabilităţi cele de recepţionare a mesajelor, să se afle tabloul sursei S; d) Cât sunt probabilităţile: p(CAPE) - de a se emite mesajul CAP; p(CAPR) - de a se recepţiona mesajul CAP; p(CAPR /CAPE) - de a se recepţiona mesajul CAP dacă acesta a fost emis; p(CAPE /CAPR) - de a se fi emis mesajul CAP dacă acesta a fost recepţionat?

51

Canale Rezolvare: a) Tabloul sursei primare S este:  AE S= 3   16

CE 1 16

EE 4 16

NE 2 16

OE 1 16

PE 1 16

RE 2 16

TE  2   16 

(4.5.1)

Obs.: Indicele "E" se referă la emisie. Codul bloc este: A C E N

000 001 010 011

O P R T

100 101 110 111

(4.5.2)

b) Utilizând relaţiile (4.3.4) aflăm că: 13 24

p(0 E ) =

p(1E ) =

11 24

4.5.3)

c) Pentru a afla probabilităţile simbolurilor recepţionabile se utilizează formula probabilităţii totale (1.5). De exemplu, pentru calculul probabilităţii de a recepţiona A, se foloseşte relaţia:

unde:

p(A R ) = p(A E ) ⋅ p(A R / A E ) + p(C E ) ⋅ p(A R / VE ) + ! + p(TE ) ⋅ p(A R / TE )

(4.5.4)

p(A R / A E ) = p(000 R / 000 E ) = p(0 R / 0 E )3 = 0,9 3

(4.5.5)

Folosind relaţiile de forma (4.5.4) şi (4.5.5) se calculează probabilităţile de recepţionare pentru toate cele 8 simboluri. Aceste calcule sunt indicate în tabelul de mai jos: Probabilitate simbol ×16 Simbol A

3 A

1

4

C

E

2

2

3

9 ⋅2

C

9 2 ⋅1

E

9 2 ⋅1

92 ⋅ 8 9⋅2⋅1

N

9 ⋅ 12

O

2

1

N

O 2

1

2

P

R

3355

22 ⋅ 8

1485 3515

2⋅1⋅8

22 ⋅ 8 2⋅8⋅8

9⋅8⋅1

9⋅8⋅2

8 ⋅ 22

1485

8⋅2⋅1

82 ⋅ 2

1075

9⋅8⋅1

9 ⋅ 82 8⋅2⋅1

9 ⋅ 82

82 ⋅ 2

1845

8 ⋅ 12

82 ⋅1

82 ⋅1

83

1395

2

9⋅2 9⋅2⋅8

9 ⋅2 9⋅2⋅1

9⋅2 9⋅2⋅8

9⋅8⋅2

9⋅2⋅1

9⋅1⋅8

92 ⋅ 8 9⋅8⋅1

9 ⋅ 82

2 ⋅ 12

2 2 ⋅1 2⋅1⋅8

9 2 ⋅1

9⋅1⋅2

9⋅1⋅2

P

9 ⋅ 12

9⋅8⋅1

92 ⋅ 8 9⋅8⋅1

R

9 ⋅ 12

2 ⋅ 12

2 ⋅ 12 9⋅8⋅1

2 2 ⋅1 8⋅2⋅1 8⋅2⋅1

T

13

8 ⋅ 12

8 ⋅ 12

82 ⋅1

Tabloul sursei S' va fi:

52

T

÷16.000

23

2

9 ⋅2 9⋅2⋅1

9

2

9⋅2

2

2 2 ⋅1 9⋅8⋅2

1845

Canale

C  A  3 . 355 1485 S =   16000 16000 '

E N 3515 1845 16000 16000

O P 1485 1075 16000 16000

R T  1845 1395  (4.5.6)  16000 16000 

Obs.: comparând (4.5.1) cu (4.5.6) se observă că A, C, O şi P sunt mai probabile la recepţie decât la emisie în vreme ce probabilităţile simbolurilor E, N, R şi T au scăzut, în probabilitate, la recepţie faţă de emisie. d) Probabilităţile cerute sunt: p(CAPE ) = p(CAPR ) =

3 3

= 0,7 ⋅ 10 − 3

16 5,3558 16

3

= 1,3 ⋅ 10 − 3

p(CAPR / CAPE ) = p(001000101R / 001000101E ) = 0,9 6 ⋅ 0,83 = 272 ⋅ 10 −3 6

3

 117   88  −3 p(CAPE / CAPR ) = p(001000101E / 001000101R ) =   ⋅  = 235 ⋅ 10  139   101  unde: p(0E/0R) şi p(1E/1R) s-au calculat cu relaţiile (4.1, 2 şi 3): 11,7 1,3    P(X, Y ) =  24 24  2,2 8,8    24 24  13,9 10,1 p(0 R ) = p(1R ) = 24 24 117 13    P(X / Y ) = 139 101 22 88   139 101 Obs.: Calculul probabilităţilor p(0R) şi p(1R) se poate face şi cu relaţii de forma (4.3.4), rezultând aceleaşi valori.

4.6. Care este durata transmiterii unei imagini alb-negru formată din N=106 pixeli printr-un canal: a) telefonic cu banda cuprinsă între 300-3400 Hz; b) video cu banda 12 MHz; c) optic (fibră optică) cu banda de 1 GHz; Intensitatea fiecărui pixel se cuantizează pe 128 nivele, iar raportul semnalzgomotul se consideră cel minim necesar. Rezolvare:

53

Canale Informaţia conţinută într-o imagine, necesară a fi transmisă, este: Iim = N ⋅ i pixel = 106 ⋅ log 2 128 = 7 ⋅ 106 biţi/imagine

(4.6.1)

La 128 de nivele de cuantizare este necesar un raport semnal-zgomot minim: ξ ≅ (128)2 = 214

(4.6.2)

pentru care rezultă capacităţile canalelor: CT = BT log 2 (1 + ξ ) = 3,1 ⋅ 103 ⋅ 14 = 43,4 kbiţi/sec C V = B V log 2 (1 + ξ ) = 12 ⋅ 10 6 ⋅ 14 = 168 Mbiţi/sec C O = B O log 2 (1 + ξ ) = 10 6 ⋅ 14 = 14 Gbiţi/sec

(4.6.3)

Dacă transmisiile s-ar face la aceste capacităţi (debite de informaţie) rezultă timpii de transmisie: I t T = im = 161,3 sec CT I t V = im = 41,7 ms CV I t O = im = 0,5 ms CO

(4.6.4)

4.7. La ce raport semnal-zgomot minim s-ar putea transmite, în cele trei cazuri din problema anterioară, imaginile cu viteza necesară de 25 imagini/sec? Rezolvare: Capacitatea cerută fiecărui canal este: C=

Iimag τimag

= 25 ⋅ Iimag / 1 sec = 175 Mbiţi/sec

(4.7.1)

Această capacitate se poate obţine la un raport semnal/zgomot: ξ = 2C / B − 1 sau (dacă C>>B): ξ dB = 3 ⋅ Cunoscând în fiecare caz banda disponibilă avem că: ξT dB ≅ 3

175 ⋅ 106 3,1 ⋅ 103

= 169355 dB

54

C B

(4.7.2)

Canale

V ξdB

≅3

175 ⋅ 106 12 ⋅ 106

= 43,75 dB

(4.7.3) ξO = 20,175 − 1 = 0,129 sau ξO dB ≅ −9dB Obs.: Evident că un raport semnal-zgomot de 169355 dB este un răspuns non sens pentru practică.

4.8. Reprezentaţi secvenţa de date prezentată în figura de mai jos, pe rând în codurile NRZ, RZ, AMI şi HDB3. Calculaţi componenta medie, în fiecare caz, luând valoarea vârf la vârf a semnalului A. 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 Tb

Răspuns: RZ

A

AMI HDB3 NRZ Componentă medie: NRZ - 11/25 A RZ - 11/50 A

AMI - O

HDB3 - 1/50 A

4.9. Desenaţi semnalele de linie în cod HDB3 pentru următoarele secvenţe de date: a) 10100100000000011110; b) 00010010000100001001; c) 10000110000011000011;

55

Canale

4.10. Care va fi semnalul de linie (L) dacă la intrarea cifratorului din figură: C3

C2

C1 +

i +

L

se aduce semnalul: i=11101000000110000111... 1  Starea iniţială a RDR este S0 = 0 . 0 Răspuns: 01010001011010101001.

56

LUCRARI DE LABORATOR

COBSINF

Codarea binară a surselor de informaŃie Lucrarea de faŃă îşi propune explicitarea algoritmilor de calcul pentru a coda binar surse de informaŃie întâlnite în practică. Codarea binară a surselor de informaŃie are dublu rol, de mărire a eficienŃei sursei de informaŃie (şi implicit de micşorare a costului transmisiei prin scăderea timpului transmisiei); de adaptare a sursei de informaŃie la canalul transmisiune (canal binar, în majoritate). Din punct de vedere al codării, la o sursă de informaŃie interesează numărul de simboluri N şi probabilităŃile lor de apariŃie pi , i = 1, N . Doar pe utilizator îl interesează ce reprezintă fiecare mesaj în parte (literă de alfabet, nivel al intensităŃii pixelilor dintr-o imagine, valori ale unor mărimi fizice ce variază arbitrar1). Codarea este operaŃia prin care fiecărui simbol al sursei, si, i se alocă o succesiune binară unică: ri1 , ri2 , ... rili = ci

si

(1)

unde ci reprezintă cuvântul de cod asociat simbolului (mesajului) sursei, iar rij , cu i = 1, N , biŃii componenŃi ai cuvântului de cod (pot lua valori binare ”1” sau ”0”). Suportul fizic al valorilor binare este, de asemenea, mai puŃin important pentru codare. Acest suport poate fi un semnal electric, optic, acustic, etc. În expresia (1) li reprezintă lungimea cuvântului de cod ci (număr de simboluri binare). Lungimea medie a cuvintelor de cod este dată de relaŃia: N

L=

∑p

i

⋅ li

(2)

i =1

Ieşirea codorului, pentru canalul de transmisie, reprezintă o sursă de informaŃie numită secundară. Această sursă poate genera simbolurile 0 şi 1. Entropia (informaŃia medie pe simbol), entropia maximă, precum şi eficienŃa sursei primare, sunt date de relaŃiile: N

H(S) =

∑p

i

⋅ log 2

i =1

1 ; pi

H max (S) = log 2 N ; ηS =

H(S) H max (S)

(3)

Entropia sursei secundare este egală cu informaŃia medie pe un cuvânt raportată la lungimea medie a cuvântului: H(X) =

H(S) L

(4)

Atribuirea literelor de alfabet rij pentru a forma cuvântul de cod ci trebuie să conducă la îndeplinirea condiŃiilor: - codul să fie instantaneu (nici un cuvânt nu este prefixul altuia); 1

Deşi, aparent, astfel de surse de informaŃie nu au un număr finit de simboluri, prin eşantionare şi cuantizare, orice sursă de informaŃie poate fi redusă la una cu număr finit de simboluri.

1

COBSINF - codarea să conducă la o eficienŃă maxim posibilă. Această condiŃie se realizează folosind cuvinte de lungime variabilă, mai mare pentru simboluri de probabilitate de emisie (a sursei primare) mai mică. Codarea cu cuvinte de lungime variabilă este mai complicată, dar conduce la o sursă secundară cu eficienŃă mai bună şi la o ieftinire a transmisiei, lungimea medie a cuvintelor de cod fiind mai mică. Codarea cu cuvinte de lungime constantă este mai simplă dar cuvintele având aceeaşi lungime oferă maleabilitate la prelucrări ulterioare. Codarea cu cuvinte de lungime constantă se mai numeşte şi codare cu cod bloc. Cuvintele codului bloc sunt secvenŃe binare diferite, de aceeaşi lungime L. Ştiind că numărul de secvenŃe diferite ce pot fi constituite cu L cifre binare este 2L, rezultă că numărul simbolurilor sursei trebuie să fie mai mic decât 2L, sau: L ≥ log 2 N = H max (S) > L –1 (5) InecuaŃia a doua din (5) se datorează criteriului de eficienŃă minim posibilă (sub restricŃia de cod bloc). Realizarea condiŃiilor mai sus precizate se face prin codare după algoritmul Huffman (static). Acesta presupune: 1. Ordonarea probabilităŃilor sursei (primare) în ordine descrescătoare; 2. Simbolurile cu probabilităŃile cele mai mici (ultimele două1 în ordonare) se reunesc formând un nou simbol cu probabilitatea sumei celor două, după care se reordonează probabilităŃile, obŃinându-se o sursă cu N-1 simboluri; 3. Procesul continuă până când rămân 2 simboluri. Acestora li se atribuie valorile 0 şi 1; 4. Mergând pe cale inversă, se disociază simbolurile compuse în simboluri din care s-au compus, atribuind arbitrar, la fiecare disociere, valorile 0 şi 1 pentru a găsi cuvintele de cod pentru cei doi componenŃi. De reŃinut că doar un singur simbol se disociază la fiecare pas, lungimea componenŃilor săi crescând cu 1, celelalte simboluri păstrându-şi lungimea şi structura cuvântului de cod. ObservaŃie: -atribuirea simbolurilor binare celor două simboluri compuse este arbitrară, codurile obŃinute vor fi diferite, dar de aceeaşi eficienŃă. De asemenea, ordinea simbolurilor de egală probabilitate poate fi aleasă arbitrar, diferitele moduri de atribuire conducând la coduri diferite, dar de aceeaşi eficienŃă. Însă, în vederea posibilităŃii de a confrunta rezultatele, se vor respecta regulile: -„0” se atribuie totdeauna simbolului de jos (ultimul în ordonare); -ordinea simbolurilor egal probabile este ordinea în care s-au citit, cu simbolul compus totdeauna ultimul. Programul pe calculator, asociat acestei lucrări, permite codarea surselor de informaŃie prin algoritm Huffman static. Precizarea sursei de informaŃie se poate face simplu, introducând valorile probabilităŃilor sursei şi numărul lor. ProbabilităŃile trebuie să îndeplinească condiŃia: N

∑p

i

=1

;

0 ≤ pi ≤ 1 ;

∀ i = 1, N

(6)

i =1

ProbabilităŃile pot fi introduse indirect, prin numere întregi, pozitive ki, calculatorul urmând să facă transformarea:

1

Algoritmul se poate aplica şi pentru obŃinerea codurilor nebinare (având un alfabet cu m simboluri). În acest caz se grupează câte m simboluri.

2

COBSINF pi =

ki

(7)

N

∑k

i

k −1

ceea ce asigură îndeplinirea relaŃiei (6). Sursa de informaŃie poate fi şi un text scris (în caractere ASCII), cu cel puŃin 3 caractere diferite. Calculatorul va înŃelege că simbolurile sursei (caracterele prezente în text) au probabilităŃi precizate prin ponderea lor în text (număr de prezenŃe ale caracterului respectiv raportat la întregul număr de caractere ale textului). Programul permite şi o a treia sursă de informaŃie. Simbolurile acesteia reprezintă intervale de lungime egală, şi în număr finit, de pe axă reală. În acest caz datele vor consta în valorile eşantioanelor unui semnal discret ( fig.1) , mărginit în timp cu suportul finit precizat ca dată de intrare M. Tot ca dată de intrare calculatorul va cere şi q-cuanta. Având aceste mărimi q (cuanta), M (numărul de eşantioane) şi b(i) (valorile eşantioanelor), pentru găsirea simbolurilor sursei şi implicit a numărului lor – N, calculatorul va proceda astfel: • va căuta eşantioanele de valoare minimă şi maximă : min; max; max − min ] + 1 unde [ ] semnifică partea întreagă; • va calcula N = [ 2

b(2)=maxim b(1) b(3)

b(M) Nq q

b(4)=minim Fig.1 Sursă de informaŃie „semnal discret”

max − min ] + 1 unde [ ] semnifică partea întreagă; q • va atribui sursei de informaŃie primare simbolurile: [ min, min + q ); [min+q, min+2q); ... ;[min+(N-1)q,min+Nq) • va calcula probabilitatea simbolurilor ca fiind egale cu fracŃiunea din numărul eşantioanelor M, ce au valori cuprinse în intervalele ce definesc simbolurile. Este posibil desigur să rămână simboluri cu probabilitate 0. În toate cele 3 cazuri se vor calcula şi se vor putea vizualiza: a) probabilităŃile sursei primare; b) datele asociate sursei şi codării: entropia sursei primare H(S); entropia maximă a sursei primare Hmax(S); eficienŃa sursei primare ηS; entropia sursei secundare (eficienŃa codării) H(X); lungimea medie a cuvintelor de cod L; redundanŃa sursei primare R(S)=Hmax(S)-H(S); •

va calcula N = [

3

COBSINF

c) d) e) f)

redundanŃa relativă a sursei primare ρS =1-ηS ; redundanŃa sursei secundare ρX =1-H(X). cuvintele de cod; graful codării; schema algoritmului Huffman (numai pentru cazul codării cu cuvinte de lungime variabilă ); în cazul sursei „semnal discret” se pot vedea şi graficul semnalului precum şi valorile eşantioanelor.

Desfăşurarea lucrării 1. RulaŃi programul selectând opŃiunea „DemonstraŃie”. SelectaŃi pe rând cele trei feluri de surse de informaŃie (tablou, text şi semnal discret), şi pentru fiecare sursă solicitaŃi o codare bloc şi o codare prin algoritmul Huffman static. UrmăriŃi aplicarea algoritmului. 2. AlcătuiŃi surse de informaŃie de forma celor prezentate şi codaŃi-le bloc şi prin algoritmul Huffman static, calculând în fiecare caz entropia sursei, eficienŃa sursei, lungimea medie a cuvintelor codului obŃinut, precum şi eficienŃa codării. PorniŃi pentru început cu surse tablou mai simple, apoi măriŃi numărul de simboluri. UtilizaŃi ulterior şi surse „text” sau „semnal discret”. 3. La sfârşitul lucrării de laborator se va efectua test asupra cunoştinŃelor acumulate. Durata acestuia este aproximativ constantă şi independentă de numărul de studenŃi ce efectuează simultan testul (calculatorul poate testa până la 4 studenŃi simultan – în sensul că afişează pe rând date pentru cei n ≤ 4 studenŃi şi apoi întreabă pe rând, în aceeaşi ordine studenŃii, timpii de afişare şi de chestionare rezervaŃi fiecărui student sunt constanŃi şi nu influenŃează pe cei rezervaŃi altuia). Rezultatul testului se va concretiza printr-o notă, calculată automat de calculator.

4

L2. ALGORITMUL HUFFMAN DINAMIC 2.1 Scopul lucrării Lucrarea îşi propune familiarizarea cu unul dintre cei mai familiarizaŃi algoritmi de compresie şi anume algoritmul Huffman dinamic. 2.2 NoŃiuni generale Compresia este procesul de minimizare a spaŃiului ocupat sau a timpului necesar transmiterii unei anumite cantităŃi de informaŃie. Metodele de compresie pot fi împărŃite în: • Metode de compresie cu pierdere; • Metode de compresie fără pierdere. Metodele de compresie cu pierdere de informaŃie sunt folosite în special în transmiterea semnalului audio şi video, unde pierderea de informaŃie are ca rezultat o scădere a calităŃii sunetului, respectiv imaginii. Compresia de date fără pierdere, prezentă în programele de arhivare, în sistemele de transmisiune a datelor, a evoluat de-a lungul timpului pornind de la algoritmi simpli (suprimarea zerourilor, codarea pe şiruri) şi ajungând la algoritmii complecşi folosiŃi în prezent. Metodele de compresie fără pierderi au la bază ideea că în general cantitatea de informaŃie prelucrată (transmisă, depozitată) conŃine o anumită redundanŃă ce se datorează: • DistribuŃiei caracterelor (unele caractere au o frecvenŃă de apariŃie mult mai mare decât altele); • Repetării consecutive a unor caractere; • DistribuŃiei grupurilor de caractere (unele grupuri sunt mult mai frecvente decât altele şi în plus există grupuri care nu apar deloc); • DistribuŃiei poziŃiei (unele caractere sau grupuri ocupă poziŃii preferenŃiale, predictibile în anumite blocuri de date). Având în vedere toate aceste tipuri se poate înŃelege de ce o anumită tehnică de compresie poate da un rezultat bun pentru un anumit tip de surse, pentru altele însă rezultatul fiind dezastruos. În studiul compresiei se urmăreşte obŃinerea unui algoritm care să ofere o compresie cât mai bună pentru tipuri de surse cât mai diferite. Aprecierea cantitativă a compresiei realizate se face utilizând factorul de compresie, definit ca: n Fc = u (2.1) nc unde nu este lungimea în biŃi a mesajului iniŃial şi nc lungimea de compresie. 2.3 Algoritmul Huffman dinamic Algoritmii de tip Huffman static au dezavantajul că necesită cunoaşterea prealabilă a statisticii sursei. Acest dezavantaj poate fi înlăturat utilizând un algoritm dinamic. Algoritmul Huffman dinamic este un algoritm de compresie. Mesajele au fost deja codate în prealabil, dar neeficient, cu un cod bloc, de lungime n biŃi/cuvânt. Ideea de bază în această codare este folosirea pentru codarea unui simbol si+1 din mesaj a unui graf de codare, ce este un arbore care creşte, dintr-un punct iniŃial (numit sursă) şi care este construit pe baza primilor i simboluri din mesaj. După transmiterea simbolului si+1 se va revizui arborele de codare în vederea codării simbolului si+2.

Codarea presupune la fiecare pas transmiterea codului aferent simbolului de intrare şi modificarea corespunzătoare a grafului şi a codului. Dacă în mesajul transmis este un simbol nou, adică un simbol care n-a mai apărut în mesaj, se transmite mai întâi codul frunză goală şi apoi cei n biŃi aferenŃi simbolului nou apărut. Frunza goală are semnificaŃia că urmează un nou simbol. Frunza goală se codifică ca un mesaj oarecare, dar ponderea sa întodeauna va rămâne nulă. Exemplu: În continuare se prezintă evoluŃia arborelui (grafului) asociat codului în timpul codării mesajului “Mi = aaabccc”: Obs: SemnificaŃia notaŃiilor este: -pentru nod:

x

p

- x: număr de ordine (creşte de la stânga spre dreapta şi de jos în sus pe linii); - p: ponderea cumulată din nodurile aferente. - pentru frunză (nod terminal):

x

p

y

- x: număr de ordine; - p: pondere (număr de apariŃii ale respectivului simbol); - y: simbolul. Frunza goală, notată cu "0", este de pondere 0. - pentru ramură: - spre stânga ≡ codare cu zero; - spre dreapta ≡ codare (atribuire) cu unu. 1. Mi = “a” 3 1 0 1 0

1 2 1 a

Codurile sunt: 0 - 0 a-1 Mesajul transmis este: “a”

2. Mi = “aa” 3 2 0 1 0

1 2 2 a

Codurile sunt: 0 - 0 a-1 Mesajul transmis este: “a1”

3. Mi = “aaa” 3 3 0 1 0

1 2 3 a

Codurile sunt: 0 - 0 a-1 Mesajul transmis este: “a11”

4. Mi = “aaab” 5 4 0 3 1

1 4 3 a

0

1

1 0

Codurile sunt: 0 - 00 a-1 b - 01 Mesajul transmis este: “a110b”

2 1 b

5. Mi = “aaabc” 7 5 0 5 2

6 3 a

0

1

3 1

Codurile sunt: 0 - 000 a-1 b - 01 c - 001 Mesajul transmis este: “a110b00c”

4 1 b

0 1 0

1

1 2 1 c

6. Mi = “aaabcc” 7 6 0 5 3

6 3 a

0

1

3 2

4 1 b

0 1 0

1

Codurile sunt: 0 - 000 a-1 b - 01 c - 001 Mesajul transmis este: “a110b00c001”

1 2 2 c

Deoarece ponderea nodului “c” este mai mare decât ponderea nodului “b” se va face interschimbarea între noduri, realizându-se o rearanjare a arborelui: 7 6 0

1

5 3 0

1

3 1 0 1 0

6 3 a

4 2 c 1 2 1 b

Codurile sunt: 0 - 000 a-1 b - 001 c - 01 Mesajul transmis este: “a110b00c001”

7. Mi = “aaabccc” 7 7 0 5 4 1

3 1

1 0

1 6 3 a

0

0

Codurile sunt: 0 - 000 a-1 b - 001 c - 01 Mesajul transmis este: “a110b00c00101”

4 3 c 1 2 1 b

În urma rearanjării arborelui se obŃine: 7 7 0 1 5 3 a

6 4 0

1

3 1 0 1 0

Codurile sunt: 0 - 100 a-0 b - 101 c - 11 Mesajul transmis este: “a110b00c00101”

4 3 c 1 2 1 b

Dacă se presupune că simbolurile mesajului de la intrare au fost codate în prealabil cu un cod bloc, cu n=8 biŃi/cuvânt vom avea lungimea mesajului iniŃial: Considerând caracterele în mesajul iniŃial codate pe 8 biŃi, lungimea acestuia este: nu=7⋅8=56 biŃi Mesajul comprimat (a110b00c00101) are: nc=8⋅3+10=34 biŃi

(2.2)

(2.3)

Rezultă un factor de compresie: F=

nu ≅ 1, 7 nc

2.4 Desfăşurarea lucrării 2.4.1 Se lansează executabilul dHuffman.exe din directorul Huffman Dinamic, după care se introduce parola TTI. RulaŃi programul, selectând opŃiunea DemonstraŃie, pentru codare şi decodare. 2.4.2 Se verifică, cu programul, exemplul luat în această lucrare, selectând pe rând compresia, respectiv decompresia prezentate. 2.4.3 Pentru compresie şi decompresie se alege câte un exemplu oarecare asemănător cu cel prezentat în lucrare. Se realizează compresia/decompresia, după care, cu programul, se verifică rezultatele obŃinute. 2.4.4 La sfârşitul lucrării de laborator se va efectua un test asupra cunoştinŃelor acumulate. Rezultatul testului se va concretiza printr-o notă, calculată automat de calculator.

L5. CODUL HAMMING 5.1 Scopul lucrării Lucrarea îşi propune realizarea unei codări/decodări utilizând codul Hamming corector de o eroare, respectiv codul Hamming corector de oeroare şi detector de două erori. 5.2 Cod Hamming corector de o eroare Codurile Hamming constiruie prima clasă de coduri bloc liniare corectoare de erori şi au fost propuse de R. Hamming în 1950. Codul Hamming este un cod protector. Scopul codării este acela de a adapta sursa de informaŃie la canalul de transmisie. În cazul de faŃă sursa este deja codată şi se face o codare pentru protecŃia informaŃiei. Acest lucru se realizează prin mărirea redundanŃei (prin creşterea suportului binar; biŃilor de informaŃie adăugânduse biŃii de control). BiŃii de control au ca scop de a crea legături, relaŃii între biŃii de informaŃie. Aceste relaŃii folosesc codorului pentru a calcula biŃii de control şi folosesc decodorului pentru a verifica corectitudinea transmisiei. Codul Hamming este un cod nesistematic (simbolurile de control sunt intercalate printre simbolurile informaŃionale, situându-se pe poziŃii puteri ale lui 2). 5.2.1 Codarea codului Hamminmg corector de o eroare Particularitatea codului liniar Hamming corector de o eroare constă în forma matricii de control, H, care are fiecare coloană structurată prin reprezentarea binară a numărului zecimal de ordine al coloanei respective. Din acest motiv, corectorul Z, calculat cu relaŃia Z = H ⋅ V T , decodat din binar în zecimal, indică numărul de ordine zecimal al bitului eronat din cuvântul recepŃionat. DistanŃa minimă a acestui cod este: d ≥ 2ec + 1 = 3 , unde ec reprezintă numărul de erori corectabile. Se consideră codul cu parametrii: • n=7, numărul de simboluri în cuvânt; • m=3, numărul de simboluri de control în cuvânt; • k=4, numărul de simboluri de informaŃie în cuvânt. SecvenŃa de informaŃie este: i = i 3i 5 i 6 i 7 şi secvenŃa de control: C = C1C2 C 4 astfel încât cuvântul de cod rezultat va fi: V = C1C2i3C4i5i 6i 7 Codarea înseamnă calculul simbolurilor de control C1, C2, şi C4 când se dau simbolurile de informaŃie i3, i5, i6, i7. RelaŃia de codare:

1

 C1  C   2 0 0 0 1 1 1 1  i3    T H ⋅ V = 0 = 0 1 1 0 0 1 1 C 4  = 0 1 0 1 0 1 0 1  i 5     i6  i   7

(5.1)

unde H reprezintă matricea de control, ce este de dimensiune m×n. Sau în formă explicită: C1 = i 3 + i5 + i 7 C2 = i3 + i 6 + i 7 C4 = i5 + i 6 + i 7

(5.2)

Suma făcându-se modulo doi. Exemplul 1: Pentru n=7, k=4, m=3 şi secvenŃa de informaŃie i=1010, găsiŃi cuvântul V de cod. Rezolvare: Se observă că există 4 simboluri de informaŃie: i3, i5, i6, i7. Cuvântul de cod,V, se poate scrie sub formă literară: V = C1C2i3C4i5i 6i 7 . Avem aşadar 7 simboluri ce alcătuiesc cuvântul de cod şi 3 biŃi de control. Rezultă că matricea de control, H, va conŃine 3 linii şi 7 coloane. Din relaŃia de codare (5.1), rezultă relaŃiile de calcul a biŃilor de control: C1 = i 3 + i5 + i 7 = 1 + 0 + 0 = 1 C2 = i3 + i 6 + i 7 = 1 + 1 + 0 = 0 C4 = i5 + i 6 + i 7 = 0 + 1 + 0 = 1 Rezultă cuvântul de cod: V=1011010 5.2.2 Decodarea codului Hamminmg corector de o eroare Având cuvântul recepŃionat V ' , compus din 7 imboluri: V ' = C1' C'2i3' C'4i5' i '6i '7 se poate calcula corectorul codului Hamming cu relaŃia: z 4  'T z = H ⋅ V =  z 2   z1  Matricea de control:

H[m,n ] = [ h1 L h i L h n ]

(5.3)

(5.4)

unde, pentru acest caz se observă că m=3 şi n=7. Coloana hi exprimă în cod binar natural numărul de ordine al coloanei respective, cu bitul cel mai puŃin semnificativ în linia m.

2

Din relaŃia (5.3) rezultă: z 4 = C'4 + i5' + i '6 + i '7 z 2 = C'2 + i3' + i '6 + i '7

(5.5)

z1 = C1' + i 3' + i5' + i '7

Decodarea zecimală a corectorului z, indică poziŃia erorii, dacă este una singură, în cuvântul V ' . Va fi eronat simbolul cu indicele r, dat de relaŃia: r = 4z 4 + 2z 2 + z1

(5.6)

Cuvântul recepŃuionat se mai poate scrie ca fiind: unde ε reprezintă cuvântul eroare. RelaŃia (5.3) va deveni:

V' = V + ε ,

z = H ⋅ V ' = H ⋅ ( V + ε ) = H ⋅ εT = h r unde poziŃia erorii se calculează cu relaŃia (5.6). T

T

Obs: În cazul în care există două erori, sunt cazuri în care nu numai că nu se corectează nici o eroare, dar se mai eronează un al treilea simbol, rezultând la recepŃie trei simboluri eronate. Exemplul 2: DecodaŃi cuvântul recepŃionat V’=1001001 Rezolvare: Cuvântul de cod recepŃionat se poate scrie ca fiind: V ' = C1' C'2i3' C'4i5' i 6' i 7' V ’= 1 0 0 1 0 0 1 RelaŃia (5.5) va deveni: z 4 = C'4 + i 5' + i '6 + i '7 = 1 + 0 + 0 + 1 = 0 z 2 = C'2 + i 3' + i 6' + i 7' = 0 + 0 + 0 + 1 = 1 z1 = C1' + i3' + i5' + i 7' = 1 + 0 + 0 + 1 = 0 Aşadar, poziŃia eronată este: r = 4z 4 + 2z 2 + z1 = 4 ⋅ 0 + 2 ⋅1 + 1 ⋅ 0 = 2 Rezultă cuvântul eroare: ε = 0100000 Se poate scrie: V = V ' + ε = 1001001 + 0100000 = 1101001 Rezultă secvenŃa de informaŃie: i = i3i5i 6i 7 = 0001

3

5.3 Cod Hamming corector de o eroare şi detector de două erori CondiŃia necesară şi suficientă pentru ca un cod să poată simultan corecta maxim t erori şi a detecta maxim e erori este ca distanŃa minimă a codului să fie: d ≥ t + e + 1 = 1 + 2 + 1 = 4,

e>t

5.3.1 Codarea codului Hamminmg corector de o eroare şi detector de două erori Pentru a înlătura dezavantajul codului Hamming corector de o eroare (acela de a erona suplimentar, la depăşirea capacităŃii de corecŃie a codului, t>1) şi de al face mai util în aplicaŃii practice, codul a fost modificat în sensul creşterii distanŃei minime de la d=3 la d=4, ceea ce permite detecŃia erorilor duble. Creşterea distanŃei de cod de la 3 la 4 s-a făcut prin adăugarea unui simbol de control suplimentar, numit simbol de control al parităŃii, C0, structura cuvîntului de cod devenind: V = C0 C1C2i3C4i5i 6i 7 Matricea de control se modifică şi are structura: 0 0 0 0 1 1 1 1   0 H  0 0 1 1 0 0 1 1 ' H = = 1 1  0 1 0 1 0 1 0 1   1 1 1 1 1 1 1 1 RelaŃia de codare va fi:  C0  C   1 0 0 0 0 1 1 1 1 C 2  0 0 1 1 0 0 1 1  i  ' T ⋅ 3  = 0 H ⋅V =  (5.7) 0 1 0 1 0 1 0 1 C 4      1 1 1 1 1 1 1 1  i5  i   6  i 7  Sau în formă explicită: C1 = i 3 + i5 + i 7 C2 = i3 + i 6 + i 7

(5.8)

C4 = i5 + i 6 + i 7 C0 = C1 + C 2 + i3 + C4 + i 5 + i 6 + i 7

Exemplul 3: Fie secvenŃa de informaŃie i=1010, găsiŃi cuvântul V de cod. Rezolvare: Se observă că există 4 simboluri de informaŃie: i3, i5, i6, i7. Cuvântul de cod,V, se poate scrie sub formă literară: V = C0 C1C2i3C4i5i 6i 7 . Avem aşadar 8 simboluri ce alcătuiesc cuvântul de cod şi 4 biŃi de control. Rezultă că matricea de control, H’, va conŃine 4 linii şi 8 coloane. Din relaŃia de codare (5.8), rezultă relaŃiile de calcul a biŃilor de control: C1 = i 3 + i5 + i 7 = 1 + 0 + 0 = 1

4

C2 = i3 + i 6 + i 7 = 1 + 1 + 0 = 0 C4 = i5 + i 6 + i 7 = 0 + 1 + 0 = 1 C0 = C1 + C 2 + i3 + C4 + i 5 + i 6 + i 7 = 1 + 0 + 1 + 1 + 0 + 1 + 0 = 0 Rezultă cuvântul de cod: V=01011010 5.3.2 Decodarea codului Hamminmg corector de o eroare şi detector de două erori Având cuvântul recepŃionat V ' , compus din 8 imboluri: V ' = C'0 C1' C'2i 3' C'4i5' i '6i '7 se poate calcula corectorul codului cu relaŃia:

z4     z  z2  ' 'T Z = H ⋅V =   =  z 0   z1     z 0 

(5.9)

Unde: • z, reprezintă corectorul de la codul Hamming corector de o eroare; • z0, reprezintă simbolul binar, 0 sau 1, cu ajutorul căruia se pot detecta erori pare (z0=0). Există patru cazuri: Cazul 1: z = 0  z 0 = 0 nu există erori sau nu există erori detectabile prin cod. Cazul 2: z ≠ 1  z 0 = 0 se face detecŃia erorilor duble. Cazul 3: z = 0  z 0 = 1 simbolul C0 este eronat. Cazul 4: z ≠ 0  z 0 = 1 există o eroare corectabilă. Va fi eronat simbolul cu indicele r-1, unde r este dat de relaŃia: r = 4z 4 + 2z 2 + z1 + z 0

Exemplul 4: DecodaŃi cuvântul recepŃionat V’=01001010 Rezolvare:

5

(5.10)

Cuvântul de cod recepŃionat se poate scrie ca fiind: V ' = C'0 C1' C'2i 3' C'4i5' i '6i '7 V ’= 0 1 0 0 1 0 1 0 RelaŃia (5.5) va deveni: z 4 = C4' + i 5' + i 6' + i 7' = 1 + 0 + 1 + 0 = 0 z 2 = C2' + i 3' + i 6' + i 7' = 0 + 0 + 1 + 0 = 1 z1 = C1' + i3' + i5' + i '7 = 1 + 0 + 0 + 0 = 1 z 0 = C0' + C1' + C2' + i3' + C'4 + i5' + i '6 + i '7 = 0 + 1 + 0 + 0 + 1 + 0 + 1 + 0 = 1 Rezultă că avem situaŃia cazului 4, când există o eroare corectabilă. Aşadar, rezultă r: r = 4z 4 + 2z 2 + z1 + z 0 = 4 ⋅ 0 + 2 ⋅1 + 1 ⋅1 + 1 = 4 Deci va fi eronat simbolul cu indicele r-1, adică 4-1=3, i3. Rezultă cuvântul eroare: ε = 00010000 Se poate scrie: V = V ' + ε = 01001010 + 00010000 = 01011010 Rezultă secvenŃa de informaŃie: i = i3i5i 6i 7 = 1010

5.4 Desfăşurarea lucrării 5.4.1 Se lansează executabilul Hamming.exe din directorul Hamming, după care se introduce parola TTI. RulaŃi programul, selectând opŃiunea DemonstraŃie, pentru toate cele patru variante prezentate. 5.4.2 Se verifică, cu programul, toate exemplele luate în această lucrare, selectând pe rând codurile prezentate. 5.4.3 Pentru fiecare cod în parte, se alege câte un exemplu de codare/decodare, asemănător cu cele prezentate în lucrare, cu observaŃia ca secvenŃa de informaŃie să conŃină 11 biŃi de informaŃie, la codare, respectiv cuvîntul recepŃionat să conŃină 15/16 biŃi, la decodare. Se realizează codarea/decodare, după care, cu programul, se verifică rezultatele obŃinute. 5.4.4 La sfârşitul lucrării de laborator se va efectua un test asupra cunoştinŃelor acumulate. Rezultatul testului se va concretiza printr-o notă, calculată automat de calculator.

6

7. Codurile Ciclice GeneralităŃi Codurile ciclice sunt utilizate pentru protejarea informaŃiei împotriva perturbaŃiilor. Codurile ciclice sunt coduri bloc (toate cuvintele au aceeaşi lungime, codarea şi decodarea unui bloc este independentă de a celorlalte). Denumirea de “ciclice” provine de la proprietatea pe care o au cuvintele de cod şi anume dacă vi = 1001001 este cuvânt de cod atunci şi vj = 0010011 şi vk = 1100100 sunt cuvinte de cod . Adică orice permutareciclică a unui cuvânt de cod este un alt cuvânt de cod . Parametrii codului sunt n (biŃi) lungimea cuvântului de cod, k numărul de biŃi de informaŃie per cuvânt, m numărul de biŃi de control per cuvânt şi polinomul generator g(x). Deşi poate fi facută şi o codare nesistematică vom considera codul sistematic cei k biŃi de informaŃie fiind situaŃi pe poziŃiile cele mai semnificative, iar cei m biŃi de control pe poziŃiile mai puŃin semnificative. Fiecărui cuvânt de cod i se poate ataşa un polinom de grad maxim n-1 . v = vn-1vn-2vn-3......v1v0, coeficienŃii vi fiind coeficienŃi binari (din câmpul binar {0,1}). Polinomul asociat cuvântului va fi : v(x) = vn-1xn-1 + vn-2xn-2 + vn-3xn-3 + .....+ v1x + v0

(7.1)

Ponderea unui cuvânt reprezintă numărul de 1 din cadrul cuvântului. Polinomul de informaŃie este : i(x) = ik-1xk-1 + ik-2xk-2 + ik-3xk-3 + .....+ i1x + i0

(7.2)

de grad k-1. Pentru orice cuvânt de cod este valabilă relaŃia :

rest

v(x ) =0 g( x )

(7.3)

Deci cuvintele de cod se aleg astfel încât să fie multiplii ai polinomului g (x) numit polinomul generator al carui grad va fi deci m = n-k, (gm = 1): g(x) = gmxm + gm-1xm-1 + gm-2xm-2 + .....+ g1x + g0

(7.4)

OperaŃiile se fac modulo (xn + 1) . Dacă, codul este corector de o singură eroare atunci: n = 2m – 1.

(7.5)

Codurile ciclice corectoare de o eroare, având distanŃa de cod (distanŃa Hamming minimă între cuvintele codului) dHmin = 3, sunt capabile să corecteze o eroare sau să detecteze două. Codarea codului ciclic corector de o eroare Codarea va fi prezentată în două moduri nesistematică sau sistematică. Cu relaŃia v(x) = i(x)⋅g(x) se poate face codarea nesistematică, dar pentru că nu este utilă în practică nu va fi luată în considerare .

1

În continuare va fi deci prezentată codarea sistematică unde corespondenŃa dintre i(x) şi v(x) este dată prin relaŃia :

i (x ) ⋅ x m v(x ) = i(x ) ⋅ x + rest g (x ) m

(7.6)

i (x ) ⋅ x m unde rest semnifică restul împărŃirii polinomului i(x)·xm la g(x). g(x ) OperaŃia de adunare din ecuaŃia (7.6) este sumă modulo 2 (SAU exclusiv), iar coeficienŃii polinoamelor sunt din câmpul binar {0,1}. Matematic codarea poate fi facută polinomial sau matricial. a). Polinomial Codarea va fi prezentată printr-un exemplu, putând fi uşor generalizată. Fie g(x) = x3 + x + 1. Deci m = 3 şi cu relaŃia 2m – 1 = n rezultă că n = 7 de unde k = n – m = 4. Vom avea ca atare 4 biŃi de informaŃie i = vn-1vn-2vn-3vn-4 cu polinomul asociat : i(x) = vn-1x3 + vn-2x2 + vn-3x + vn-4

(7.7)

şi deci i(x)·xm = (vn-1x3 + vn-2x2 + vn-3x3 + vn-1x + vn-4) ·x3 = vn-1x6 + vn-2x5 + vn-3x4 + vn-4x3 BiŃii de control sunt coeficienŃii restului împărŃirii lui i(x)·xm/g(x). vn-1x6 + vn-2x5 + vn-3x4 + vn-4x3 vn-1x6 + vn-1x4 + vn-1x3

x3 + x + 1 vn-1x3 + vn-2x2 + (vn-3 + vn-1)x + (vn-4 + vn-2 + vn-1)

/ vn-2x5 + (vn-3 + vn-1)x4 + (vn-4 + vn-1)x3 vn-2x5 + vn-2x3 + vn-2x2 / (vn-3 + vn-1)x4 + (vn-4 + vn-2 + vn-1)x3 + vn-2x2 (vn-3 + vn-1)x4 + (vn-3 + vn-1)x2 +(vn-3 + vn-1)x / (vn-4 + vn-2 + vn-1)x3 + (vn-3 + vn-2 + vn-1)x2 + (vn-3 + vn-1)x + (vn-4 + vn-2 + vn-1)x + vn-4 + vn-2 + vn-1 (vn-4 + vn-2 + vn-1)x3 (vn-3 + vn-2 + vn-1)x2 + (vn-4 + vn-3 + vn-2)x + vn-4 + vn-2 + vn-1 ⇒ r(x) = (vn-3 + vn-2 + vn-1)x2 + (vn-4 + vn-3 + vn-2)x + vn-4 + vn-2 + vn-1

(7.8)

, unde r(x) este restul împărŃirii . Conform relaŃiei (7.6) se obŃine : v(x) = vn-1x6 + vn-2x5 + vn-3x4 + vn-4x3 + (vn-3 + vn-2 + vn-1)x2 + (vn-4 + vn-3 + vn-2)x + vn-4 + vn-2 + vn-1 Pentru că n = 7 şi v(x) este de forma : v(x) = v6x6 + v5x5 + v4x4 + v3x3 + v2x2 + v1x + v0

2

(7.9)

şi Ńinând cont de relaŃia (7.8) simbolurile de control vor fi date de: v2 = v4 + v5 + v6 v1 = v3 + v4 + v5 v0 = v3 + v5 + v6

(7.10)

Aşadar cuvântul de cod va fi v = v6v5v4v3v2v1v0 unde primii 4 sunt biŃii de informaŃie, iar ultimii 3 cei de control. b). Codor ciclic cu RDR (codarea matricială) În figura 7.1 este prezentat un codor ciclic care implementează relaŃia de codare (7.6). SecvenŃa de informaŃie, i(x), intră în codor în primele k tacte, primul bit fiind cel mai semnificativ şi, de asemenea, este conectată şi la ieşire. Pentru aceasta, întrerupătorul 1, format din poarta AND-1 este închis iar întrerupătorul 2, format din poarta AND-2 este deschis (vezi semnalele de comandă P1 şi P2). În următoarele m tacte întrerupătorul 1 este deschis iar întrerupătorul 2 este închis, astfel că secvenŃa r, generată de RDR, este livrată la ieşirea v. Cm • gm=1

Cm-1 •

gm-1

⋅⋅⋅⋅⋅ •

Cm-2

gm-2

C1

g1

…..

g0=1

a) Codor ciclic RDR ; ⊕ •



• P2

AND-2 • P1 v(x)





AND-1

i(x)

P1

b) Semnalele de validare a porŃilor „AND” •





0

1

2 •••••







k=n-m • • • •

n

t/Tb

P2 t/Tb •





0

1

2 •••••







k=n-m • • • •

n

Figura 7.1 Codor ciclic cu RDR şi semnalele de comandă

3

Obs. –Se observă că, în ultimele k tacte, la intrările sumatorului (care adună intrarea RDRlui cu reacŃia sa) se regăseşte acelaşi semnal, astfel că, în aceste k tacte, în celula Ck se va introduce o secvenŃă nulă care „curăŃă” registrul pentru un nou cuvânt de cod. Din funcŃionarea registrului de deplasare cu reacŃie rezultă relaŃia Sj = TSj-1 + vn-jU

(7.11)

unde S reprezintă starea registrului, U este o matrice coloană, iar T este matricea caracteristică a registrului de deplasare cu reacŃie. Ele sunt de forma:

 c1  c  S= 2  M    c m 

0  0  U=  M   1

0 0  T=M  0 g 0

1 0 M 0 g1

0 1 M 0 g2

L 0  L 0  L M   L 1  L g m-1 

(7.12)

łinând cont de observaŃia făcută mai sus rezultă că Sn = 0. Considerând acelaş exemplu Matricea caracteristică, T, este:

0 1 0  T = 0 0 1 1 1 0

(7.13)

Utilizând relaŃiile (7.11) şi (7.13) pentru cazul n = 7 vom avea: S7 = v6T6U + v5T5U + v4T4U + v3T3U + v2T2U + v1TU + v0U = 0

(7.14)

Efectuând calculele rezultă:

0  1  0  1       2 3 4 T ⋅ U = 1 , T ⋅ U = 0 , T ⋅ U = 1 , T ⋅ U = 1 , 0 1 1 1 1 1   6 T ⋅ U = 1 , T ⋅ U = 0 0 0 5

(7.15)

Introducând (7.15) în (7.14) şi efectuând calculele obŃinem: v2 = v4 + v5 + v6 v1 = v3 + v4 + v5 v0 = v4 + v3 + v2 = v4 + v3 + v4 + v5 + v6 = v3 + v5 + v6 relaŃii identice cu relaŃiile (7.10) deci cele două proceduri de calcul ne-au dus la aceleaşi rezultate . Cuvântul de cod va fi v = v6v5v4v3v2v1v0. 4

Decodarea codului ciclic corector de o eroare Decodarea codului ciclic cuprinde verificarea corectitudinii cuvântului recepŃionat: w(x) = v’n-1xn-1 + v’n-2xn-2 + ... + v’1x + v’0,

(7.16)

corectarea sau detectarea erorilor, după destinaŃia codului şi apoi selecŃia biŃilor de informaŃie. Verificarea presupune calculul restului împărŃirii lui w(x) la g(x). Dacă restul este 0 se decide: cuvânt corect recepŃionat. Dacă nu, atunci se decide: cuvânt eronat.(Prima decizie poate fi falsă, a doua nu!) Pentru codurile detectoare decodarea ia sfârşit aici. Pentru codurile corectoare analiza restului permite determinarea poziŃiei erorilor. Acest lucru presupune existenŃa unei corespondenŃe biunivoce între resturile posibile şi cuvintele eroare corectabile de către codul dat. Dacă codul este corector de o eroare, atunci decodarea decurge astfel: 1°- se calculează corectorul zn cu formula: n -1

n -1

j= 0

j= 0

z = ∑ v 'j T j U = ∑ ε j T j U

(7.17)

unde εj reprezintă coeficienŃii polinomului eroare: ε(x) = w(x) + v(x)

(7.18)

2°- dacă z = 0 se decide că w(x) este corect w(x) = v(x) - dacă z ≠ 0 atunci z = TrU, unde r este indicele coeficientului eronat. Comparăm z cu TjU şi găsim r. CorecŃia presupune schimbarea valorii lui v’r. Dacă codul ciclic corectează mai multe erori, atunci decodarea se poate face pe seama corespondenŃei amintite anterior. a) Decodarea polinomială Metoda constă în împărŃirea lui w(x) la g(x). Va rezulta un polinom rest, r(x). Dacă acesta este diferit de 0, cuvântul recepŃionat este eronat şi prin identificarea restului r(x) cu valorile din tabelul cuvinte eroare – corectori (vezi Anexe) se determină poziŃia erorii şi se realizează corecŃia. Spre exemplu fie : w(x) = x6 + x5 + x3 + x2 + 1. Calculăm rest[ w(x) /g(x)]: x6 + x5 + x 3 + x 2 + 1 x3 + x + 1 x6 + x4 + x 3 x3 + x 2 + x + 1 5 4 2 x +x +x +1 x5 + x3 + x2 x4 + x3 + 1 x4 + x2 + x x3 + x 2 + x + 1 x3 + x + 1 x2 deci conform tabelului din anexă este eronat w2. Schimbând valoarea bitului w2 rezultă : w(x) = x6 + x5 + x3 + 1.

5

b) Decodor ciclic cu RDR (decodarea matricială) celula 0 w



celula n-1 v

n Tb

••

AND

P1



IDENTIFICARE 0

0 Cm



Cm-1



STARE 0 •

C1

1

AND



P2



⊕ gm-1

gm-2

g1



AND



P2

IDENTIFICARE 0

0 Cm



Cm-1

gm-1

STARE 0





gm-2

g1

C1

1

AND •



P1

⊕ a) schema ; P1 ….. • 0

P2

• n-1

• 2n

• n

….. • 0

• n-1

• n

…..

t / Tb

…..

t / Tb

• 2n

b)Semnalele de validare a porŃilor AND ; Figura 7.2 Decodor ciclic corector de o eroare În figura 7.2 este prezentată structura unui decodor ciclic corector de o eroare.

6

BiŃii cuvântului recepŃionat vor intra în schemă unul după altul în ordine, începând cu bitul v’n-1. Schema de decodare conŃine un registru de deplasare (blocul „nTb” este un registru de întârziere cu n celule) cu rol de memorie, care păstrează cuvântul recepŃionat care intră pas cu pas şi două subscheme cu RDR pentru corecŃie care funcŃionează în contratimp. Procedura de decodare durează 2n tacte. În primele n tacte în memorie intră cuvântul 1 care prin poarta P1 intră şi în primul decodor, ieşirea acestuia fiind 0 pentru că P2 este închis. În următoarele n tacte cuvântul 2 va intra prin poarta P2 în al doilea decodor care are ieşirea 0 deoarece P1 este închis, în acest timp cuvântul 1 părăseşte memoria trecând prin sumator şi este corectat de primul decodor care identifică starea 00.....1 şi care are acces la sumator prin P2. După n = 7 tacte starea registrului va fi: S’7 = v’6T6U + v’5T5U + v’4T4U + v’3T3U + v’2T2U + v’1TU + v’0U

(7.19)

care nu va mai fi 0 decât în cazul în care nu avem eroare. Dacă eroarea afectează bitul vr starea registrului de deplasare cu reacŃie după intrarea întregului cuvânt este: S’7 = v’6T6U + v’5T5U + .... + v’rTrU + .... + v’1TU + v’0U

(7.20)

Deoarece la emisie S7 = 0 şi v’j = vj pentru j ≠ r şi v’r = vr + 1 rezultă: S’7 + S7 = S’7 = TrU = z

(7.21)

Pe durata următoarelor n = 7 tacte RDR din prima subschemă va evolua numai sub acŃiunea semnalului de reacŃie şi după n-r-1 tacte se va ajunge în starea:

n-r-1

S’7+n-r-1 = T

1 S’7 = T U = 0 0 n-1

(7.22)

În acelaş timp printr-o deplasare cu n-r-1 tacte eroarea care se afla în celula r va ajunge în celula n-1. Detectorul va sesiza starea S’7+n-r-1 fixă şi prin poarta P2 care este închisă va emite semnalul de corecŃie (blocul IDENTIFICĂ generează un 1L) care se însumează cu bitul eronat aflat în celula n-1, astfel la ieşirea sumatorului final se va obŃine cuvântul corectat. Desfăşurarea lucrării 1. RulaŃi programul de pe calculator alegând butonul “DemonstraŃie” de la codul ciclic şi se urmăreşte o codare şi o decodare. 2. AlegeŃivă un polinom generator şi secvenŃa de informaŃie şi efectuaŃi o codare, apoi alegând polinomul generator şi biŃii recepŃionaŃi o decodare. VerificaŃi apoi rezultatul cu ajutorul calculatorului. 3. La sfârşitul lucrării de laborator se efectuează testul de verificare a cunoştinŃelor acumulate prin intermediul calculatorului. Testul constă în a răspunde la 5 întrebări teoretice, fiecare având un răspuns corect din cele cinci propuse, şi efectuarea unei codări şi a unei decodări pornind de la polinomul generator şi secvenŃa de informaŃie respectiv secvenŃa recepŃionată generate aleator de calculator.

7

MODULAłIA DELTA UNIFORMĂ

1.Introducere Transmiterea numerică a informaŃiei este un domeniu de mare actualitate practică şi teoretică. În afară de modulaŃia impulsurilor în cod (MIC), care are avantajul unei bune imunităŃi la perturbaŃii obŃinute pe baza creşterii benzii de frecvenŃă necesare transmiterii informaŃiei în practică se aplică şi alte tehnici numerice de transmisie care obŃin o reducere a benzii de frecvenŃă sau a timpului de transmitere prin mărirea corelaŃiei între eşantioanele codate transmise. Cea mai cunoscută tehnică este modulaŃia diferenŃială a impulsurilor în cod (MDIC). SecŃiunea 1.1 În cazul în care între două eşantioane consecutive preluate din semnalul s(t) ce urmează a fii transmis numeric, există o corelaŃie puternică atunci este avantajos să se codeze şi să se transmită diferenŃa dintre cele două eşantioane. Dacă se notează cu Dk diferenŃa dintre eşantioanele sk şi sk −1 ale semnalului aleator staŃionar de medie nulă (σ 2 , s = 0) .  k   k − 1  = sk − s k −1 , valoarea medie pătratică a Dk = s  − s f f  0  0  diferenŃei este: ______________ 2 k k −1 ___________

D = (s − s 2 k

unde ρ k =

)

___ 2 k

_____ 2 k −1

=s +s

__________

____ 2 k

− 2 ⋅ s k ⋅ sk −1 = 2 ⋅ s ⋅ (1 − ρ k ) ,

s k ⋅ s k −1

σ2

SecŃiunea 1.2 Din ecuaŃia de mai sus se observă că pentru cazul în care coeficientul de corelaŃie ρ k > 0.5 valoarea medie pătratică a diferenŃei este mai mică decât valoarea medie pătratică a eşantioanelor şi deci rezultă că diferenŃa Dk

se poate cuantiza cu un număr mai redus de cuante decât eşantionul sk . Această economie obŃinută prin reducerea numărului de niveluri de cuantizare are ca efect, în cazul transmiterii unei anumite cantităŃi de informaŃie, reducerea: timpului de transmisie sau a benzii de frecvenŃă a semnalului numeric transmis pe linie. SecŃiunea 1.3 Sistemul de transmisiuni care lucrează pe principiul descris în secŃiunile 1.1 şi 1.2 poartă numele de: sistem de transmisiune cu modulaŃia diferenŃială a impulsurilor în cod. SecŃiunea 1.4 ModulaŃia delta este varianta cu n=1 bit a modulaŃiei diferenŃiale a impulsurilor în cod.

2.ModulaŃia delta uniformă ModulaŃia delta uniformă este un caz particular al modulaŃiei diferenŃiale a impulsurilor în cod având numai două niveluri de cuantizare. SecŃiunea2.1 Fie un semnal x(t ) de bandă limitată W care este supus modulaŃiei delta uniforme. Semnalul este mai întâi eşantionat cu frecvenŃa f 0 >> 2 ⋅ W . La fiecare eşantion xn , se calculează semnul diferenŃei dintre eşantionul de intrare xn şi ultima aproximaŃie xˆ n−1 , sgn( xn − xˆ n −1 ) . În funcŃie de semnul acestei diferenŃe se dă comanda de creştere sau de scădere a eşantionului următor xˆ n , cu o valoare a cuantei q0 conform relaŃiilor: q = sgn( xn − xˆ n−1 ) ⋅ q0 = ± q0 xˆ n = xˆ n−1 + q = xˆ n −1 ± q0 Pe canalul de transmisie se transmite semnalul diferenŃei sgn( xn − xˆ n −1 ) cu ajutorul căruia la recepŃie se poate reconstrui semnalul xˆ (t ) , format din eşantioanele xˆ n . O schemă bloc a unui sistem de transmisie cu modulaŃie delta liniară şi formele de undă care să ilustreze principiul de funcŃionare sunt:

x(t )

Circuit de eşantionare

f0

xn

Sumator

Cuantizor pe un bit

xˆ n−1 Decodor

Eroare de neurmărire

canal

sgn( xn − xˆ n −1 )

Eroare de granulare

SecŃiunea 2.2 În secŃiunea de mai sus au fost ilustrate două tipuri de erori de cuantizare care pot apărea în modulaŃia delta uniformă: • erori de neurmărire pe porŃiunile rapid variabile ale semnalului x(t ) . • erori de granulare pe porŃiunile lent variabile ale semnalului. Pentru a nu avea erori de neurmărire este necesar ca viteza de variaŃie a cuantei să fie mai mare decât viteza maximă de variaŃie a semnalului. Iar pentru a nu avea erori de granulare este necesar ca mărimea cuantei q0 să fie cât mai mică. Prima condiŃie se scrie q0 ⋅ f 0 ≥ f ′(t ) . Pentru un semnal dat această condiŃie este indeplinită fie prin mărirea frecvenŃei de eşantionare, ceea ce duce la mărirea benzii de transmisie B∆ , fie prin mărirea cuantei q0 ceea ce este în contradicŃie cu condiŃia necesară micşorării erorilor de granulare. Cuanta maximă necesară pentru a avea erori de neurmărire minime în cazul unui semnal de intrare sinusoidal x(t ) = A ⋅ cos(2 ⋅ π ⋅ W ⋅ t ) este, (qo )max ≥ 2 ⋅ π ⋅ W ⋅ A f0

SecŃiunea 2.3 Pentru a analiza mai exact erorile care apar în modulaŃia delta uniformă definim următorii parametrii: q ⋅f a).Factorul de pantă s = 0 0 , unde D este puterea medie a derivatei D semnalului x(t ) , supus modulaŃiei delta. D se calculează cu relaŃia ωM

D = ∫ ω 2 ⋅ q x (ω ) ⋅ dω , unde ω M = 2 ⋅ π ⋅ W , iar q x (ω ) este densitatea 0

spectrală de putere a semnalului x(t ) . b).Factorul de extensie al benzii semnalului transmis pe linie faŃă de banda f semnalului x(t ) este: b = 0 . 2 ⋅W Factorul de putere pentru semnalul sinusoidal din secŃiunea 2.2 este 1 W 0

D =W ⋅ ∫ s=

[x′(t )]2 ⋅ dt = 2 ⋅ π ⋅ W 2 ⋅ A2

2 ⋅ b ⋅ q0 A SecŃiunea 2.4

Cu ajutorul parametrilor definiŃi în secŃiunea anterioară putem determina puterea erorii de neurmărire Z N , pe cea a erorii de granulare Z G , precum şi puterea minimă a erorii de cuantizare globale Z C . Deoarece în practica transmiterii numerice a informaŃiei cele mai importante semnale sunt cele vocale şi cele de televiziune prezentăm în continuare relaŃiile care exprimă puterile celor trei tipuri de erori în cazul semnalelor de televiziune vocal şi al semnalelor cu spectru de putere uniform şi de bandă limitată. Semnalele de televiziune şi cele vocale se aproximează în practică cu semnalele care au o densitate de repartiŃie a probabilităŃii exponenŃială şi respectiv o densitate spectrală de putere integrată. Raportul

ω3 din tabele ωM

are valorile 0.011 pentru semnalul de televiziune şi 0.23 pentru semnalul vocal, iar puterea semnalelor este normalizată.

q x (ω )

D

ω M2

1

ωM

1 3 3

s ZG

s 8

1

ω 3 ⋅tan

⋅q ⋅b

0 π π 2 s2

⋅ 18 b 3 π 2 s3 ⋅ 144 b 3

8 ⋅ π 2 −3 s ⋅ e ⋅ (s + 1) 81

ZN

(Z C )min

ωM ω3

    1   ⋅ 2 1 +  ω     ω 3  

ω3 ω ωM −  3 ω ω tan −1 M  M ω3 b ⋅ q0 ⋅ ω M π⋅ D 2 π  D  s2 ⋅ ⋅ 6  ω M2  b 3

  

2

π

 D  s3 ⋅ ⋅ 48  ω M2  b 3 8 ⋅ π 2  D  −3 s⋅(3 s +1) ⋅e ⋅ 27  ω M 

  (ln b )2  ⋅  3 +   b π 2  (ln b )2 + 2..06 ⋅ ln b + 1.17  ⋅  2.06 ⋅ ln b ⋅ 1.17  18  b3   b3

π2  D ⋅ 6  ω M2

Eroarea de cuantizare minimă în cazul modulaŃiei delta uniforme se obŃine pentru un factor de pantă optim dat de relaŃia soptim = ln 2b , pentru care s-a determinat în tabelul prezentat şi eroarea de cuantizare minimă. SecŃiunea 2.5 Cu relaŃiile prezentate în secŃiunea 2.4 putem determina raportul semnal zgomot maxim în cazul modulaŃiei delta uniforme. Dacă considerăm puterea semnalului normalizată şi egală cu unu atunci avem:

S  = −10 ⋅ log10 [(Z C )min ]dB Z   C  max im În modulaŃia delta neuniformă eroarea globală de cuantizare este sesizabilă la schimbări mici în puterea semnalului. Acest lucru se poate observa chiar din expresia care defineşte factorul de pantă s , a cărui modificare se datorează numai modificării puterii semnalului. Dacă valoarea factorului de pantă s , diferă mult faŃă de cea optimă, eroarea de cuantizare nu va mai fii apropiată de (Z C )min şi ca atare modulaŃia delta uniformă devine suboptimală. Pentru ca sistemul de modulaŃie să poată elimina funcŃionarea în regimuri suboptimale datorată variaŃiei factorului de pantă cu timpul trebuie ca să modificăm fie mărimea pasului de cuantizare, fie frecvenŃa de eşantionare (vezi expresia lui s ). Deoarece variaŃia frecvenŃei de eşantionare este nepractică rămâne prima soluŃie care se foloseşte în modulaŃia delta adaptivă.

3.Desfăşurarea lucrării Schema bloc a montajului: Sumator

Sursă de semnal

Comparator

Sumator de cuante

Codor de linie

Calculul cuantei

Canal

Calculul cuantei

Decodor de linie

Sumator de cuante

În partea practică a acestei lucrări se studiază modulaŃia delta asupra unui semnal periodic. Semnalul pe care îl vom studia are spectrul de putere mărginit şi uniform cu ω M dat iar puterea medie a derivatei semnalului este D. 1.DeterminaŃi pentru acest semnal factorul de pantă pentru diferite valori ale factorului de extensie al benzii de transmisie b = 2;4;8;16;32... . 2.Se urmăreşte panoul frontal pentru familiarizarea cu el.

3.Se porneşte lucrarea de la butonul RUN de pe panoul central şi se poziŃionează regimul de lucru pentru regimul modulaŃie delta uniformă de la butonul corespunzător. 4.Se alege o frecvenŃă de eşantionare din cele trei posibile şi se vizualiază semnalul generat. Tipul acestuia poate fii ales de la tipul semnalului de pe panoul frontal având formele: combinat, triunghi, dinte de fierăstrău, dreptunghi, sinus, curent continuu. 5.Se urmăresc semnalele în diferitele puncte ale schemei: semnalul eşantionat modificând frecvenŃa de eşantionare; semnalul aproximat; cel de la ieşirea comparatorului, comparatorul dă la ieşire 1 logic dacă eşantionul luat din semnal este mai mare decât eşantionul reconstituit din semnalele anterior prelevate şi 0 logic în caz contrar. 6.Se urmăresc şi celelalte semnale din celelalte puncte. Codorul de linie transformă semnalul binar într-un semnal ternar cu return la zero. Decodorul de linie plasat la recepŃie reface semnalul binar din cel de linie. La recepŃie se găsesc blocul de calcul al cuantei care în modul de lucru modulaŃie delta uniformă are numai funcŃia de a genera o cuantă de valoare constantă conform relaŃiei: q = sgn( xn − xˆ n−1 ) ⋅ q0 = ± q0 şi blocul sumator de cuante care este caracterizat de relaŃia: xˆ n = xˆ n −1 + q = xˆ n −1 ± q0 . 7.Se vizualizează semnalul recepŃionat şi cel recepŃionat suprapus pe cel iniŃial. Acest lucru e făcut de sumator. Se compensează întârzierea pentru a obŃine o eroare şi un raport semnal zgomot cât mai bune.

MODULAłIA DELTA ADAPTIVĂ CU CUANTE LINIAR VARIABILE

1.Introducere Cu scopul reducerii erorii de neurmărire, existente în transmisiile cu modulaŃia delta, cuanta sistemului de transmisie se face liniar variabilă. ModulaŃia delta adaptivă urmăreşte realizarea unui raport maxim semnal zgomot de cuantizare controlând mărimea factorului de pantă s . Deoarece frecvenŃa de eşantionare f 0 este în aplicaŃiile practice constantă controlul lui s se bazează pe modificarea valorii cuantei în funcŃie de dinamica semnalului de la intrare astfel: • pentru porŃiunile rapid variabile ale semnalului se utilizează cuante mari. • pentru porŃiunile lent variabile ale semnalului se utilizează cuante mici. În algoritmii practici utilizaŃi ai modulaŃiei delta adaptive cuantele sunt multiplii ai unei valori de bază q0 . SecŃiunea 3.1 Deoarece modificarea paşilor de cuantizare se face cu o rată egală cu frecvenŃa de eşantionare, modulaŃia delta adaptivă poate fii văzută ca o modulaŃie delta liniară în care se introduce o compresie instantanee a semnalului de la intrare x(t ) . Deci Ńinând seama de acest aspect putem folosii relaŃiile de la modulaŃia delta liniară şi în analiza modulaŃiei delta adaptive. Deoarece în modulaŃia delta adaptivă mărimea pasului de cuantizare este mărită în mod discret de la valoarea minimă q0 la K 2 ⋅ q0 , K 3 ⋅ q0 , ... , K n ⋅ q0 , eroarea de neurmărire este semnificativă numai atunci când se depăşeşte capacitatea de adaptare a sistemului, adică atunci când x′(t ) > K n ⋅ q0 ⋅ f 0 . Ca urmare în general valoarea factorului de pantă s ′ este mai mare în K ⋅q ⋅ f modulaŃia delta adaptivă decât în cea liniară: s ′ = K n ⋅ s = n 0 0 . D

Pentru K n = 8 valoarea maximă a factorului de pantă pentru modulaŃia delta adaptivă în cazul unui semnal sinusoidal x(t ) = 20 ⋅ cos 400 ⋅ π ⋅ t [mv] , cu q0 = 2mv şi f 0 = 800Hz obŃinem s ′ = 0.141 . SecŃiunea 3.2 Limitele asimptotice ale puterii erorilor de neurmărire Z ′N şi de granulare Z G′ pentru modulaŃia delta adaptivă sunt: 8 ⋅π 2 27

 D  ⋅  2  ⋅ e −3⋅s′ ⋅ (3 ⋅ s ′ + 1) s′ < ln2b  ωM   D  π2 ′  2  ⋅ (s′)3 ZG = ⋅ ln2b < s′ < 8 ⋅ K n 3 2  6 ⋅ b ⋅ Kn  ωM 

Z ′N =

Z G′ =

π2

 D ⋅  2 48 ⋅ b ⋅ K  ω M 3

3 n

  ⋅ (s′)3 

s′ > 8 ⋅ K n

De asemenea se poate arăta că valoarea minimă a zgomotului de cuantizare în modulaŃia delta adaptivă este aceeaşi ca în modulaŃia delta uniformă. SecŃiunea 3.3 În cazul modulaŃiei delta cu cuante liniar variabile, factorul de multiplicitate K n reprezintă termenul general al unei progresii aritmetice cu raŃia 1. Determinarea factorului de multiplicitate la un moment dat se face pe baza algoritmului Song care constă cu creşterea cuantei cu o constantă q0 , atunci când semnul derivatei semnalului transmis se păstrează în comparaŃie cu momentul anterior şi respectiv scăderea cu aceeaşi constantă q0 , atunci când semnul derivatei semnalului transmis s-a modificat în comparaŃie cu situaŃia precedentă. Adică cuanta qi urmează regula qi = qi −1 + q0 ⋅ [sgn( xi − xˆi −1 )sgn( xi −1 − xˆi − 2 )], dar nu mai mic decât q0 . În linie se transmite sgn( xi − xˆi −1 ) , semnificaŃia simbolurilor folosite este următoarea: qi cuanta considerată atunci când se transmite eşantionul xi din semnalul x(t ) şi cu care se va opera pentru a obŃine semnalul

reconstituit la recepŃie. Factorul de multiplicitate se defineşte cu relaŃia q K i = i , xˆi semnalul reconstituit după recepŃia eşantionului cu numărul i . q0 xˆi = xˆi −1 + sgn( xˆi − xˆi −1 ) ⋅ qi Schema bloc a unei instalaŃii care poate realiza modulaŃia delta adaptivă cu cuante liniar variabile este: s(t)

EŞANTIONARE

xi

sgn( xi − xˆi −1 )

COMPARATOR

linie

xˆi−1

f0

qi

SUMATOR DE CUANTE

CALCULUL CUANTEI

2.Desfăşurarea lucrării Schema bloc a montajului: Sumator

Sursă de semnal

Comparator

Sumator de cuante

Codor de linie

Calculul cuantei

Canal

Calculul cuantei

Decodor de linie

Sumator de cuante

1.Se urmăreşte panoul frontal pentru familiarizarea cu el. 2.Se porneşte lucrarea de la butonul RUN de pe panoul central şi se poziŃionează regimul de lucru pentru regimul modulaŃie delta adaptivă cu cuante liniar variabile de la butonul corespunzător. 3.Se alege o frecvenŃă de eşantionare din cele trei posibile şi se vizualiază semnalul generat. Tipul acestuia poate fii ales de la tipul semnalului de pe panoul frontal având formele:

combinat, triunghi, dinte de fierăstrău, dreptunghi, sinus, curent continuu. 4.Se urmăresc semnalele în diferitele puncte ale schemei: semnalul eşantionat, modificând frecvenŃa de eşantionare; semnalul aproximat; cel de la ieşirea comparatorului, comparatorul dă la ieşire 1 logic dacă eşantionul luat din semnal este mai mare decât eşantionul reconstituit din semnalele anterior prelevate şi 0 logic în caz contrar. şi celelalte semnale din 5.Se urmăresc celelalte puncte. Codorul de linie transformă semnalul binar într-un semnal ternar cu return la zero. Decodorul de linie plasat la recepŃie reface semnalul binar din cel de linie. La recepŃie se găsesc blocul de calcul al cuantei care în modul de lucru modulaŃie delta adaptive cu cuante liniar variabile are funcŃia de a genera o cuantă conform relaŃiei: qi = qi −1 + q0 ⋅ [sgn( xi − xˆi −1 )sgn( xi −1 − xˆi − 2 )] şi blocul sumator de cuante care este caracterizat de relaŃia: xˆi = xˆi −1 + qi . 6.Se vizualizează semnalul recepŃionat şi cel recepŃionat suprapus pe cel iniŃial. Acest lucru e făcut de sumator. Se compensează întârzierea pentru a obŃine o eroare şi un raport semnal zgomot cât mai bune.

MODULAłIA DELTA ADAPTIVĂ CU CUANTE EXPONENłIAL VARIABILE

1.Introducere. Cu scopul reducerii erorilor de neurmărire, cuanta sistemului de transmisie cu modulaŃie delta se face variabilă.În lucrarea de faŃă această variabilitate a cuantei constă în creşterea sau scăderea cuantei după o lege de dependenŃă exponenŃială. În cazul modulaŃiei delta adaptive cu cuante exponenŃial variabile, factorul de multiplicitate K n , reprezintă termenul general al unei progresii geometrice cu raŃia 2. Determinarea factorului de multiplicitate la un moment dat se face pe baza algoritmului Jayant, care constă în creşterea sau scăderea cuantei după o lege dependentă exponenŃial de semnul produsului dintre semnalul emis în linie şi cel emis la momentul anterior, adică: qi = qi −1 ⋅ 2[sgn ( xi − xˆi −1 )⋅sgn ( xi −1 − xˆi −2 )]

În linie se transmite sgn( xi − xˆi −1 ) . SemnificaŃia simbolurile folosite este urmatoarea: qi este cuanta cu care se va opera la recepŃie în urma sosirii semnalului sgn( xi − xˆi −1 ) , pentru a obŃine eşantionul estimat la momentul i , din cel estimat la momentul anterior i − 1 , adică: xˆi = xˆi −1 + sgn( xi − xˆi −1 ) ⋅ qi Factorul de multiplicitate şi în acest caz se determină cu relaŃia q K i = i , unde avem: q0 • qi −1 este cuanta cu care s-a operat la momentul anterior; • xi şi xi −1 sunt eşantioanele de la momentele i şi respectiv i − 1 . Şi în acest caz valoarea limită a cuantei este q0 .

Schema bloc a unui sistem care realizează modulaŃia delta cu cuantă exponenŃială este:

s(t)

EŞANTIONARE

xi

COMPARATOR

sgn( xi − xˆi −1 )

linie

xˆi−1

f0

SUMATOR DE CUANTE

qi

CALCULUL CUANTEI

2.Desfăşurarea lucrării Schema bloc a montajului: Sumator

Sursă de semnal

Comparator

Sumator de cuante

Codor de linie

Calculul cuantei

Canal

Calculul cuantei

Decodor de linie

Sumator de cuante

1.Se urmăreşte panoul frontal pentru familiarizarea cu el. 2.Se porneşte lucrarea de la butonul RUN de pe panoul central şi se poziŃionează regimul de lucru pentru regimul modulaŃie delta adaptivă cu cuante exponenŃial variabile de la butonul corespunzător. 3.Se alege o frecvenŃă de eşantionare din cele trei posibile şi se vizualiază semnalul generat. Tipul acestuia poate fii ales de la tipul semnalului de pe panoul frontal având formele: combinat, triunghi, dinte de fierăstrău, dreptunghi, sinus, curent continuu.

4.Se urmăresc semnalele în diferitele puncte ale schemei: semnalul eşantionat, modificând frecvenŃa de eşantionare; semnalul aproximat; cel de la ieşirea comparatorului, comparatorul dă la ieşire 1 logic dacă eşantionul luat din semnal este mai mare decât eşantionul reconstituit din semnalele anterior prelevate şi 0 logic în caz contrar. 5.Se urmăresc şi celelalte semnale din celelalte puncte. Codorul de linie transformă semnalul binar într-un semnal ternar cu return la zero. Decodorul de linie plasat la recepŃie reface semnalul binar din cel de linie. La recepŃie se găsesc blocul de calcul al cuantei care în modul de lucru modulaŃie delta adaptive cu cuante exponenŃial variabile are funcŃia de a genera o cuantă conform relaŃiei: qi = qi −1 ⋅ 2[sgn ( xi − xˆi −1 )⋅sgn ( xi −1 − xˆi −2 )] şi blocul sumator de cuante care este caracterizat de relaŃia xˆi = xˆ i −1 + sgn( xi − xˆ i −1 ) ⋅ qi . 6.Se vizualizează semnalul recepŃionat şi cel recepŃionat suprapus pe cel iniŃial. Acest lucru e făcut de sumator. Se compensează întârzierea pentru a obŃine o eroare şi un raport semnal zgomot cât mai bune .

Cap.5 Teste grilă 5.1 Dacă p(A) este probabilitatea de realizare a mesajului A, atunci informaţia furnizată de producerea sa , i(A), este: 1 a). lnA; *b). –log2 p(A); c). p(A) ·log2 ; d). log2 p(A); e). p(A)·ln p(A). p ( A) 5.2 Entropia unei surse este: a). informaţia medie transmisă de sursă în unitatea de timp; b). informaţia instantanee transmisă de sursă; c). egală cu raportul dintre entropia maximă a sursei şi redundanţa sa; *d). egală cu produsul dintre entropia maximă şi eficienţa sursei; e). nici o variantă nu este corectă. 5.3 Cantitatea de decizie a unei surse este: a). informaţia medie transmisă de sursă printr-un simbol al său, dacă sursa este echiprobabilă; *b). egală cu entropia maximă a sursei; c). egală cu produsul dintre entropia maximă şi eficienţa sursei; d). informaţia medie transmisă de sursă în unitatea de timp; e). nici o variantă nu e corectă. 5.4 Care dintre scopurile de mai jos nu se realizează prin codare: a). adaptarea naturii diferite a sursei la natura canalului; *b). multiplexarea mai multor semnale purtătoare de informaţie în vederea transmiterii pe acelaşi canal; c). compresia sursei; d). protejarea informaţiei împotriva perturbaţiilor; e). protejarea informaţiei împotriva receptorilor neautorizaţi (secretizarea). 5.5 Care dintre mărimile de mai jos reprezintă criterii de fidelitate: __________ 1). eroarea medie pătratică: ε = [x(t ) − y (t )]2; ________ 2). raportul semnal-zgomot: ξ = y(t)2/u(t)2; 3). echivocaţia; a). doar 1).; b) 1). şi 3).; c) 2) şi 3).; d) toate trei; *e). 1) şi 2).. 5.6 Care dintre mărimile de mai jos reprezintă criterii de fidelitate: 1). eroarea medie H(Y/X) = -

n

m

i =1

j =1

∑ ∑

p(xi,yj)·log2p(yj/ xi);

_______ 2). raportul semnal-zgomot: ξ=y(t)2/u(t)2; 3). rata erorii (BER). a). doar 1).; b). 1). şi 3).; *c). 2) şi 3).; d). toate trei; e). 1). şi 2)..

57

5.7 O sursă discretă S este fără memorie dacă: *a). emisia unui simbol nu depinde de simbolurile anterior emise; b). probabilităţile diferitelor simboluri nu depind de originea timpului; c). generează simboluri la o indicaţie exterioară; d). generează simbolurile cu o viteză fixă; e). nici un răspuns nu este corect; 5.8 O sursă discretă este cu debit necontrolat dacă: a). emisia unui simbol nu depinde de simbolurile anterior emise; b). probabilităţile diferitelor simboluri nu depind de originea timpului; c). generează simboluri la o indicaţie exterioară; *d). generează simbolurile cu o viteză fixă; e). nici un răspuns nu este corect; 5.9 O sursă discretă Sn este extensia unei surse de ordin n a sursei S dacă: a). emisia unui simbol nu depinde de simbolurile anterior emise; b). probabilităţile diferitelor simboluri nu depind de originea timpului; c). generează simboluri la o indicaţie exterioară; d). generează simbolurile cu o viteză fixă; *e). nici un răspuns nu este corect; 5.10 Informaţia obţinută în urma realizării evenimentului a, a cărui şanse de realizare sunt 100% este: *a). zero; b). un bit; c). un bit/simbol; d). strict pozitivă; e). nici un răspuns nu e corect. 5.11 Relaţiile între unităţile de măsură a informaţiei sunt: a). 1nit
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF