Sunteți pe pagina 1din 190

Cap. 1 Probabiliti.

Informaia
Dicionar:
- aposteriori (a posteriori) -locuiune latin: din ceea ce urmeaz, dup experien, pornind de la datele ei;
- apriori (a priori) - locuiune latin: din ceea ce precede, anterior experienei;
- binar -1.care este constituit din dou elemente; 2.a crui baz este numrul 2;
- bit/bii -1. Unitate de msur a informaiei; 2.simbol binar;
- discret -care este alctuit din elemente distincte; care variaz n salturi; cuantificat; discontinuu;
- echiprobabil(e) -de egal probabilitate;
- informaie -necesarul/rezultatul cunoaterii;
- probabilitate -1.nsuirea de a fi probabil; 2.msur (funcie) definit pe un cmp de evenimente, p : [0,1].

Definiii:
- surs de informaie (sau experiment probabilistic) = un mecanism (un experiment) prin care se selecteaz un mesaj
(un eveniment) dintre n posibile dup o lege arbitrar (sau cel puin necunoscut);
- mesaj (eveniment) = realizarea produs n urma efecturii experimentului;
- 1 bit = cantitatea de informaie furnizat de o surs de informaie binar, fr 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 probabilitii de realizare a unui mesaj (eveniment) A se face dup
relaia:
2. Probabilitate condiionat
Determinarea experimental a probabilitii de realizare a evenimentului (mesajului) B atunci cnd
s-a realizat evenimentul (mesajul) A se face dup relaia:
3. Formula fundamental a probabilitilor evenimentelor elementare
Dac Ai, i = 1n sunt evenimentele elementare ale unui experiment probabilistic (mesajele unei
surse de informaie) atunci:
n

p(A ) = 1

(1.3)

i =1

4. Relaia 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 probabilitii totale
Dac Ai cu i = 1, n sunt evenimentele elementare ale unui experiment probabilistic i B un
eveniment oarecare pentru acelai 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 )

iJ

iJ

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


1

(1.6)

(1.7)
p(A, B) = p(A B) = p(A ) p(B)
i utiliznd relaia (1.4)
p(A ) = p(A/B)
(1.8)
p(B) = p(B/A )
7. Informaia
Cantitatea de informaie necesar ridicrii nedeterminrii asupra evenimentului A este egal cu cea
furnizat de realizarea evenimentului A i egal cu :
1
(1.9)
[bii]
i(A ) = log 2
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 aezat n oricare din cele trei cutii; astfel c fiecare minge tripleaz numrul
de variante de aezare a mingilor n cutii. Aadar numrul de variante de aezare a mingilor n cutii
este:
N = 333 ..... 3 = 310 = 59.049

(1.1.1)

Pentru a avea trei mingi n C1 trebuie ca celelalte apte s fie aezate n C2


i C3. Numrul 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 numrul de moduri de alegere a 3 mingi din 10 posibile (considernd mingile
distincte); iar 27 reprezint numrul de posibiliti de aezare a apte mingi n dou cutii, C2 i C3.
Probabilitatea cerut este:
P3C1 =

3
C10
27
26%
310

(1.1.3)

1.2. Trei trgtori trag simultan asupra aceleiai inte. Probabilitatea ca fiecare
trgtor s nimereasc inta este p1 = 0,4; p2 = 0,5; p3 = 0,7. Notnd 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) Calculnd 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 A 1 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.3)

unde cu Ai s-a notat evenimentul ca trgtorul 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 conine 2 bile albe i 3 bile negre) i U2 (ce conine 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) aplicm formula lui Bayes:
p(A ) p(B/A ) = p(B) p(A/B)

(1.3.1)

( )

Probabilitile p(A ) si p A se calculeaz simplu:


p(A ) =

2
3
i p A =
5
5

( )

(1.3.2)

Probabilitatea condiionat p(B/A) este:


p(B/A) =2/7

(1.3.3)

iar p(B) se poate calcula cu formula probabilitii 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
7 = 5 = 2,5 < p(A/B)
p A/ B =
=
(1.3.7)
4
14
7
pB
5
Se observ, cum era de ateptat, 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 studenii consider c din totalul subiectelor m sunt


uoare i n grele. Precizai:
a) Probabilitatea ca primul student s extrag un subiect uor;
b) Probabilitatea ca cel de-al doilea student s extrag un subiect uor.
Rezolvare:
a) Cu notaiile: A evenimentul prin care primul student extrage un subiect uor;
B evenimentul prin care cel de-al doilea student extrage un subiect uor, avem c:
p(A ) =

m
m+n

( )

pA =

n
m+n

(1.4.1)

iar
p(B/A ) =

m 1
m + n 1

( )

p B/ A =

m
m + n 1

(1.4.2)

c) Pentru calcului lui p(B) se utilizeaz formula probabilitii totale, relaia (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) =

(1.4.3)

adic p(A) = p(B) cum era de ateptat.


Obs: - cele dou probabiliti p(A) i p(B) sunt probabiliti apriori (dinainte de producerea
evenimentelor). nainte ca primul student s extrag un subiect, toi studenii, indiferent de ordinea
lor, au anse egale la a extrage un subiect uor.

1.5. Un tetraedru regulat are feele colorate, una n rou, una n galben, una n
verde, iar cea de-a treia conine pe toate trei culorile. Se las s cad tetraedrul
pe una din fee. Fie evenimentele:
R - faa pe care a czut tetraedrul conine rou; G - faa pe care a czut
tetraedrul conine galben; V - faa pe care a czut tetraedrul conine verde.
a) ct este probabilitatea evenimentului rou, p(R)?
b) ct este probabilitatea condiionat p(R/G)?
c) sunt evenimentele R, G i V independente?
Rezolvare:
a) Probabilitatea evenimentului rou este:

b) Probabilitatea de a se realiza evenimentului rou dac s-a realizat galben este:


p(R/G ) =

1
2

(1.5.2)

deoarece una din dou fee ce conin galben conine i rou.


c) Pentru ca evenimentele R, G i V s fie independente trebuie s fie ndeplinite relaiile:
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)

Aplicnd relaia (1.1), gsim 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 relaie din (1.5.3) nu este verificat evenimentele R, G i V nu sunt independente.

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 independena:

(1.6.1)

p(A B) = p(A ) p(B)

(1.6.2)

Din cele dou relaii rezult c cele dou evenimente pot fi independente, fiind incompatibile, doar
dac unul este de probabilitate nul. Altfel spus, dou evenimente de probabiliti 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. Aflai informaia furnizat de: a) un
pixel; b) ntreaga imagine.
Rezolvare:
a) Considernd egal probabile nivelele de gri, conform definiiei informaiei unui eveniment:
i(pixel ) = log 2 p(nivel gri ) = log 2

1
= 6 bii
64

(1.7.1)

c) ntreaga imagine furnizeaz de 1024 x 256 ori mai mult informaie:


i(imagine ) = 1024 256 i(pixel ) 1,5 10 6 bii

(1.7.2)

1.8. a) Care este numrul de ntrebri minime necesare pentru a afla un numr
necunoscut Nx cuprins ntre 1 i 1000? ntrebrile pot fi de genul :
Numrul Nx este mai mare dect Np (nominalizat)?
b) Ct este primul prag Np1 i ct este informaia coninut de rspunsul la
ntrebarea:
Numrul Nx este mai mare dect 348?
Rezolvare:
a) Informaia necesar pentru a afla numrul Nx necunoscut este:
i N = log 2

1
1
= log 2
= log 2 1000 bii
p( N x )
1/1000

Informaia obinut prin rspunsul 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 numrul Nx este mai mare dect pragul Np. Evident:

( ) ( )

(1.8.3)

p A Np + p A Np = 1

i putem scrie:

( )

( )

(1.8.4)

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

(1.8.5)

x = p A Np = 1 p A Np

de unde
i N p = i(x ) = xlog 2

Funcia i(x) i atinge maximul dac


x=

1
2

(1.8.6)

Valoarea maximului este:


(1.8.7)

i m = 1 bit
i corespunde unui prag:

(1.8.8)

N pm = 499

Aadar, dac pragul este ales la jumtatea intervalului n care se cunoate c se afl Nx
informaia obinut prin rspunsul la ntrebare (n cazul cel mai defavorabil) este maxim i egal
cu 1 bit.
Cert, numrul minim de ntrebri este:

unde [y]sup denot numrul ntreg superior lui y.


Obs: numrul n = 10 gsit cu raionamentul anterior este minim n cazul general, acest lucru
nsemnnd c indiferent de Nx prin 10 ntrebri de tipul celei din enun (cu pragurile alese la
jumtate) se afl valoarea sa. Exist cazuri particulare cnd, pentru anumite valori a lui Nx, s fie
suficiente mai puine ntrebri (ex: Nx = 1 i Np = 1) dar pentru astfel de cazuri intervine ansa!

b) Din relaia (1.8.8) Np1 = 499;


Dac pragul se alege (la prima ntrebare) Np1 = 348 avem c

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 bii
652
348

(1.8.11)

Rezultatul cuprins n relaia (1.8.11) arat c dac pragurile nu vor fi alese la jumtate exist
posibilitatea s nu fie suficiente 10 ntrebri !

1.9. Cte cntriri sunt minim necesare pentru a preciza o moned fals din 12
i dac moneda este mai grea sau mai uoar? Moneda fals difer prin greutate
iar cntririle se fac pe o balan cu talere.
Rezolvare:
Informaia necesar pentru a soluiona problema este:
i nec = log 2 12 + log 2 2 = log 2 24 bii

(1.9.1)

unde log212 este informaia necesar pentru a afla moneda din 12, iar log22 este informaia necesar
pentru a afla dac moneda este mai grea sau mai uoar.
Informaia maxim furnizat de o cntrire este:
i cm = log 2 3 bii

(1.9.2)

i se atinge dac cele trei variante rezultat al unei cntriri cu balana(A-balana se nclin spre
dreapta, B-balana se nclin spre stnga, C-balana nu se nclin) sunt egal probabile:

p(A ) = p(B) = p(C )

(1.9.3)

Numrul de cntriri 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 soluia:
nmin = 3

(1.9.5)

Obs: - relaia (1.9.2) este valabil doar dac cele trei variante rezultat ale cntririi sunt egal
probabile. Astfel dac cele 12 monezi se noteaz cu M1, M2, ....., M12 prima cntrire 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 uoar 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 uoar i este M5, M6, M7, sau M8.
C1 moneda fals este mai grea sau mai uoar i este M9, M10, M11, sau M12.
8

Dac rezultatul primei cntriri este A1, indicele 1 semnific prima cntrire, A rezultatul ei,
atunci se compar M1+ M2+ M5 cu M3+ M4+ M6
- dac la a doua cntrire rezult A2 atunci fie M1 sau M2 e mai uoar fie M6 e mai grea i
se compar n continuare M1 cu M2;
- dac la a doua cntrire rezult B2 atunci fie M3 sau M4 e mai uoar fie M5 e mai grea i
se compar n continuare M3 cu M4;
- iar dac la a doua cntrire rezult C2 atunci fie M7 e mai grea fie M8; se compar M7 cu
M8.n mod analog pentru B1 i C1.
Obs: - relaia (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 soluionat din 13 cntriri pentru
c nu se poate asigura echiprobabilitatea rezultatelor.

1.10. Ct este informaia obinut n diferitele variante de rezolvare a problemei


cu 12 monezi? Dar cu 13 monezi?
Rspuns:
Pentru varianta A1 A2 A3 (cu 12 monezi):
8 2
8
3
I = log 2 3 + 2 log 2 + log 2 + log 2 3 = 4,7312 bii
3 8
2
8

Obs: informaia obinut la a doua cntrire este mai puin dect cea presupus, log23 bii.

1.11. Un convertor analog-numeric (CAN) convertete tensiunea de intrare Ux


ntr-un numr Nx conform relaiei:
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) Ct informaie furnizeaz la ieirea sa CAN-ul prin fiecare numr generat i
ct informaie se pierde ?
b) Dac CAN-ul folosete pentru conversie, n mai muli pai succesivi, un
comparator, s se stabileasc ct informaie furnizeaz comparatorul la un pas
i ci pai 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 numr minim de
pai ?
Rspuns:
a) i = 8 bii; n mod ideal Ux conine + informaie.

n realitate msurarea unei tensiuni Ux este limitat (ca i precizie) fie de rezoluia aparatelor fie de
nivelul zgomotului.
b) ic = 1 bit; 8 pai;
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 rezoluie de
q=100mV. Determinai redundana n componente a CAN-ului.
Rezolvare:
Numrul de rspunsuri 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 rspuns din cele N posibile este:


p0 = 1/N = 2-8

(1.12.2)

iar informaia coninut de un rspuns este:


i 0 = log 2 p 0 = 8 bii

(1.12.3)

Pentru c un comparator alege o variant din dou posibile, informaia furnizat de el este:
i c = log 2

1
= 1 bit
2

(1.12.4)

Aadar n mod ideal, pentru o conversie sunt suficiente:


n = i0/ic = 8 comparatoare

(1.12.5)

de unde rezult c redundana este de 120 de comparatoare.


Obs: Motivaia utilizrii a mai multor comparatoare const n faptul c, la folosirea doar a 8
comparatoare, sunt necesare tensiuni de prag variabile n funcie de tensiunea Ux, lucru ce scade
viteza de conversie.

1.13. La o transmisie numeric informaia util se transmite prin secvene


binare de cte n bii, numite cuvinte. Ct informaie este necesar pentru a
preciza poziia unui bit eronat din cei n? Dar pentru doi bii eronai?
Exemplificare pentru n = 8.
10

Rezolvare:
Informaia cerut se calculeaz cu formula:
i = log2 n (bii)

(1.13.1)

Se consider c transmiterea (implicit eronarea) unui bit este independent de a celorlali. Aadar,
pentru un bit eronat i1 = 3 bii; pentru doi bii eronai i 2 = log 2 C 82 4,8 bii.

1.14. Aceeai ntrebare ca i la problema 1.13, cu diferena c este o transmisie


ternar.
Rezolvare:
n cazul transmisiei ternare corecia unui simbol (ternar) eronat presupune pe lng aflarea
poziiei sale (fapt ce necesit aceeai informaie ca i la secvena binar), i valoarea simbolului
iniial, valoare ce poate fi una din dou posibile. Cu aceste justificri, rspunsurile vor fi:
i1 = log2 n (pentru aflarea poziiei)
+ log2 2 (pentru aflarea valorii) = 4 bii

(1.14.1)

i 2 = log 2 C 2n + log2 2 6,8 bii

(1.14.2)

n relaia (1.14.2) s-au adugat 2 bii de informaie necesari aflrii valorii adevrate pentru
dou simboluri ternare eronate.

1.15. La o transmisie binar informaia util este transmis prin cuvinte de n=8
bii printr-un canal cu rata erorii p=10-3. Ct informaie, n medie pe un
cuvnt, este necesar pentru a face:
a) detecie de o eroare pe cuvnt?
b) detecie de una sau dou erori pe cuvnt?
Rezolvare:
a) Probabilitatea ca un cuvnt s fie eronat ntr-o poziie este:
p1 = C1n p (1 p )

n 1

C1n p [1 p(n 1)] =

= 8 10 3 0,993 = 7,944 10 3

(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 (incluznd cazurile corecte i false).
Fie a i b astfel nct:
p1 = a/b i 1- p1 = (b-a)/b

(1.15.2)

11

Aadar din b cuvinte transmise a sunt detectate cu eroare. Pentru a detecta un astfel de cuvnt este
necesar informaia:
(1.15.3)

i 1d = log 2 p1

b-a cuvinte din cele b sunt considerate neeronate, pentru un astfel de cuvnt fiind necesar
informaia:
i 1n = log 2 (1 p1 )

(1.15.4)

Concluzionnd pentru b cuvinte recepionate este necesar informaia:


b i1 = a i1d + (b-a) i1n

(1.15.5)

iar pentru un singur cuvnt recepionat, pentru a face detecie de o eroare:


a
ba
i1d +
i1n =
b
b
= p1 log 2 p1 (1 p1 ) log 2 (1 p1 ) =
= 0,0668 bii/cuvnt

i1 =

(1.15.6)

b) i n acest caz informaia cerut are aceeai 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 cuvnt s fie eronat ntr-o poziie sau n dou poziii:
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 bii/cuvnt

(1.15.9)

Obs: Detecia prezenei erorilor presupune a decide ntre dou variante: exist sau nu exist erori
n cuvntul n cauz. Informaia furnizat de o astfel de decizie (una din dou posibile) este, n
medie, subunitar, nct problema deteciei din punct de vedere strict al informaiei este solvabil
cu 1 bit (de informaie) pe cuvnt, indiferent de p sau n.

12

Cap. 2 Surse de informaie


Dicionar:
- eficien raportul dintre ansamblul efectelor utile (rezultatelor) ce se obin de pe urma unei activiti i totalul
eforturilor;
- entropie (limba greac entropie=ntoarcere, schimbare) mrime ce indic gradul de nedeterminare asupra unui
sistem;
- extensie dezvoltare, cretere, amplificare, extindere;
- graf cuplu format dintr-o mulime ale crei elemente se numesc vrfuri i dintr-o funcie care asociaz, la orice
pereche ordonat de vrfuri (primul numit surs iar al doilea adres), un element, numit sgeat, al unei alte
mulimi.
- redundan (redondan) 1.abunden (inutil) de cuvinte, de figuri retorice, de imagini pentru exprimarea unei
idei; 2.excesul de informaie fa de strictul necesar;
- stare 1.situaie n care se afl ceva sau cineva; 2.ansamblul valorilor instantanee a parametrilor ce caracterizeaz
complet un sistem dat;
- staionar care rmne n aceeai stare;

Definiii:
- Surs de informaie text = sursa de informaie, de regul considerat fr memorie, avnd drept simboluri caracterele
distincte din textul dat (opional se pot include semne de punctuaie, pauzele dintre cuvinte, cifrele, etc)..
Probabilitile diferitelor simboluri vor fi ponderile lor n text.
- Extensia unei surse = fiind dat o SDFM, S cu N simboluri, se definete extensia de ordin n a sursei, notat Sn, sursa
avnd un numr de Nn simboluri obinute din toate combinaiile posibile de mesaje compuse din n simboluri
ale sursei S.
- Surs cu memorie (Markov) de m pai = sursa de informaie 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 pai = setul ultimelor m simboluri emise. Dac sursa poate emite M simboluri i este cu
memorie de m pai atunci admite Mm stri.
- 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 tranziie,T = o matrice ptrat de ordin Mm ce conine toate probabilitile de trecere;
- Graful sursei cu memorie = graful ale crui noduri reprezint strile sursei, iar coardele (sgeile) ce leag nodurile
probabilitile de trecere.
- Surs Markov staionar = probabilitile de trecere n n pai converg ctre limite independente de starea iniial
cnd n .
- Stare de staionaritate (a unei surse Markov staionare) = un vector, P* de dimensiune M ce conine
probabilitile

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

P * T = P *
M
(2.1)

*
p j = 1
j=1
*
Probabilitatea p j reprezint ansa ca sursa Markov, dup n pai cu n s se gseasc n starea Sj.

Notaii:
S surs de informaie;
N numrul de simboluri;
Si, i = 1
N simbolurile sursei;
pi, i = 1
N probabilitile de emisie a simbolurilor Si;
Sm extensia de ordin m a sursei SDFM, S;
Sj, j = 1
Nm strile sursei cu memorie, S;
T matricea de tranziie;
ppm pri per milion (1ppm=10-6).

Abrevieri:
SDFM Surs Discret Fr Memorie.

13

Breviar teoretic:
1. Mrimi ce caracterizeaz sursa de informaie:
--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
--eficiena:
s = H(S)/H max (S)
--redundana:
R(S) = Hmax(S) H(S)
--redundana relativ:
s = R (S)/H max (S)
2. Formul pentru schimbarea bazei logaritmului:
lnx
log 2 x =
ln2
3. Condiia de existen a strii de staionaritate pentru surs cu memorie:
n0 astfel nct 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 informaie discret are entropia egal cu 4,8 bii/simbol i


redundana relativ 9,8%. Cte simboluri are sursa?
Rezolvare:
Din relaiile de definiie a entropiei maxime i a redundanei relative pentru o surs discret fr
memorie:

(2.1.1)

H max = log 2 N

= 1

H(S)
H max

(2.1.2)

unde: H(s)-entropia sursei; Hmax-entropia maxim, -redundana relativ, N-nr. de simboluri a


sursei, gsim 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 informaie S:


S1 S 2 S3 S 4 S5

S = 1 1 1 1 1

8 2 16 4 16

Se cere s se calculeze:
a) informaia medie pe simbol, H(s);
b) valoarea maxim a entropiei sursei Hmax;
c) eficiena sursei s;
d) redundana sursei R;
e) redundana relativ .
Rezolvare:
a) Informaia 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 numrul 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 + 2 + 4 + 2 15
= + + + + =
=
8 2 16 4 16
8
8
= 1,875 bii/simbol

(2.2.2)

b) Entropia maxim este:


H max = log 2 N = log 2 5 2,323 bii/simbol

(2.2.3)

c) Eficiena sursei este:


s =

H (S)
= 80,71%
H max

(2.2.4)

d) Redundana sursei R este diferena dintre entropia maxim i entropia sursei date:
R = Hmax - H(S) = 0,448 bii/simbol

(2.2.5)

e) Redundana relativ, cu formula de calcul (2.6), are valoarea:


= 19,28%

(2.2.6)

15

2.3. Sursa de informaie discret i fr memorie S are drept simboluri


caracterele distincte din urmtoarea propoziie (surs text):
NU UITA NICI PAUZELE DINTRE CUVINTE .
Probabilitile simbolurilor (caracterelor distincte) sunt ponderile lor din text.
Se cere:
a) tabloul simboluri-probabiliti pentru sursa S;
b) entropia H(S), redundana R i eficiena s sursei S;
c) probabilitatea ca sursa s emit mesajul AUR.
Rezolvare:
a) tabloul simboluri-probabiliti 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 relaiei de definiie entropia sursei este:


N

1
p(s i )
i =1
N
N
k
k
36 N k i
= i log 2
= log 2 36 i log 2 k i
k i i =1 36
i =1 36
i =1 36

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

(2.3.2)

unde: N = 15 numrul de simboluri a sursei S;


k
p i = i , i = 1,15, - probabilitile simbolurilor.
36
nlocuind n (2.3.2) valorile obinute pentru ki din tabloul (2.3.1) gsim:
1
2 2 log 2 2 + 7 1 log 2 1 + 3 log 2 3 +
36
+3 4 log 2 4 +2 5 log 2 5 ) =

H(S) = log 2 36

1
( 4 + 3 log 2 3 + 24 + 10 log 2 5) =
36
= 3,6137 bii/simbol
= 2 + 2 log 2 3

(2.3.3)

Redundana i eficiena sursei se obin cu relaiile:


R = H max H(S) = log 2 N H (S)
H (S)
H(S)
s =
=
H max log 2 N

(2.3.4)

Cunoscnd N = 15 i cu H(S) dat de (2.3.3) gsim:


R = 0,2908 bii/simbol
s = 92,55%

16

(2.3.5)

c) Sursa S fiind fr 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 informaie discret i fr memorie:


S1 S 2 S3 S 4 S 5 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) eficiena sursei s;
d) redundana sursei R;
e) redundana relativ .
Rspuns:
a) H(S) = 2,44 bii/simbol
b) Hmax = 2,8 bii/simbol
c) s = 86,85%
d) R = 3,7 bii/simbol
e) = 13,15%

2.5. Fie sursa text:


STUDENTUL *** REZOLVA O PROBLEMA DE TTI .
a) nlocuii *** cu numele i prenumele dumneavoastr i construii n acest caz
tabloul sursei;
b) calculai entropia i eficiena sursei de la punctul a);
c) ct este probabilitatea ca sursa de la a) s emit mesajul MAR.
Rspuns:
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

b) H(S) = log 2 44

1
(6 2 + 6 log 2 3 + 16 + 5 log 2 5 + 7 log 2 7) = 3,896 bii/simbol
44

17

s =

3,896
= 93,44%
log 2 18

c) p (MAR ) =

4
= 47 ppm
44 3

2.6. O surs de informaie binar cu memorie de doi pai are graful


corespunztor n figur. S se afle:
a) probabilitile de trecere nefigurate;
b) ce anse sunt ca dup transmiterea mesajului 00110 s se transmit mesajul
11.
c) matricea de tranziie i o eventual stare de staionaritate;
d) entropia sursei date.

Rezolvare:
a) Probabilitile 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 /S 3 ) = 1 p(S1 /S3 ) =
4
p(S 2 /S1 ) = 1 p(S1 /S1 ) =

(2.6.1)

b) Deoarece sursa are memorie de doi pai, din mesajul transmis 00110 sunt relevani, pentru
definirea strii actuale, doar ultimii doi bii transmii 10. Aadar 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 tranziii este
de 50%. Concluzionnd probabilitatea ce nsoeteacest traseu S3 S2 S4 este:
1 1 1
p(S3 S 2 S 4 ) = = = 12,5%
(2.6.2)
4 2 8
c) Matricea de tranziie este:

18

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 /S 3 ) p(S 2 /S3 ) p(S3 /S 3 ) p(S 4 /S3 )
3


p(S1 /S 4 ) p(S 2 /S 4 ) p(S3 /S 4 ) p(S 4 /S 4 ) 4

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

1
2

(2.6.3)

O eventual stare de staionaritate ar conine probabilitile 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 condiia:

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

p1* p *2 p *3 p *4
3
4

4
7

-1

1
2

1
4

-1

3
5

1
2
=0
0

2
-1
5
0

(2.6.6)

Sistemul de ecuaii dat de (2.6.6) este compatibil nedeterminat fapt ce necesit nc o relaie ntre
probabilitile p *i , relaie care este:

[p

*
1

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

(2.6.7)

Soluia sistemului obinut 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(S i ) p(a j /S i ) log 2 p(a j /S i )


i =1 j=1

19

(2.6.9)

unde Si, cu i = 14, sunt cele 4 stri posibile ale sursei iar aj, cu j = 01, sunt mesajele posibil a fi
emise din fiecare stare.
Pentru uurina calculului entropiei, elementele cerute de suma dubl din (2.6.9) sunt date n
tabelul urmtor :
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
199 7
3 7
4 199 2
1 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 bii/simbol

H M (S) =

1
5

(2.6.11)

2.7. O surs de informaie binar cu memorie de doi pai are graful


corespunztor n figur. Dac n prezent sursa se afl n starea Si ct este
probabilitatea ca dup trei simboluri sursa s se regseasc tot n starea Si?

Rspuns:
p(S1 S1 S1 S1 ) + p(S1 S 2 S3 S1 ) =
3

3 1 2
4
= + = 24,37%
7 7 3 5

20

2.8. O surs de informaie binar cu memorie de un pas are probabilitile de


trecere: p(0/0) = 5/7 i p(0/1) =3/4.
a) construii graful sursei date;
b) calculai starea de staionaritate;
c) determinai entropia sursei;
d) determinai entropia unei surse fr memorie avnd aceleai simboluri i
probabilitile simbolurilor cele coninute n starea staionar.
Rezolvare:
a) Pentru a putea construi graful sursei cu memorie aflm probabilitile de trecere ce nu sunt date
n enunul 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 tranziie este:


5
7
T=
1
4

2
7
3
4

(2.8.2)

iar starea staionar se afl rezolvnd sistemul:

p *0 p1* T = p *0
*
p 0 + p1* = 1

p1*

(2.8.3)

Rezult:
* 7
p 0 = 15

p * = 8
1 15

(2.8.4)

c) Entropia sursei cu memorie este dat de relaia:


1

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


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 probabilitile 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 bii/simbol

H M (S) =

(2.8.6)

d) O surs fr memorie conform cu cerinele problemei are tabloul:


S1

S= 7

15

S2

15

(2.8.7)

iar entropia:
H(S) =

7
15 8
15
log 2 + log 2
= 0,9968 bii/simbol
15
7 15
8

(2.8.8)

Comparnd cele dou entropii gsite HM(S) i H(S) se observ c ultima este mai mare.

2.9. O surs de informaie binar cu memorie de trei pai are graful


corespunztor n figur. S se afle:
a) matricea de tranziie;
b) entropia sursei;
c) probabilitatea ca sursa, aflat n starea S2, dup emiterea a trei simboluri s
ajung n starea S3.

Rspuns:
22

a)
1
2

0
T=
2

1
2

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

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 bii/simbol

c) p(S 2 S3 S6 S3 ) =

9
= 9%
100

2.10. Fie sursa de informaie fr memorie avnd tabloul simboluriprobabiliti:


b
c
a
S =
0,2 0,4 0,1

Se cere:
a) valoarea lui x;
b) entropia i eficiena sursei S;
c) tabloul sursei de informaie S2(extensia de ordin a lui S);
d) entropia i eficiena sursei S2.
Rezolvare:
a) Deoarece:
N

= 1 rezult x = 0,3

(2.10.1)

i =1

b)

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

1
= 1,846 bii/simbol entropia
pi
23

(2.10.2)

s =

H (S)
H(S)
=
= 92,32% eficiena
H max log 2 N

(2.10.3)

b) Extensia unei surse S se obine asociind cte 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 bii/simbol

c)

S =
2

( )
( )

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, eficiena
pstrndu-se. Prin generalizare se poate arta 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 probabiliti de trecere necunoscute;
b) calculai starea de staionaritate;
c) calculai entropia sursei date;
d) pentru ce valori ale probabilitilor de trecere sursa este practic fr
memorie?

Rspuns:
a)

p(S1 /S 2 ) =

1
5

p(S 2 /S 3 ) =

1
2

p(S 3 /S1 ) =

1
3
24

b)
c)

p1* =

12
49

p *2 =

Starea
actual
S1
S2
S3

25
49

p *3 =

12
49

Starea
viitoare
S1
S2
S3
S1
S2
S3
S1
S2
S3

Probabilitatea
strii staionare
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 bii/simbol

d)

p(Si /S j ) = p(Si /S j ) = p(Si /S j ) = j = 1,2,3


cu , , R +

+ + =1

2.12. O SDFM are N = 32 simboluri i eficiena de 75%. Ct sunt entropia,


redundana i redundana relativ a sursei date?
Rspuns:
H(S) = 3,75 bii/simbol

R = 1,25 bii/simbol

25

= 25%

Cap. 3 Codarea sursei


Dicinoar:
- cod (limba latin "codex"- culegere) - 1.ansamblul unor reguli; 2.culegere de legi; 3.sistem de semnale sau semne
convenionale cu semnificaii bine precizate, ale cror combinaii sunt folosite pentru transmiterea unor
mesaje;
- compresie - reducere a volumului.

Definiii:
- codare = procesul de atribuire a unor succesiuni (secvene) de simboluri elementare mesajelor (simbolurilor) unei
surse de informaie;
- alfabetul codrii = totalitatea simbolurilor elementare cu ajutorul crora se pot construi succesiunile (secvenele);
- cuvnt de cod = o secven (succesiune) atribuit prin procesul de codare a unui mesaj al sursei de informaie;
- cod = totalitatea cuvintelor de cod;
- cod - binar = alfabetul este binar: {0, 1};
- bloc = cuvintele au aceeai lungime;
- unic decodabil = fiecrei succesiuni de cuvinte de cod i corespunde o unic succesiune de simboluri a sursei;
- instantaneu = nici un cuvnt de cod nu este prefixul altui cuvnt;
- graful de codare (graful codului) = un arbore ce crete, dintr-un punct iniial (numit surs), prin m ramuri la fiecare
nod (m - numrul de simboluri elementare din alfabet) i are la finele oricrei ramuri (numit frunz) cte
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. Secvena obinut prin asocierea simbolurilor elementare ataate
unei ci, ce pleac de la surs i ajunge la o frunz, este cuvntul de cod ce codeaz simbolul (mesajul) sursei
ataat acelei frunze;
- eficiena codrii = 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 obine o eficien superioar primului cod;
- factor de compresie = raportul eficienelor codurilor, comprimat i iniial.

Notaii:
L - lungimea medie a cuvintelor codului;
c - eficiena codrii;
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 informaie S, printr-o codare pe grupe
de n simboluri, poate fi fcut o codare absolut optimal dac n;
2. Lungimea medie a cuvintelor codului:
N

L = pili

(3.1)

i =1

unde: li - lungimea cuvntului ataat simbolului sursei;


si=numrul de simboluri elementare din componena cmpului respectiv;
3. Eficiena codrii se poate calcula dup formula:
H(S)
c =
L

26

(3.2)

3.1. Fie sursa de informaie discret i fr memorie:


a
S =
0,4

0 , 25

0 ,2

0 ,15

i trei coduri binare pentru sursa S:


CI

C II

10

100

110

C III

00

01

01

001

10

000

11

a) Ce secven binar corespunde, pentru fiecare cod n parte, mesajului sursei:


"abacdab"?;
b) Artai c decodarea secvenei construite la punctul a) este unic doar pentru
CII i CIII, nu i pentru CI;
c) Calculai entropia sursei i eficiena acesteia;
d) Calculai lungimea medie a cuvintelor fiecrui cod, precum i eficiena
codrii.
Rezolvare:
a) Secvenele binare cerute se obin prin simpla substituie a literelor cu secvenele binare
(cuvintelor) corespunztoare lor:

Sv1=1101100110
Sv2=1011001000
Sv3=0001001011

110
101
0001

(3.1.1)

b) Decodnd secvena Sv1 prin I gsim cel puin dou variante de decodare:
abacdab, dacdd, abacabab, etc...
fapt ce nu se poate ntmpla cu Sv2 i Sv3 prin CII, respectiv CIII.
c) Conform formulei de definiie, entropia sursei este:
N

H(S) = pi log 2
i =1

1
= 1,9 bii/simbol
pi

(3.1.2)

Pentru calculul eficienei este necesar n prealabil entropia maxim:


H max = log 2 N = 2 bii/simbol

(3.1.3)

Rezult eficiena 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 cuvntului de cod numrul i.


Deoarece CI i CII au aceleai lungimi pentru cuvinte i lungimea medie va rezulta aceeai:

iar:

L1 = L 2 = 0,4 1 + 0,25 2 + 0,2 3 + 0,15 3 = 1,95 bii/simbol

(3.1.6)

L3=2 bii/simbol

(3.1.7)

fiind un cod bloc.


Eficienele codrilor rezult:
c1 = c 2 = 97,6%

c3 = s = 95%.

(3.1.8)

Obs.: - Dei CIII are lungimi ale cuvintelor de cod mai mici dect CI i CII, totui acestea "codeaz
mai eficient" sursa dat, deoarece atribuie cuvnt de cod scurt (lungime 1) simbolului cel mai
frecvent (a).
- Codurile CII i CIII sunt coduri unic decodabile prin faptul c decodarea unei secvene 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 biunivociti ntre mulimea mesajelor sursei S i mulimea cuvintelor de


cod, codul CI nu poate fi utilizat deoarece informaia 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 aceei lungime).
a) Ct sunt entropia i eficiena sursei date?
b) Ct este lungimea medie m a cuvintelor codului, minim necesar ?
c) Calculai eficiena codrii.
Rezolvare:
a) Sursa fiind echiprobabil:
H(S)=Hmax=log220=4,32 bii/simbol

28

(3.2.1)

i, ca atare:

s=100%

(3.2.2)

b) Pentru a putea atribui N secvene binare, de lungime m, celor N mesaje ale sursei este necesar ca
s existe cel puin N secvene distincte. Cum numrul de secvene binare de lungime m este 2m
rezult c 2m N, unde N este numrul de simboluri al sursei, N=20. n plus, conform cerinelor
problemei vom alege pe cel mai mic m ce verific inegalitatea, astfel nct:
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

L = p i li = p i m = m
i =1

(3.2.5)

i =1

relaie ce este adevrat indifirent de valorile probabilitilor pi.


Eficiena codrii va fi:
c =

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

(3.2.5)

3.3. a) Codai prin algoritmul Huffman static sursa de informaie discret i fr


memorie:
a
S =
0, 4

0, 2

0, 25

0,15

b) Codai cu ajutorul aceluiai algoritm Huffman static extensia de ordin 2 a


sursei date;
c) Calculai i comparai n cele dou cazuri eficienele celor dou coduri
obinute.
Rezolvare:
a) Desfurarea 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
0,35 11
0,25 10

Figura 3.1.

29

0,6 1
0,4 0

Codul obinut are lungimea:


4

L1 = pi li = 1,95 bii/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 artat n figura urmtoare:
aa
ac
ca
ab
ba
cc
ad
da
bc
cb
bb
cd
dc
bd
db
dd

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

16
10
10
8
8
6,75
6,25
6
6
5,25
5
5
4 10111
3,75 10110

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 desfurarea algoritmului probabilitile sunt nmulite cu 100 pentru uurina scrierii. Lungimea
medie a cuvintelor codului obinut 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 bii/simbol
100
L2 =

(3.3.2)

Cunoscnd c entropia extensiei de ordin 2 este dublul entropiei sursei date (vezi problema 2.10)
gsim c:
H(S)=1,9bii/simbol

( )

H S2 = 2H (S) = 3,8 bii/simbol

(3.3.3)

De unde:
c1 =

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 informaie 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 eficiena codrii i factorul de compresie fa de o codare bloc;
d) S se construiasc graful de codare.
Rspuns:
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)

0
0
A

1
1

0
N

1
M

0
0

T
O

1
0

0
R
00

1
F

0
.

3.5. O surs de informaie discret i fr memorie, avnd redundana relativ


, a fost codat cu un cod binar cu eficiene c.
tiind c:
c+
=1
i cunoscnd lungimea medie a cuvintelor codului bloc L=5 bii/simbol aflai
numrul de simboluri ale sursei.
Rspuns: N=32

3.6. Sursa de informaie, fr 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
secvenei binare ataate mesajului "CRIN" ?
Rspuns: 13 bii

3.7. O surs de informaie echiprobabil cu 50 simboluri se codeaz cu un cod


binar bloc de eficien maxim posibil (codare pe simbol). Ct este eficiena
codrii?
Rspuns: c =

50
log 2 50 = 98,67%
286

32

3.8. Sursa text (fr pauze):


VINE EA SI VACANTA
ordonat alfabetic, se codeaz cu un cod binar (cod binar natural). Considernd
ieirea codorului drept o surs binar secundar, cu ct este egal entropia
acestei surse secundare (considerat i ea fr memorie)?
Rezolvare:
Tabloul simboluri probabiliti este:

I N S T V
A C E
S= 4 1 2 2 2 1 1 2

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 relaia:


N

p(0 E ) = pi
i =1

m 0i
m

(3.8.3)

unde: N=8 - numrul de simboluri al sursei primare;


pi
i = 1.N -probabilitile simbolurilor sursei primare;
m=3 lungimea cuvintelor codului;
m0i - numrul de zerouri din componena cuvntului i.
n mod analog:
N
m
p(1E ) = 1 p(0E ) = pi 1i
m
i =1

(3.8.4)

Efectund calculele, gsim c:


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

astfel tabloul sursei secundare este:

33

(3.8.5)

1
0

S' =
26 / 45 19 / 45

(3.8.6)

iar entropia:

()

H S' =

26
45 19
45
log 2
+ log 2
= 0,9825 bii/simbol
45
26 45
19

(3.8.6)

3.9. Folosind algoritmul LZ-77 gsii:


a) rezultatul compresiei mesajului: aaabcbaabcc...;
b) mesajul iniial, 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:

5 6

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 comprimrii 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 urmri cu ajutorul diagramei:


1

c
b

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

Aadar, mesajul iniial este: cbcbccccbccbc... .

3.10. Comprimai mesajul: aaabcca... utiliznd algoritmul Huffman dinamic.


Ct este factorul de compresie?
Rezolvare:
Vom prezenta evoluia arborelui (grafului) asociat codului n timpul codrii mesajului dat:

34

1.Arbore iniial:
2. S-a codat "a":

1
3

simbol
codul:

mesaj: a

0
1

mesaj: --

0
a

1
0

cuvnt
de cod
0
1

Obs: Semnificaia notaiilor este:


-pentru nod:

- x: numr de ordine (crete de la stnga ctre dreapta i de jos n sus pe linii);


- p: ponderea cumulat din nodurile aferente.
- pentru frunz (nod terminal):

- x: numr de ordine;
- p: pondere (numr de apariii ale respectivului simbol);
- y: simbolul.
Frunza goal, notat cu "0", este de pondere 0.
- pentru ramur: - spre stnga 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

3 1
0

4.S-a codat "aaa"


mesaj: a11
codul:
0
0
1
a
1

4 3

3 3
0
1 0

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

2 1

3 1
0
1
35

01

5 2
0

2 3

7 5

1
0

6 3
1
4 1

1
0

2 1

7.S-a codat "aaabcc"


mesaj: a110b00c001
codul: 0
000
a
1
b
001
c
01

3 2

6 3 a
1
4 1

5 3
0

1 0

7 6

7 6

5 3

Schimb
ntre
3 1

2 2

8.S-a codat "aaabcca"


mesaj: a110b00c0011
codul: 0
000
a
1
b
001
c
01

10

1
4 2

6 3

nodurile
2 i 4

2 1

7 7

5 3
0

3 1
0
1 0

6 4

1
4 2

1
0

2 1

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 numr de ordine mai mic i pondere mai
mare dect un altul va face schimb de poziie n arbore cu acesta din urm.

Considernd caracterele n mesajul iniial codate pe 8 bii, lungimea acestuia este:


Li=78=56 bii

(3.10.1)

Mesajul comprimat (a110b00c0011) are:


L2=83+9=33 bii

(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, presupunnd mesajul dat o SDFM text.
d) Calculai n fiecare caz factorul de compesie fa de o codare bloc pe opt bii a
mesajului iniial.
Rezolvare:
a) Recodarea aferent algoritmului LZ77 este prezentat n diagrama urmtoare:

a
b

a
c
c

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=123+68=84 bii

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

mesaj codat: "aa"


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

1 0 0 2 2 a

37

A
a
c
b
d
a
c

3.

mesaj codat: "aac"


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

3 1

4 2 a

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

7 3 a8 4
0

5 1 b 6 2
0

1 0

4 1

(8. 9. 10.) 11.


9 11

9 11
0
7 6
0

1 0

7 5 a 8 6

6 3

4 2

6 3 c
1

3 1

1
2 1

5 3

3 1

8 5

5 3
0

4 2
1

0 0 12 1 d

38

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

7 6 a 8 7
0

5 3 c 6 4
0

3 1

4 3

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

7 8 a 8 10
0

5 4 b 6 6
0

3 2
0

4 4

1 0 0 2 2 d

39

Lungimea rezultat a mesajului transmis este:


L2=48+33=65 bii

(3.11.2)

c) Pentru a putea coda mesajul transmis prin algoritmul Huffman static definim sursa:
b c d
a
S= 8 4 4 2

18 18 18 18
asupra creia putem aplica algoritmul:
a
b
c
d

8
4
4
2

0
10
111
110

8
6
4

0
11
10

10 1
8 0

Cu ajutorul codului obinut mesajul se transmite prin secvena binar:


"001110111010111010"
L3=34 bii

(3.11.3)

d) Dac mesajul iniial este codat bloc pe 8 bii lungimea secvenei binare codate este:
L0=188=144 bii

(3.11.4)

Cu rezultatele coninute n relaiile (3.11.1, 2, 3 i 4) gsim pentru factorii de compresie valorile:


144
= 1,7143
84
144
=
= 2,2154 = 1,3F1
65
144
=
= 4,2353 = 2,47F1
34

F1 =
F2

F3

(3.11.5)

40

Canale

Cap.4 Canale de transmisie


Dicionar:
- canal (de transmisie) - cale (mediu fizic) de transmisie prin care circul infpormaia ntre emitor (surs) i
receptor (utilizator);
- cmp (corp) - o mulime K de elemente care satisfac urmtoarele axiome:
1. - pe K sunt definite dou operaii: adunarea i nmulirea;
2. - n raport cu adunarea K formeaz un grup abelian cu elementul nul 0;
3. - K \ {0} formeaz grup abelian pentru nmulire;
4. - nmulirea este distributiv fa de adunare;
- echivoc - 1. suspect, ndoielnic; 2.echivocaie- msur a efectului perturbaiilor asupra comunicaiilor prin canale;
- capacitate valoarea maxim pe care poate s o aib un parametru al unui sistem, parametru ce indic performane de
nmagazinare, transport sau prelucrare.

Definiii:
1. - transferul informaiei ntre cmpul de intrare X, cel de ieire Y i canal C:
Informaia ce o adaug
canalul, n medie,
fiecrui simbol binar

Cmp
intrare
X

H(X)

H(Y/X)

I(X,Y)

H(Y)
CANAL

Informaia, n medie, ce
intr n canal printr-un
simbol binar

H(X/Y)
Informaia ce o pierde
n canal, n medie, un
simbol binar

Cmp
ieire
Y

Informaia ce iese,
n medie, din canal
printr-un simbol
binar

Informaia 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 - numrul de momente transmise n unitatea de timp;


- Baud (Bd) - unitatea de msur a debitului de momente;
- Moment - semnal elementar purttor de informaie de durat TM.

Notaii:

x0=0E , x1=1E - simbolurile emisibile n canalul binar;


X={x0 , x1} - cmpul de la intrare n canal;
y0=0R , y1=1R - simbolurile recepionabile din canalul binar;
Y={y0 , y1} - cmpul de la ieirea din canal;
p(xi) - probabilitatea de a emite n canal xi;
p(yj) - probabilitatea de a recepiona din canal yj;
P(Y/X) - matricea de tranziie=[p(yj / xi)]22;
p(yj /xi) probabilitatea (apriori) de a se recepiona yj cnd a fost emis xi;
P(X,Y) =[ p(xi, yj)]22;
41

Canale
p(xi, yj) - probabilitatea de a se fi emis xi i a se recepiona yj;
P(X/Y) =[ p(xi/yj)]22;
p(xi/yj) - probabilitatea (aposteriorii) de a se fi emis xi cnd s-a recepionat 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. Relaii ntre matrici
0
p(0 )

P(X, Y ) = E
P(Y / X ) =

p(1E )

0
p(0 R ) = +
p(1R ) = +
1
p(0 )
P(X / Y ) = P(X, Y ) R
0

2. Entropii condiionate

- eroarea medie H(Y / X ) =


- echivocaia H(X / Y ) =

(4.3)

1 1

p(xi , y j ) log2 p(y

i = 0 j= 0
1 1

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

- transinformaia
1

(4.2)

1
p(1R )

i = 0 j= 0

I(X, Y ) =

(4.1)

p xi , y j

1
;
j / xi

1
;
i / yj

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


3. Capacitatea canalului
- discret C = max I(X, Y ) (bii/simbol)
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. Redundana i eficiena canalului
R C = C I(X, Y ) - redundana absolut
I(X, Y )
- redundana relativ
c = 1
C
I(X, Y )
c =
- eficiena
C

42

(4.5)

p(x i , y j ) log 2 p(x )p(y )


i
j
i = 0 j= 0

(4.4)

(4.6)

(4.7)
(4.8)
(4.9)

(4.10)
(4.11)
(4.12)
(4.13)

Canale

4.1. Fie secvena binar:


i0=100101011100011100100110
(4.1.1)
generat de o SDFM echiprobabil, X. n vederea transmiterii dibiii din
secvena i0 se codez prin:
00
01
10
11

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

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

cu TM=250
s

(4.1.2)

Se cere:
a) S se calculeze entropia i eficiena sursei X; (H(X), X)

b) Debitul de informaie al sursei X dac codarea (4.1.2) se face n timp real; ( X )


c) Cantitatea de decizie corespunztoare unui moment (moment = un semnal
dintre S00, S01, S10 sau S11); (D)

d) Debitul de momente; ( M )
e) Ce debit de informaie (n bii/sec) corespunde n acest caz unui Baud? (1Bd)
f) S se reprezinte grafic semnalul S(t): suport al informaiei i0.
Rezolvare:
a) Probabilitile de emisie (generare) a mesjelor binare 0 i 1 fiind egale:
p(0)=p(1)=1/2

(4.1.3)

rezult pentru entropie i eficiena sursei valorile:


H(X)=1 bit/simbol
=100%

(4.1.4)

b) Prin definiie:
H (X )
x

X=

(4.1.5)

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

1
TM = 125s
2

(4.1.6)

i ca atare:

X=

1 bit/simbol
= 8 kbiti/sec
125 s

(4.1.7)

43

Canale
c) Conform definiiei:
D=log2m=2 bii

(4.1.8)

unde m=4 reprezint numrul de nivele de tensiune corespunztoare dibiilor (relaia (4.1.2)).

d) Debitul de momente M este numrul 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 informaie este X = 8000 bii/sec, corespunde la viteza de modulaie (debitul de

momente) M = 4000 Bd , rezult pentru fiecare Baud cte 2 bii de informaie.


f) Secvena binar dat va avea suport fizic urmtoarea succesiune de semnale elementare:
(4.1.10)

S10S01S01S01S11S00S01S11S00S10S01S10
care formeaz semnalul:
[V]

S[t]

3
2
1
0
-1
-2
-3

10

11 12

4.2. Presupunnd semnalul ternar din figur:


[V]

S[t]

+1
0

10

12

14

-1

suportul fizic al unei informaii, s se afle:

a) Viteza de modulaie M (debitul de momente);

44

t/5s

t/TM

Canale

b) Cantitatea de informaie maxim ce se poate transmite printr-un simbol


ternar;
c) Debitul de informaie ce rezult dac semnalul S(t) a fost obinut prin
modularea (codarea) unei secvene binare echiprobabile, n timp real, utiliznd
codul:
11
0
10

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

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

(4.2.1)

d) Debitul maxim de informaie ce poate fi obinut printr-o codare adecvat


utiliznd : - un semnal ternar;
- un semnal binar;
- un semnal cuaternar.
n toate cazurile se va considera aceeai vitez de modulaie.
Rspuns:

1
= 105 simbol ternar / sec = 105 Baud
TM
b) D=log23=1,585 (bii)
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 bii/sec
TM

d)
Semnal

binar
ternar
cuaternar

1 bit inf. / sg. binar


1,585 bii informaie / sg. ternar
2 bii informaie / sg. cuaternar

X [bii / sec]
1/TM
1,585/TM
2/TM

D - cantitatea maxim de informaie ce se poate nmagazina ntr-un semnal elementar de durat TM;

X - debitul maxim de informaie relativ la TM [sec].

45

Canale

4.3. Sursa de informaie fr memorie constituit din caracterele echiprobabile


A, C, D, E, I, N, R se codeaz cu un cod binar bloc (transpunere zecimal binar
a numrului de ordine; fr cuvntul de pondere zero), apoi se cupleaz la un
canal de transmisie binar simetric avnd rata erorii egal cu 0,1. Calculai:
a) entropia i eficiena sursei; (H(S) S)
b) eficiena codrii; (
c)
c) entropia cmpului de la intrarea n canal; (H(X))
d) matricea de tranziie i eroarea medie; (P(Y/X), H(Y/X))
e) cmpul de la ieirea din canal i entropia sa; (Y, H(Y))
f) echivocaia i transinformaia; (H(X/Y), I(X,Y))
g) capacitatea canalului; (C)
h) probabilitatea ca sursa s fi emis mesajul DAC atunci cnd s-a recepionat
mesajul RAC. (p(DACE/RACR))
Rezolvare:
a) Sursa fiind echiprobabil:
H(S) = H max = log 2 7 2,8 bii/simbol
S=100%

(4.3.1)

b) Conform cerinelor 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 bii/simbol

(4.3.2)

Pentru eficien rezult valoarea:


c =

H(S)
= 93,58%
L

(4.3.3)

c) Cmpul de la intrarea n canal conine dou simboluri binare ce pot fi emise n canal cu
probabilitile:
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:
1E
0

X = E
3/ 7 4 / 7

(4.3.5)

i are entropia:

H(X ) =

3
7 4
7
log 2 + log 2 = 0,9852281 bii/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
considerm sursa X fr memorie i s calculm 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 cunoscnd rata erorii p=0,1 matricea de tranziie 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

0 R 1R

0,9 0,1
0,1 0,9 (4.3.7)

Eroarea medie este "informaia" medie, pe simbol binar, ce sosete la recepie i nu provine de la
emisie ci din canal:
H(Y / X ) =

1 1

p(xi , y j ) log2 p(y

i = 0 j= 0

1
j / xi

(4.3.8)

unde: - p(yj/xi) = probabilitatea ca la recepie s soseasc yj dac la emisie a fost transmis xi;
probabilitile de genul p(yj/xi) sunt coninute n matricea P(Y/X) dat de relaia (7).
- p(xi , yj ) = probabilitatea de a se emite xi i a se recepiona yj;
Aceste probabiliti formeaz o matrice de forma P(X,Y) i se calculeaz cu ajutorul relaiei lui
Bayes:
p(xi , yj )=p(xi) p(yj/xi)
i,j=0,
(4.3.9)
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 notaiile alternative pentru 0E, 1E respectiv 0R, 1R folosite pentru a scrie
relaiile compact:
x 0 = 0E

x1 = 1E

0R = y0

1R = y1

(4.3.11)

Obs.: Dei att cmpul de la intrare ct i cmpul de la ieire conin aceleai dou simboluri
binare 0 i 1, sunt necesare notaii distincte pentru a putea fi distinse n diferitele relaii
matematice.

47

Canale
nlocuind rezultatele din (4.3.4) i (4.3.7) n (4.3.10) gsim c:

2,7

P(X, Y ) = 7
0,4

0,3
7
3,6

(4.3.12)

Dispunem acum de toate probabilitile 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) Probabilitile simbolurilor de la ieirea din canal, 0R i 1R se afl cu ajutorul formulelor:


p(0 R ) = p(y 0 ) = p(x 0 , y0 ) + p(x1, y 0 ) = p(0E ,0R ) + p(1E ,0R )
p(1R ) = p(y1 ) = p(x 0 , y1 ) + p(x1, y1 ) = p(0E ,1R ) + p(1E ,1R )

(4.3.14)

sau compact:

[p(0 r )

3,1 3,9
p(1R )] = [1 1] P(X, Y ) =
7
7

(4.3.15)

Sursa binar echivalent ieirii canalului este:

0R 1R
Y = 3,1 3,9
7
7

(4.3.16

i are entropia:

3,1
7 3,9
7
3,1
3,9
log 2
+
log 2
= log 2 7 log 2 3,1
log 2 3,9
7
3,1 7
3,9
7
7
(4.3.17)
=0,990577bii/simbol binar

H(Y ) =

f) Echivocaia, notat H(X/Y), este cantitatea medie de informaie pe un simbol binar ce este
pierdut de acesta (simbolul binar) n canal:
H(X / Y ) =

p(xi , y j ) log2 p(x

i = 0 j= 0

1
i / yj

(4.3.18)

Calculnd probabilitile aposteriori p(xi/yj) cu relaia:


1
p(0 )
(
)
(
)
p
0
/
0
p
0
/
1
E R
E E
P(X / Y ) =
= P(X, Y ) R

0
p(1E / 0 R ) p(1E / 1R )

48

0
=
1
p(1R )

Canale
2,7

= 7
0,4

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 gsete valoarea echivocaiei:


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 bii/simbol binar

H(X / Y ) =

(4.3.20)

Transinformaia I(X,Y) se poate afla utiliznd egalitile:


I(X,Y)=H(X)-H(X/Y)=H(Y)-H(Y/X)

(4.3.21)

Utiliznd (4.3.6) i (4.3.20) gsim valoarea:


I(X,Y)=0,521562 bii / simbol binar

(4.3.22)

Valoare ce se gsete i folosind rezultatele din (4.3.13) i (4.3.17).


Obs.: - utilizarea relaiilor necesare n rezolvarea problemelor de tipul prezentei implic calcule
matematice voluminoase. Pentru a obine rezultate bune este de preferat s nu se fac aproximri
n calculele intermediare, obtnd pentru varianta memorrii lor cu ajutorul unitii de calcul. O
bun verificare a rezultatelor gsite se poate face cu ajutorul relaiei (4.3.21).

g) Capacitatea canalului binar simetric se calculeaz cu formula:

C = 1 + p log 2 p + (1 p ) log2 (1 p )

(4.3.23)

i, n cazul de fa pentru p=0,1, este:

C=0,531004bii/simbol

(4.3.24)

Obs.: - capacitatea canalului, conform definiiei, este maximul transinformaiei. Rezultatul (4.3.24)
se poate regsi fcnd n (4.3.21) H(Y)=1.

h) Probabilitatea de a se fi emis "DAC" atunci cnd s-a recepionat "RAC" este identic cu
probabilitatea de a se fi emis secvena binar "011 001 010" atunci cnd s-a recepiopnat "111 001
010":
p(DACE / RACR ) = p(011001010 E / 111001010R ) =
= p(0E / 0R )4 p(0 E / 1R ) p(1E / 1R )4 =
4

27 1 12
= 3,2%
31 13 13

49

(4.3.25)

Canale
Obs.: - n ultima relaie, (4.3.25), s-a fcut presupunerea c transmisia unui simbol binar este
independent de a celorlalte.

4.4. Sursa text (discret i fr memorie):


"TEORIA TRANSMISIUNII INFORMATIEI"
se codeaz binar bloc (ordonare alfabetic, pauza la sfrit, cod binar natural) i
se cupleaz la un canal de transmisie binar. Cunoscnd c p(0R / 0E ) = 0,9 i
p(0R / 1E ) = 0,2 s se afle:
a) matricea de tranziie a canalului; (P(Y/X))
b) codul binar bloc;
c) probabilitatea ca sursa s emit mesajul METEOR;
d) probabilitatea de a se fi recepionat TEN dac s-a emis TEO;
e) probabilitatea de a se fi emis MAR dac s-a recepionat MAT;
f) entropiile cmpurilor de intrare i ieire; (H(X), H(Y))
g) eroarea medie i echivocaia; (H(Y/X), H(X/Y))
h) transinformaia i capacitatea canalului; (I(X,Y), C)
Rspuns:
a)

0
P(Y / X ) = E
1E

0 R 1R

0,9 0,1
0,2 0,8

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

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

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011

p(METEOR E ) =

2 23 2 23
6

= 1,34 10 7

32
p(TEN R / TEO E ) = p(1001 0001 0101R / 1001 0001 1001E ) =
= p(0R / 0E )6 p(0 R / 1E ) p(1R / 0 E ) p(1R / 1E )4 = 0,96 0,2 0,1 0,84 = 0,435%
9
7
p(0E ) =
p(1E ) =
,
16
16

n ipoteza c sursa secundar {0E,1E} este fr memorie.


50

Canale
0 R 1R

P(X, Y ) =

p(0 R ) =

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(0 E / 0R )7 p(0E / 1R ) p(1E / 0 R )2 p(1E / 1R )3 =


7

81 9 14 56
= = 0,63 103
95 65 95 65
f)

H(X)=0,988699408 bii/simbol binar


H(Y)= 0,974489403 bii /Simbol binar

g)

H(Y/X)=0,579653563 bii/simbol binar


H(X/Y)= 0,593863568 bii /Simbol binar

h)

I(X,Y)=0,39483584 bii/simbol binar


C= 0,420346437 bii/simbol binar

4.5. Sursa text ANTENA RECEPTOARE codat binar bloc (ordonare alfabetic
+CBN) se cupleaz la un canal de transmisiune binar avnd matricea de
tranziie:
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, considerndu-se c
este SDFM;
c) Considernd c S' este sursa avnd aceleai simboluri ca i S dar cu
probabiliti cele de recepionare a mesajelor, s se afle tabloul sursei S;
d) Ct sunt probabilitile:
p(CAPE) - de a se emite mesajul CAP;
p(CAPR) - de a se recepiona mesajul CAP;
p(CAPR /CAPE) - de a se recepiona mesajul CAP dac acesta a fost
emis;
p(CAPE /CAPR) - de a se fi emis mesajul CAP dac acesta a fost
recepionat?

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) Utiliznd relaiile (4.3.4) aflm c:


p(0 E ) =

13
24

p(1E ) =

11
24

4.5.3)

c) Pentru a afla probabilitile simbolurilor recepionabile se utilizeaz formula probabilitii totale


(1.5). De exemplu, pentru calculul probabilitii de a recepiona A, se folosete relaia:
p(A R ) = p(A E ) p(A R / A E ) + p(C E ) p(A R / VE ) +
K + 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)

unde:

Folosind relaiile de forma (4.5.4) i (4.5.5) se calculeaz probabilitile de recepionare pentru toate
cele 8 simboluri. Aceste calcule sunt indicate n tabelul de mai jos:
Probabilitate
simbol 16
Simbol
A

93

92 2

9 22
928

3355
1485

9 2 1

982

921

9 12

918

9 82

2 12

2 2 1
218

218

22 8
288

3515

92 8
981

2 2 1
982

22 8

92 8
921

92 2
921

23

9 2 1

9 22
928

9 22

92 2
921

9 2 1

912

912

982

8 22

1485

9 12

981

82 2

1075

9 12

2 12

821

981

9 82
821

821

2 12
981

92 8
981

981

2 2 1
821

9 82

82 2

1845

13

8 12

8 12

82 1

8 12

82 1

82 1

83

1395

Tabloul sursei S' va fi:


52

16.000

1845

Canale

C
E
N
O
P
R
T
A
3515 1845 1485 1075 1845 1395 (4.5.6)
S' = 3.355 1485

16000 16000 16000 16000 16000 16000 16000 16000


Obs.: comparnd (4.5.1) cu (4.5.6) se observ c A, C, O i P sunt mai probabile la recepie dect
la emisie n vreme ce probabilitile simbolurilor E, N, R i T au sczut, n probabilitate, la recepie
fa de emisie.

d) Probabilitile cerute sunt:


p(CAPE ) =
p(CAPR ) =

3
3

= 0,7 10 3

16
5,3558
16

= 1,3 10 3

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


6

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 relaiile (4.1, 2 i 3):


11,7

P(X, Y ) = 24
2,2

24
13,9
p(0 R ) =
24
117

P(X / Y ) = 139
22

139

1,3
24
8,8

24
p(1R ) =

10,1
24

13
101
88

101

Obs.: Calculul probabilitilor p(0R) i p(1R) se poate face i cu relaii de forma (4.3.4), rezultnd
aceleai 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 fiecrui pixel se cuantizeaz pe 128 nivele, iar raportul semnalzgomotul se consider cel minim necesar.
Rezolvare:

53

Canale
Informaia coninut ntr-o imagine, necesar a fi transmis, este:
Iim = N i pixel = 106 log 2 128 = 7 106 bii/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 capacitile canalelor:


CT = BT log 2 (1 + ) = 3,1 103 14 = 43,4 kbii/sec
C V = B V log 2 (1 + ) = 12 10 6 14 = 168 Mbii/sec
C O = B O log 2 (1 + ) = 10 6 14 = 14 Gbii/sec

(4.6.3)

Dac transmisiile s-ar face la aceste capaciti (debite de informaie) 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 fiecrui canal este:
C=

Iimag
imag

= 25 Iimag / 1 sec = 175 Mbii/sec

(4.7.1)

Aceast capacitate se poate obine la un raport semnal/zgomot:


= 2C / B 1 sau (dac C>>B): dB = 3
Cunoscnd 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

O = 20,175 1 = 0,129 sau O


(4.7.3)
dB 9dB
Obs.: Evident c un raport semnal-zgomot de 169355 dB este un rspuns non sens pentru practic.

4.8. Reprezentai secvena de date prezentat n figura de mai jos, pe rnd n


codurile NRZ, RZ, AMI i HDB3. Calculai componenta medie, n fiecare caz,
lund valoarea vrf la vrf 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

Rspuns:
RZ

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

AMI - O

HDB3 - 1/50 A

4.9. Desenai semnalele de linie n cod HDB3 pentru urmtoarele secvene 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
+

se aduce semnalul:
i=11101000000110000111...
1
Starea iniial a RDR este S0 = 0 .
0
Rspuns: 01010001011010101001.

56

Cap.5 Teste gril


5.1 Dac p(A) este probabilitatea de realizare a mesajului A, atunci informaia 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). informaia medie transmis de surs n unitatea de timp;
b). informaia instantanee transmis de surs;
c). egal cu raportul dintre entropia maxim a sursei i redundana sa;
*d). egal cu produsul dintre entropia maxim i eficiena sursei;
e). nici o variant nu este corect.
5.3 Cantitatea de decizie a unei surse este:
a). informaia medie transmis de surs printr-un simbol al su, dac sursa este echiprobabil;
*b). egal cu entropia maxim a sursei;
c). egal cu produsul dintre entropia maxim i eficiena sursei;
d). informaia 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 purttoare de informaie n vederea transmiterii pe
acelai canal;
c). compresia sursei;
d). protejarea informaiei mpotriva perturbaiilor;
e). protejarea informaiei mpotriva receptorilor neautorizai (secretizarea).
5.5 Care dintre mrimile de mai jos reprezint criterii de fidelitate:
__________
1). eroarea medie ptratic: = [x(t ) y (t )] 2;
________
2). raportul semnal-zgomot: = y(t)2/u(t)2;
3). echivocaia;
a). doar 1).; b) 1). i 3).; c) 2) i 3).; d) toate trei; *e). 1) i 2)..

5.6 Care dintre mrimile de mai jos reprezint criterii de fidelitate:


1). eroarea medie H(Y/X) = -

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 fr memorie dac:


*a). emisia unui simbol nu depinde de simbolurile anterior emise;
b). probabilitile diferitelor simboluri nu depind de originea timpului;
c). genereaz simboluri la o indicaie exterioar;
d). genereaz simbolurile cu o vitez fix;
e). nici un rspuns nu este corect;
5.8 O surs discret este cu debit necontrolat dac:
a). emisia unui simbol nu depinde de simbolurile anterior emise;
b). probabilitile diferitelor simboluri nu depind de originea timpului;
c). genereaz simboluri la o indicaie exterioar;
*d). genereaz simbolurile cu o vitez fix;
e). nici un rspuns 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). probabilitile diferitelor simboluri nu depind de originea timpului;
c). genereaz simboluri la o indicaie exterioar;
d). genereaz simbolurile cu o vitez fix;
*e). nici un rspuns nu este corect;
5.10 Informaia obinut n urma realizrii evenimentului a, a crui anse de realizare sunt 100% este:
*a). zero; b). un bit; c). un bit/simbol; d). strict pozitiv; e). nici un rspuns nu e corect.
5.11 Relaiile ntre unitile de msur a informaiei sunt:
a). 1nit<1bit<1dit;
b). 1bit<1dit<1nit;
c). 1dit<1nit<1bit;
d). 1dit<1bit<1nit;
*e). 1bit<1nit<1dit.
5.12 Entropia unei surse de informaie:
a). reprezint incertitudinea medie ce exist apriori asupra emisiei;
b). reprezint informaia medie purtat de un simbol al sursei;
c). se calculeaz cu formula:
N

H(s)= p(si)i(si), unde: si i=1..N, -simbolurile sursei;


i =1

N -numrul de simboluri;
i(si) -informaia furnizat de
simbolul si;
p(si)-probabilitatea de emisie a
lui si;

*d). se msoar n bii/secund;


e). devine maxim dac sursa este echiprobabil.
Precizai rspunsul fals.

58

5.13 O SDFM , S, cu 32 de simboluri are entropia egal cu a unei surse echiprobabil cu 26 de


simboluri. Redundana sursei S este:
*a). 0,3 bit/simbol;
b). 0,3 bit/secund;
c). 4,7 bit/simbol;
d). 4,7 bit/secund;
e). 6%.
5.14 Precizai rspunsul fals. Entropia unei SDFM este:
a). dat prin formula:
N

H(S)= p(si)log2p(si),unde: si i=1..N, -simbolurile sursei;


i =1

N
-numrul de simboluri;
p(si) -probabilitatea de
emisie a lui si;

b). msurat n bii/simbol;


*c). o funcie continu n raport cu fiecare variabil si;
d). o funcie simetric n raport cu toate variabilele p(si);
e). aditiv.

5.15 O surs de informaie are entropia numeric egal cu 3,7 iar redundana sursei este 5,3%. Sursa are
un numr de simboluri egale cu:
a). 13; *b). 15; c). 16; d). 9; e). 4.
5.16 Semnalele utilizate pentru transportul informaiei numerice sunt compuse din suite de semnale
elementare n timp, numite momente. Numrul de momente transmise n unitatea de timp este:
1). debitul de momente;
2). viteza de modulaie;
3). viteza telegrafic.
Rspunsurile corecte sunt:
a). 1); b). 2); c). 3); d). nici unul; *e). toate trei.
5.17 Precizai rspunsul fals. Debitul de informaie al unei surse de informaie este:
*a). msurat n bii/simbol;
b). msurat n bii/secund;
c). cantitatea medie de informaie generat de surs n unitatea de timp;
d). egal cu debitul de decizie, dac sursa este echiprobabil;
e). mai mic dect capacitatea canalului, la transmisiile n timp real.
5.18 Pentru un canal de transmisie discret, X={xi}i=1..n si Y={yj}j=1..m reprezint cmpurile de la
intrarea, respectiv ieirea din canal. Matricea de trecere P este o matrice avnd dimensiunile nxm i
conine probabiliti de forma:
a). p(xi)p(yj);
b). p(xi, yj);
c). p(xi/yj);
*d). p(yj/xi,);
e). nici un rspuns nu e corect.

59

5.19 Un canal este binar simetric dac:


a). p(0E)=P(1E);
b). p(0E/1R)=p(1E/0R);
*c). p(0R/1E)=p(1R/0E);
d). p(0R)=p(1R);
e). nici o variant nu e corect.
5.20 Un canal este binar simetric dac:
a). p(0E,0R)=p(0E,1R);
b). p(0E/0R)=p(1E/1R);
c). p(0R/1E)=p(1R/1E);
d). p(0R)=p(1R);
*e). nici o variant nu e corect.
5.21 Mrimea H(y)-H(y/x) pentru un canal binar este:
*a). transinformaia doar dac p(0R)=p(1R);
b). capacitatea canalului doar dac p(0R)=p(1R);
c). subunitar;
d). msurat n bii/simbol binar;
e). egal cu H(x)-H(x/y) dac p(0R)=p(1R);
Precizai rspunsul fals.
5.22 Mrimile mrginite superior de H(x) entropia cmpului de la intrarea n canal, sunt:
a). numai transinformaia;
b). eroarea medie i transinformaia;
c). echivocaia i eroarea medie;
*d). echivocaia i transinformaia;
e). echivocaia, eroarea medie i transinformaia.
5.23 Mrimile mrginite superior de H(Y) entropia cmpului de la ieirea din canal, sunt:
a). numai transinformaia;
*b). eroarea medie i transinformaia;
c). echivocaia i eroarea medie;
d). echivocaia si transinformaia;
e). echivocaia, eroarea medie i transinformaia.
5.24 Capacitatea canalului binar simetric avnd rata erorii BER=10-2 este:
*a). 0,9192 bii/simbol binar;
b). 0,944 bii/simbol binar;
c). 0,944 bii/secund;
d). 0,9756 bii/secund;
e). 0,9192 bii/secund.

60

5.25 O SDFM avnd tabelul:


b
c
d
a

S=
0,2
0,25
0,4

emite cte un simbol la fiecare milisecund. Debitul sursei este:


a). 1,9 kbii/simbol;
b). 1,3 kbii/secund;
c). 573 bii/secund;
*d). 1,9 kbii/secund;
e). 1,3 kbii/secund.
5.26 Care din expresiile de mai jos reprezint capacitatea unui canal de transmisiune analogic
(considerat ca un FTJ ideal avnd lrgimea de band B i raportul semnal-zgomot - zgomot
gaussian).
a) C = log 2 (1 + B) ;
*b) C = B log 2 (1 + ) ;
c) C = (B + 1) log 2 ;
d) C = B 2 log 2 (1 + ) ;

e) C = B log 2 1 + 2 ;
5.27 Fie S o surs discret cu memorie avnd graful din figura 1:
S0 = 00

3/7

3/4

1/2

S1 = 01

S2 = 10

S3 = 11

2/5

Figura.1
Sursa are memorie de:
a) un pas, deoarece orice tranziie se face ntre starea actual i starea viitoare;
b) doi pai, deoarece orice tranziie se face ntre dou stri;
*c) doi pai, deoarece fiecare stare este numit prin doi pai;
d) doi pai, deoarece din fiecare stare pleac dou ramuri;
e) patru pai, deoarece sunt patru stri.
5.28 Fie S o surs discret cu memorie avnd graful din figura 1. Ce anse sunt ca sursa S s emit un
zero dac secvena emis pn n prezent a fost: 10011?
a) 25%; b) 30%; c) 40%; d) 50%; *e) 60%;

61

5.29 Sursa discret cu memorie, S, al crei graf este prezentat n figura 1, se gsete n stare S2. Care
este probabilitatea ca dup emisia a trei simboluri sursa s se gseasc n starea S1?
a) 3,125%;
b) 42,86%;
c) 18,37%;
*d) 21,5%;
e) 46%;
5.30 Fie Sn extensia sursei discrete i fr memorie, S. Entropia sursei Sn, notat H(Sn), se calculeaz
funcie de entropia sursei S, notat H(S), dup relaia:
*a) H(Sn)=nH(S);
b) H(Sn)=(H(S))n;
c) H(Sn)=H(S);
d) H(Sn)=H(S)log2n;
e) nici o variant nu este corect.
5.31 Eficiena unei surse discrete fr memorie, avnd 20 simboluri echiprobabile, ce s-a codat cu un
cod binar bloc, este:
1
a) log 2 20;
5
*b) 100%;
c) 5 / log 2 20;
d) 4 / log 2 20;
e) nici o variant nu este corect.
5.32 O SFDM avnd 20 simboluri echiprobabile se codeaz binar bloc. Eficiena codrii este:
1
*a) log 2 20;
5
b) 100%;
c) 5 / log 2 20;
d) 4 / log 2 20;
e) nici o variant nu este corect.
5.33 Teorema de existen a codurilor instantanee se exprim prin inegalitatea:
M

mni

i =1

(care reprezint condiia necesar i suficient de existen a codurilor instantanee).


n relaia de mai sus, se reprezint numrul de simboluri:
a) de control;
b) de informaia;
c) ale sursei de informaie;
*d) ale alfabetului codului;
e) nici o variant nu este corect.

62

5.34 Teorema de existen a codurilor instantanee se exprim prin inegalitatea:


M

mni

i =1

(care reprezint condiia necesar i suficient de existen a codurilor instantanee).


n relaia de mai sus, M reprezint numrul de simboluri:
a) de control;
b) de informaia;
*c) ale sursei de informaie;
d) ale alfabetului codului;
e) nici o variant nu este corect.
5.35. Teorema I-a a lui Shannon (teorema codrii surselor pentru transmitere pe canale fr perturbaii).
a) afirm c poate fi fcut o codare absolut optimal;
*b) se adreseaz doar codrii surselor cu probabilitile simbolurilor de forma:
p(Si ) = m n i cu n i N
c) nu precizeaz procedee de codare;
d) are n vedere o codare pe grupe de n simboluri a sursei, cu n.
e) este valabil i pentru coduri ternare.
Precizai rspunsul fals.
5.36 Un cod absolut optimal:
a) are eficien 100%;
b) se poate obine pentru surse la care probabilitile simbolurilor sunt de forma
p(Si ) = m n i cu n i N ;
c) pentru o surs oarecare este doar o limit teoretic;
*d) nu poate fi obinut, indiferent de surs, printr-o codare simbol cu simbol;
e) are lungimea medie a cuvintelor egal cu entropia sursei ce o codeaz.
Precizai rspunsul fals.
5.37 Un cod optimal:
a) Se poate obine prin algoritmul Huffman static?
b) are eficiena subunitar;
c) este un cod bloc dac N=2k - numrul de cuvinte de cod;
d) este un cod bloc dac N=2k - numrul de simboluri ale sursei codate;
*e) este neaprat un cod binar.
Precizai rspunsul fals.
5.38 Algoritmul de codare Huffman static:
*a) conduce la un cod absolut optimal,
b) conduce la un cod de eficien maxim posibil;
c) presupune ordonare descresctoare a simbolurilor sursei dup probabiliti;
d) se poate aplica i surselor echiprobabile;
e) se poate aplica i la coduri nebinare.
Precizai rspunsul fals.

63

5.39 Algoritmii de compresie realizeaz micorarea:


a) cantitii de informaie coninut ntr-un anumit mesaj;
*b) spaiului ocupat de un mesaj;
c) debitului de informaie la o transmisie;
d) vitezei de transmitere a informaiei;
e) nici o variant nu este corect.
5.40 Algoritmul de compresie Huffman dinamic:
a) realizeaz o compresie superioar celui static;
b) necesit cunoaterea statisticii a sursei date;
c) presupune modificarea codului dup transmiterea fiecrui simbol;
d) realizeaz o codare pe grupe de n simboluri, cu n;
*e) nici o variant nu este corect.
5.41 Suma cifrelor mesajului VARZA, cifrat cu cifrul lui Polybius este:
a) 20, b) 25; *c) 26; d) 28; e) nici un rspuns nu este corect.
5.42 Suma cifrelor mesajului DOVLEAC cifrat cu cifrul lui Polybius este:
a) 26; b) 28; c) 31; *d) 34; e) 39.
5.43 Aflai rspunsul la ntrebare descifrnd mesajul EQDVYXLQ:
a) 1; b) 2; *c) 3; d) 4; e) 5;
5.44 Aflai rspunsul la ntrebare descifrnd mesajul DOGRLOHD:
a) 1; *b) 2; c) 3; d) 4; e) 5;
5.45 Aflai rspunsul la ntrebare descifrnd mesajul ECWE IK HACKKU:
a) de la 1 la 6; b) de la 7 la 12; c) de la 13 la 18; d)de la 19 la 24; e)de la 25 la 31;
5.46 O surs de informaie discret i fr de memorie se codeaz cu un cod binar bloc de eficien
maxim posibil. Ct trebuie s fie lungimea cuvintelor codului bloc dac sursa are 15 simbolurilor?
a) 3 bii; *b) 4 bii; c) 15 bii; d) 16 bii; e) nici o variant nu este corect.
5.47 Codnd prin algoritmul Huffman static o surs de informaie oarecare cu 15 simboluri, lungimea
maxim a cuvintelor codului ar putea fi (se are n vedere toate sursele posibile cu 15 simboluri).
a) 4 bii; *b) 14 bii; c) 15 bii; d) 16 bii; e) nici o variant nu este corect.
5.48 Codnd prin algoritmul Huffman static o surs de informaie oarecare cu 15 simboluri, lungimea
cea mai mic dintre cuvintele codului ar putea fi (se are n vedere toate sursele posibile cu 15
simboluri).
a) 4 bii; b) 14 bii; c) 3 bii; d) 2 bii; *e) 1 bit.

64

5.49 Sursa de informaie text TEORIA TRANSMITERII INFORMATIEI se codeaz binar bloc.
Lungimea medie a cuvintelor codului este:
a) 3,1 bii/secund;
b) 2,15 bii/secund;
c) 4 bii/secund;
d) 10 bii/secund;
*e) nici o variant nu este corect.
5.50 Sursa de informaie text TEORIA TRANSMITERII INFORMATIEI se codeaz cu un cod de
eficien maxim posibil (codare simbol cu simbol ). Lungimea medie a cuvintelor codului este:
*a) 3,1 bii/simbol;
b) 2,15 bii/simbol;
c) 4 bii/simbol;
d) 10 bii/simbol;
e) nici o variant nu este corect.

65

Cap.1 Codarea pentru protecie mpotriva


perturbaiilor generaliti.
Dicionar
- corecie (de erori) operaia (parte a algoritmului, procesului, decodrii) prin care se restabilete valoarea adevrat a
informaiei greit reconstruite, recepionate.
-detecie 1. procedeu de demodulaie a oscilaiilor modulate n amplitudine; 2. d...de erori operaia (parte a algoritmului,
procesului, decodrii) prin care se verific corectitudinea informaiei recepionate, semnalndu-se prezena erorilor
n anumite zone ale fluxului informaional (de regul cuvinte afectate de eroare), fr a le localiza poziia exact.
-eroare 1. diferen ntre valoarea presupus a unei mrimi (n contextul lucrrii informaia) i cea adevrat; 2. n
telecomunicaii cuvntul eroare poate avea nelesurile:
semnal eroare n transmisiile analogice eroarea este un semnal de aceeai natur cu semnalul util, emis,
x(t), calculat ca i diferen ntre acesta (x(t)) i semnalul recepionat y(t):
e(t) = x(t) y(t)

(1.1)

n aceast accepiune, semnalul eroare (eroarea) poate fi identificat() prin noiunea de perturbaie sau
zgomot, a crui cauz este, indubitabil, canalul de transmisie.
secven eroare are n principal aceeai semnificaie cu cea a semnalului eroare, numai c se refer la
transmisiile numerice (de regul binare), unde mesajele elmentare purttoare de informaie sunt n numr
finit.
Exist ns o deosebore major ntre eroarea ca i semnal eroare i eroarea ca i secven eroare.
Anume, n cazul transmisiilor numerice canalul (numeric) include terminalele de linie (de la emisie i
recepie) care fac conversia numeric-analogic (modulatorul de la emisie) i analog-numeric
(demodulatorul de linie de la recepie). Aceast conversie analog nnumeric trebuie s in seama de
valorile numerice finite (pentru canalul binar dou) pe care le poate lua secvena numeric reconstruit.
Astfel, eroarea n accepiunea de secven eroare, mbrac forma ei ( de secven numeric) doar la
recepie, n procesul de restaurare a secvenei numerice transmise; pot exista situaii n care exist
perturbaie nsumat (de canal) semnalului transmis, implicit exist semnal eroare nenul, dar secvena
numeric reconstruit coincide cu cea eis, adic secvena eroare este nul.
Cu alte cuvinte, putem afirma c secvena eroare se nate prin procesul de reconstrucie a
secvenei transmise i are drept cauze zgomotul din canal cumulat cu o reconstrucie deficitar.
eroare de bit/cuvnt poriunea din secvena eroare (un bit sau un cuvnt) diferit de zero.

Definiii
-bit de control bit, redundant d.p.d.v. al mesajului transmis, adugat (prin procesul de codare pentru protecie) secvenei
transmise cu scopul de a crea legturi ntre biii transmii, legturi ce vor fi verificate la recepie.
-bit de informaie bit din componena mesajului dorit a fi transmis.
-distan Hamming ntre dou secvene binare v1 i v2 de aceeai lungime numrul de neconcordane (deosebiri la nivel
de bit) ntre cele dou secvene. Se noteaz cu d(v1, v2) i se poate calcula cu formula:
N

d(v1 , v 2 ) = ( v1j + v 2j )

(1.2)

j =1

unde N lungimea (n bii) a secvenelor v1 i v2;


v1j, v2j{0, 1}, cu j = 1N valorile binare ale biilor componeni ai secvenelor v1 i v2.
Suma din parantez este modulo doi, iar nsumarea parantezelor este zecimal.
-distana de cod distana Hamming minim dintre oricare dou cuvinte de cod.
-cod liniar codul pentru care suma a dou cuvinte de cod este deasemenea cuvnt de cod.
-cod corector/detector (de erori) cod al crui scop este protejarea informaiei mpotriva perturbaiilor, capabil, prin
procesul de decodare, s execute corecie asupra biilor eronai (sau s depisteze prezena erorilor),dac numrul
acestora (mai precis densitatea erorilor, rata erorii) nu depete anumite limite.

Abrevieri
MAP Maximum APosteriori.

Breviar teoretic
1.Criteriul de decizie MAP. Decodorul hotrte (alege) drept cuvnt emis acel cuvnt
emisibil (posibil a fi emis) vMAP pentru care probabilitatea p(vMAP/r) este maxim peste toate cuvintele
emisibile; r fiind cuvntul recepionat:
vMAP = cuvntul decodat dac p(vMAP/r) p(v/r) v cuvnt emisibil
(1.3)
2. Criteriul de decizie dup distana Hamming minim. Decodorul hotrte (alege) drept
cuvnt emis acel cuvnt vd pentru care distana d(vd, r) este minim peste toate cuvintele emisibile;
r fiind cuvntul recepionat:
vd = cuvntul decodat dac d(vd/r) d(v/r) v cuvnt emisibil
(1.4)
3.Relaii ntre distana de cod d i ec respectiv ed (numrul de erori corectabile/detectabile)
pentru un cod oarecare:
d ed + ec
(1.5)
i n plus:
ed ed max d + 1
ec ec max (d + 1)/2
(1.6)

1.1. ntr-o transmisie binar pe un CBS, la m = 4 bii de informaie transmii, se


adaug k bii de informatie cu scopul posibilitii coreciei unei erori pe cuvnt (n =
k + m bii). S se precizeze:
a) valoarea lui k;
b) care va fi rata erorii, BERC1, dup corecia de o eroare dac se cunoate rata
erorii din canal, BER = 10-2 i dac se tie c n cazul apariiei a dou erori
decodorul corecteaz o a treia poziie (corect).
Rezolvare:
a) Pentru a preciza poziia unui bit eronat ntre n = k + m bii recepionai este nevoie de o cantitate de
informaie:
i 0 log 2 n biti

(1.1.1)

Informaia i0 este transmis prin cei k bii de control adugai la emisie. Deoarece printr-un simbol
binar se poate transmite (n cazul cel mai favorabil) un bit de informaie putem scrie formal:
i0 = k

(1.1.2)

Inecuaia (1.1.1) se va scrie atunci:


k log 2 (k + 4)

(1.1.3)
2

avnd soluie (k minim):


m=3

(1.1.4)

Obs.: Relaia (1.1.1) calculeaz informaia necesar pentru a preciza poziia unui bit eronat din n
posibile (poziii). Deoarece n majoritatea cazurilor cuvntul recepionat sosete neeronat, pe lng
log 2n informaie mai este necesar n plus o cantitate de informaie pentru a preciza corectitudinea
recepiei. Aceast informaie este mult subunitar (deoarece probabilitatea ca un cuvnt s soseasc
neeronat este mare) fapt ce nu justific adugarea a nc unui bit de informaie doar pentru acest caz.
Putem soluiona problema asimilnd situaia recepie corect cu eronarea fictiv a unui al n+1 lea
bit, necuprins n cei n recepionai. n acest caz informaia necesar este gsit cu relaia:

k log 2 (m + k + 1)

(1.1.5)

avnd pentru cei m = 4 aceeai soluie k = 3 dat prin relaia (1.1.4).


b) Trebuie calculat probabilitatea ca un cuvnt s fie eronat mai mult de o dat, P>1. Deoarece
probabilitatea a trei erori n cuvnt, P3, (n ipoteza independenei recepiei unui bit de a celorlali) este
cu cel puin un ordin de mrime mai mic dect cea a eronrii cuvntului n dou poziii, P2, vom face
aproximarea:
P>1 P2 = C 2n p 2 (1 p )

n2

(1.1.6)

unde p = BER = 10-2.


n relaia (1.1.6) C 2n reprezint numrul de combinaii posibile cu dou erori n cuvntul de n =
k + m = 3 + 4 = 7 bii. La cei doi bii eronai decodorul (conform ipotezei) mai adaug unul. ns pentru
calculul lui BERC1 trebuie s avem n vedere faptul c nu n toate cele C 2n situaii cei trei bii eronai se
vor regsi pe informaie. Este posibil s se determine numrul de situaii cu cei doi bii eronai (datorit
canalului):
i) ambii pe secvena de informaie; C 2m
ii) unul pe informaie, cellalt pe control; C1k C1m
iii) ambii pe control; C 2k
ns nu vom putea preciza poziionarea celui de-al treilea, aceasta fiind hotrt prin procesul de
decodare, funcie de celelalte dou.
Pentru a avea o situaie acoperitoare vom considera c cel de-al treilea bit se va situa n toate
cazurile pe informaie.
Cu precizrile anterioare rata erorii rezultat este:
BER C1 < p 2 (1 p )

n2

3 C 2 2 C1 C1
k2 + k 2 m 4,75 10 5
Cn
4 Cn 4

(1.1.7)

1.2. Distana Hamming minim ntre cuvintele unui cod binar bloc protector este d
= 8.
a) Cte erori poate corecta respectivul cod? (ec0)
b) Cte erori poate detecta respectivul cod? (ed0)
c) Dac se dorete a se face simultan i corecie i detecie de erori cum pot fi alese
ec (numrul de erori corectabile) i ed (numrul de erori detectabile)?
Rezolvare:
a) Relaia ntre d i ec0 (numrul de erori corectabile, atunci cnd se face numai corecie de erori) este:
d 2 e c0 + 1

(1.2.1)

de unde rezult pentru ec0 valoarea 3.


b) n mod analog, n cazul deteciei:
d e d0 + 1

(1.2.2)

cu valoarea numeric ed0 = 7.


b) Dac se execut simultan corecie de ec erori i detecie de ed erori este necesar ca:
d e c + e d + 1 i e c e c0

e d e d0

(1.2.3)

Soluiile inecuaiilor (1.2.3) sunt prezentate n figura 1.a) ca i puncte n planul (ed, ec). Evident c orice
cod va fi utilizat la maximum, astfel nct, practic sunt interesante doar punctele figurate n figura 1. b).
Avnd n vedere acestea relaiile (1.2.3) se pot rescrie astfel:
d e c + e d + 1, e d > e c
ec

(1.2.4)
ec

ed
0

ed
0

a)

b)
Figura 1.1.

1.3. Sursa de informaie, S, dat prin tabloul:


a b c d e f g h

S= 8 4 4 2 8 1 1 4

32 32 32 32 32 32 32 32

este codat binar cu codul protector C:


a 000000
e 111000
b 010101
f 101101
c 100110
g 011110
d 110011
h 001011
i cuplat la un canal binar pentru care se cunosc probabilitile de trecere:
0
P(Y/X ) = E
1E

0R

1R

1/8
7/8
1/12 11/12

tiind cuvntul recepionat curent r = 101001, precizai ce mesaj a fost emis


conform:
a) criteriului de decizie dup probabilitatea condiionat maxim;
b) criteriul de decizie dup distana Hamming minim.
Rezolvare:
a) Criteriul de decizie MAP (dup probabilitatea Maxim APosteriori) selecteaz acel cuvnt vE,
posibil a fi emis, ce maximizeaz probabilitatea:
p(vE/rR) = max

(1.3.1)

n ipoteza independenei transmiterii/eronrii biilor putem scrie relaia:


6

p(rR /v E ) = p(rRi /v Ei )

(1.3.2)

i =1

Cunoscnd i probabilitaile de emisie ale simbolurilor sursei date vom putea calcula p(vE/rR) cu relaia
lui Bayes:
p(v E /rR ) =

1
p(v E ) p(rR /v E )
p(rR )

(1.3.3)

Rezult aadar:
p(aE/rR) = 32,71110-5p(r)
p(bE/rR) = 1,08810-5p(r)
p(cE/rR) = 1,08810-5p(r)
p(dE/rR) = 3,98910-5p(r)

p(eE/rR) = 167,53610-5p(r)
p(fE/rR) = 153,57510-5p(r)
p(gE/rR) = 0,002610-5p(r)
p(hE/rR) = 83,76810-5p(r)

(1.3.4)

Din relaiile (1.3.4) se observ c mesajul cu cea mai mare probabilitate aposteriori este e.
b) Criteriul de decizie dup distana Hamming minim alege drept cuvnt emis pe cel ce are, fa de r,
cea mai mic distan. Distanele Hamming ntre cuvintele emise i cel recepionat sunt:
d(a,r) = 3
d(b,r) = 4
d(c,r) = 4
d(d,r) = 3

d(e,r) = 2
d(f,r) = 1
d(g,r) = 5
d(h,r) = 2

(1.3.5)

Conform acestui criteriu, mesajul presupus a fi emis este f.


Obs.: Rezultatele diferite date de cele dou criterii de decizie se datoreaz faptului c probabilitile
de emisie ale mesajelor sursei sunt diferite, nct raportul p(eE)/p(fE) = 8 face s schimbe in favoarea
lui e raportul:

p(rR /e E ) p(1R /0 E )
1/8
1 12
=
=
= <1
p(rR /f E ) p(1R /1E ) 11/12 8 11

(1.3.6)

p(e E /rR ) p(e E ) p(rR /e E ) 12


=

=
>1
p(f E /rR ) p(f E ) p(rR /f E ) 11

(1.3.7)

la o valoare:

1.4. Fie S i C sursa, respectiv codul ce o codeaz, definite n problema anterioar.


a) Calculai entropia sursei i eficiena acesteia; (H(s),
s)
b) Calculai eficiena codului precum i eficiena codrii; (
c0, c)
c) Calculai debitul de informaie rezultat prin canal dac viteza de transmitere a
biilor n canal este vT = 2106 Baud; (D)
d) Este codul C liniar?
e) Care este distana Hamming minim ntre cuvintele codului C? (d)
Rezolvare:
a) Entropia i eficiena sursei sunt:
8

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

1
1 8
= log 2 32 k i log 2 k i
pi
32 i =1

1
(2 8 log 2 8 + 3 4 log 2 4 + 2 log 2 2)
32
= 2,6875 bii/simbol
= 5

H(S) 2,6875
=
= 89,58%
H max
3
b) Eficiena codului respectiv eficiena codrii sunt:

s =

(1.4.1)
(1.4.2)

H max 3
= = 50%
n
6
H(S) 2,6875
c =
=
= 44,79%
n
6

c0 =

(1.4.3)

unde n = numrul de bii dintr-un cuvnt = 6.


c) Debitul de informaie D se calculeaz ca i raportul ntre o cantitate de informaie i timpul n care a
fost transmis respectiva informaie. Cunoscnd viteza de transmisie vT, putem afla timpul n care se
transmite un cuvnt:

c =

n
vT

(1.4.4)

(raportul ntre numrul de bii dintr-un cuvnt i viteza de transmitere a unui bit).
tiind c, n medie, printr-un cuvnt se transmite H(S) informaie avem c:
D=

H(S)

H(S)
v T = c v T = 0,896 Mbii/secund
n

(1.4.5)

d) Un cod liniar este acela pentru care suma oricror dou cuvinte de cod este tot un cuvnt de cod.
Vom calcula aadar toate sumele posibile a oricror dou cuvinte de cod:

a
b
c
d
e
f
g
h

a
a
b
c
d
e
f
g
h

b
b
a
d
c
f
e
h
g

c
c
d
a
b
g
h
e
f

d
d
c
b
a
h
g
f
e

e
e
f
g
h
a
b
c
d

f
f
e
h
g
b
a
d
c

g
g
h
e
f
c
d
a
b

h
h
g
f
e
d
c
b
a
Tabelul 1.2

Tabelul de mai sus arat c C este un cod liniar.


e) Distana Hamming minim ntre dou secvene binare de aceeai lungime se definete ca i numrul
de neconcordane ntre cele dou secvene. Distana Hamming minim ntre cuvintele codului sau
distana de cod, d, este egal cu cea mai mic distan dintre oricare dou cuvinte diferite ale codului.
Dac un cod este liniar atunci d este egal cu ponderea cuvntului de pondere minim (exceptndu-l pe
cel cu pondere zero).
Tabelul de mai jos prezint distanele ntre cuvintele codului C:


a
b
c
d
e
f
g
h

a
0
3
3
4
3
4
4
3

b
3
0
4
3
4
3
3
4

c
3
4
0
3
4
3
3
4

d
4
3
3
0
3
4
4
3

e
3
4
4
3
0
3
3
4

f
4
3
3
4
3
0
4
3

g
4
3
3
4
3
4
0
3

h
3
4
4
3
4
3
3
0
Tabelul 1.3

Rezult distana de cod


d=3

(1.4.6)

Cap.2 Coduri simple detectoare


Dicionar
-paritate 1. egalitate numeric; 2. echivalent n valoare; 3. paritate par/impar proprietate a unei mrimi (ce ia
valori ntregi) de a fi egal numeric cu un numr par/impar;
-pondere 1. greutate; 2. importan deosebit, valoare; 3. coeficient care afecteaz fiecare dintre valorile unei
mrimi calculat ca o medie ponderat a respectivelor valori; --probabilitate; 4. pondere a unei secvene binare
numrul de unuri din respectiva secven.

Definiii
-cod iterat cod protector, bloc, ale crui cuvinte sunt matrici de bii i care execut dou codri distincte, pe orizontal
i pe vertical, n vederea nsumrii puterii de detecie/corecie a celor dou codri.

Abrevieri
-cod M/N (sau M din N) cod bloc ale crui cuvinte au ponderea constant, M, i lungimea N.

Notaii
-D=d1xd2 distana de cod a unui cod iterat, obinut ca produs a distanelor codurilor utilizate pe orizontal i pe
vertical. (Nu exist regula d1 orizontal i d2 vertical.)

Breviar teoretic
1. Ponderea unei secvene binare v = vn vn-1 ... v1 este:
n

w(v) = v j

(sum modulo doi)

(2.1)

j=1

Obs. w vine de la weight (= pondere n limba englez).


2. Capacitatea de corecie Cc a unui cod este:
Cc = (nr. cuvinte eroare corectabile)/( nr. total de cuvinte eroare)
(2.2)
3. Capacitatea de detecie Cd a unui cod este:
Cd = (nr. cuvinte eroare detectabile)/( nr. total de cuvinte eroare)
(2.3)
4. Probabilitatea deciziei false, Pf, este probabilitatea ca dup decodarea unui cuvnt
recepionat rezultatul s fie eronat. Este un parametru ce nu depinde doar de cod, ci i de rata erorii
din canal, BER.

2.1 a) S se demonstreze liniaritatea codului cu paritate.


b) S se calculeze parametrii d (distana de cod), ec i ed (numrul de erori
corectabile respectiv detectabile) pentru codul cu paritate.
c) S se proiecteze un cod cu paritate astfel nct s fie de eficien maxim
posibil, iar probabilitatea deciziei false s nu depasc valoarea de 210-3. Se
cunoate rata erorii (BER) p = 10-2.
Rezolvare:
a) Cuvintele codului cu paritate au urmtoarea structur:
v = i1 i2 ..... ik c
unde ij cu j = 1,k sunt bii de informaie, iar c este bitul de control, calculat cu relaia:

(2.1.1)

c = i1 + i2 + ... + ik

(2.1.2)

Pentru a arta linearitatea codului este necesar a arta c dac v1 i v2 sunt dou cuvinte de cod
atunci i v1 + v2 este un cuvnt de cod.
Fie:
v1 = i 11i 12 .... i1k c1
(2.1.3)

v 2 = i 21i 22 .... i 2k c 2
dou cuvinte ale codului cu paritate. Cuvntul sum este:
v = v1 + v2 = i1 i2 ..... ik c
= i11 + i21 i12 + i22 ... i1k + i2k c1 + c2

(2.1.4)

Dar
k

j=1

j=1

j=1

j=1

c = c1 + c 2 = i1j + i 2j = (i1j + i 2j ) = i j

(2.1.5)

rezult astfel relaia necesar (2.1.2) i de aici liniaritatea codului.


b) Datorit liniaritii codului cu paritate, distana de cod se calculeaz ca i ponderea cuvntului
de pondere minim:
d = Wmin = 2

(2.1.6)

Obs.: Un cuvnt de pondere minim se obine punnd un bit din cei de informaie egal cu 1, iar
ceilali egali cu 0. Atunci conform cu (2.1.2), c = 1, iar w = 2 (ponderea).

Cunoscnd d = 2, pentru ec i ed rezult valorile:


d 1 1
= ec = 0
2
2
ed d 1 = 1 ec = 1
ec

(2.1.7)

c) Proiectarea codului cu paritate presupune alegerea adecvat a lui k. Decizie fals se obine la
recepie dac n cuvntul recepionat exist cel puin dou erori, i n plus s fie n numr par:
Pf = Pf2 + Pf4 + Pf6 + ....

(2.1.8)

unde Pfz = probabilitatea ca n cuvntul recepionat s existe z erori.


n ipoteza independenei transmisiei i respectiv eronrii biilor
Pfz = C zn p z (1 p )

n z

(2.1.9)

unde n = k + 1

Cum p = 10-2 rezult c:


Pfz Pf2 = C 2n p 2 (1 p )

n 2

= C 2k +1 p 2 (1 p )

k -1

deoarece ceilali termeni din (2.1.7) sunt cu cel puin 4 ordine de mrime mai mici.
Aadar restricia impus asupra lui k se reduce la:
10

(2.1.10)

C 2k +1 p 2 (1 p )

k -1

2 10 -3

(2.1.11)

cu soluia kmax = 6.
Rezult pentru acest caz:
5

Pf C 72 p 2 (1 p )

1,997 10 -3

c = 85,7%

(2.1.12)

Obs.: Pf4 are valoarea aproximativ: 0,3410-6 fapt care justific aproximarea fcut.

2.2 O surs de informaie echiprobabil cu 30 simboluri se codeaz cu un cod


bloc de eficien maxim posibil. Cuvintele codului bloc se grupeaz cte 4 spre
a forma un pachet (o matrice) ce se codeaz cu un cod cu paritate ncruciat
(paritate pe linie i pe coloan). Aflai:
a) eficiena codului cu paritate ncruciat; (
CP)
b) eficiena ntregii codri; (
C)
c) distana de cod pentru codul cu paritate ncruciat; (d)
d) blocul transmis dac s-a recepionat:
1 0 1 1 1 0
1 0 0 0 1 1
0 1 0 1 1 1
0 0 1 1 0 0
0 1 0 0 1 0
e) capacitatea de corecie, respectiv probabilitatea deciziei false n cazul deteciei
de erori; (Cc, Pfd). Se presupune cunoscut BER = 10-2.
Rezolvare:
a) Deoarece pachetul de informaie are dimensiunile 4 x 5 rezult c pachetul codat are
dimensiunile 5 x 6. Eficiena codului se calculeaz considernd pachetul avnd maximul de
informaie (4 x 5 bii):

CP =

4x5
= 66,67%
5x6

(2.2.1)

b) Eficiena ntregii codri va ine seama de cantitatea real de informaie purtat de un pachet codat
i anume de 4 ori H(S) (printr-un pachet se transmite informaie de la 4 simboluri ale sursei):

C =

4 H (s ) 4log 2 30
=
= 65,43%
56
30

(2.2.2)

c) Fiind un cod liniar (vezi problema 2.1) codul cu paritate ncruciat are distana de cod egal cu
ponderea cuvntului (pachetului) de pondere minim. Acesta se obine considernd n pachetul de
informaie un singur bit egal cu 1. Datorit paritii pe orizontal i pe vertical, prin codare se mai
adaug cte un 1 la finele liniei respectiv coloanei ce conine 1. n plus, ultima linie i ultima
coloan conin cte un 1, astfel c, trebuie refcut paritatea i la acestea.

11

.
.
.
. . . . .1
.
.
.

. . . .

n acest fel ponderea minim a unui pachet este 4.


Obs.: Codul cu paritate ncruciat s-a obinut din compunerea (asocierea) a dou coduri cu
paritate simpl (pe orizontal i pe vertical). Acestea avnd distana de cod 2 rezult pentru codul
compus o distan D = 2 x 2. Datorit acestui fapt codul cu paritate ncruciat se mai numete cod
iterat cu distana 2 x 2.

d) Avnd distana de cod 4, codul cu paritate ncruciat este capabil de a corecta o eroare (ec0 = 1)
sau de a detecta 3 (ed0 = 3) sau de a corecta o eroare i de a detecta dou (ec = 1, ed = 2).
Decodarea presupune verificarea paritii pe linie i pe coloan. Defectele de paritate
semnaleaz prezena erorii (erorilor). Dac este o singur eroare aceasta va genera defecte de
paritate pe o singur linie i pe o singur coloan.
Verificnd pachetul indicat n enunul problemei se observ defecte de paritate pe linia a
doua i coloana a patra. Corectm aadar bitul situat la intersecia celor dou i selectm biii de
informaie. Pachetul decodat este aadar:
I= 1
1
0
0

0
0
1
0

1
0
0
1

1
1
1
1

1
1
1
0

(2.2.3)

e) Capacitatea de corecie, Cc, pentru codul cu paritate ncruciat este dat de raportul ntre
numrul de pachete eronate ntr-o singur poziie i numrul de pachete eronate:
Cc =

56
30

j
30

30
2,8 10 8
2 1

(2.2.4)

30

j=1

Dac se face doar detecie de erori, se va decide fals atunci cnd erorile sunt n numr
multiplu de patru i cte patru sunt dispuse astfel nct formeaz un dreptunghi n pachetul codat,
aa cum s-a figurat mai jos:
.
.
.
.
. . x . . x . .
.
.
.
.
. . x . . x . .
.
.

Dac notm cu N4, N8,..... N28 variantele posibile de cte 4 erori, 8 erori, ... 28 erori ordonate cte 4
n dreptunghi avem c:

12

30 4

Pf = N 4 p 4 (1 p )

30 28

+ N 28 p 28 (1 p )

308

+ N 8 p 8 (1 p )

30 4

N 4 p 4 (1 p )

+ ..... +
= C 52 C 62 p 4 (1 p )

26

(2.2.5)

Cu p = 10-2 rezult
Pf = 1,155 ppm

(2.2.6)

2.3. Sursa de informaie text: ANTENA RECEPTOARE (fr pauz) se


codeaz binar bloc (ordonare alfabetic + Cod Binar Natural) apoi cu un cod
iterat cu distana D = 2 x 2 (cod cu paritate ncruciat). Pachetele de informaie
sunt construite din cte trei cuvinte de cod bloc.
a) care sunt pachetele codate iterat pentru mesajele: AER, REN, CAP i RAC;
b) ce va decide decodorul n cazul recepionrii pachetelor:
1
0
P1 =
1

Rspuns:
a) AER

CAP

b)
P1 PNT

0
1
1
0

1
1
1
1

1
0
1

0
P2 =
1
1

1
0

1
1
0
0

0
0
0
0

1
0
1

0
0
P3 =
0

0000
0101
1100
1001

REN

1100
0101
0110
1111

0011
0000
1010
1001

RAC

1100
0000
0010
1110

P2 ERO

1
1
0
0

0
1
1
0

0
0
1

P3 erori n numr necorectabil.

2.4. Sursa de la problema precedent se codeaz cu un cod cu pondere constant


(cod M din N), de eficien maxim posibil.
a) Aflai parametrii M i N ai codului;
b) Calculai eficiena codului i eficiena codrii; (
M/N , c)
c) Demonstrai neliniaritatea codului M din N;
d) Ct este distana de cod, d i cte erori poate detecta /corecta acest cod?
e) Ct sunt capacitatea de detecie, respectiv probabilitatea deciziei false? Se
cunoate BER = 10-2.

13

Rezolvare:
a) Codul cu pondere constant, sau codul M din N, este un cod bloc pentru care toate cuvintele au
aceeai lungime N i aceeai pondere M. Numrul de astfel de secvene binare ce se pot construi
este C M
N . Pentru a putea coda sursa avnd tabloul:

A C E N O P R T
3 1
4 2 1 1
2 2

16 16 16 16 16 16 16 16
este necesar ca C M
N 8 . Condiia de eficien maxim impune ca N s fie minim necesar. Din
triunghiul lui Pascal al combinrilor rezult c N = 5 i M = 2 sau N = 5 i M = 3. (Ambele variante
ofer aceeai eficien.)
1

2
1

1
1
1
1
1

2
3

4
5

3
6

10

4
10

b) Eficienele cerute sunt:


a codului:
log 2 C M
log 2 10
N
M/N =
=
= 66,44%
N
5
a codrii:
H(S) 2,828
c =
=
= 56,56%
N
5

(2.4.1)

(2.4.2)

unde log 2 C MN reprezint entropia maxim a unei surse ce poate fi codat la limit cu acest cod;iar
H(S) = 2,828 bii/ simbol este entropia sursei date.
c) Demonstrarea neliniaritii se rezum la a arta c exist dou cuvinte de cod M din N ce sumate
nu constituie un alt cuvnt de cod. Este uor de verificat c, pentru codul 2 din 5 v1 = 11000 i v2 =
00110 sunt cuvinte de cod dar suma lor w = 11110 nu este;
d) Fie w un cuvnt de cod 2 din 5. Pentru a obine un alt cuvnt de cod, u, modificndu-l pe v
putem, fie s modificm un 1 din cei M i atunci va trebui modificat i un 0 din cei N M pentru a
reface numrul de 1 uri, fie viceversa, s modificm un 0, apoi un 1. Astfel numrul minim de
modificri necesare este 2 care este i distana de cod.
Dac d = 2 rezult c ec = 0 i ed = 1;
e) Capacitatea de detecie este:

unde

2N 1 CM
31 9
N 1
Cd =
=
= 71%
N
31
2 1
2 N 1 = 31 - numrul de cuvinte eronate total
CM
N 1 = 9 - numrul de cuvinte eronate nedetectabile

14

(2.4.3)

Obs.: Relaia (2.4.3) furnizeaz capacitatea de detecie ca i un parametru al codului 2 din 5 (sau 3
din 5) fr a ine seama de numrul de simboluri a sursei ce o codeaz. Dac s-ar ine cont de
aceasta atunci capacitatea de detecie ar avea valoarea:

Cd =

2 N 1 (8 1)
= 77 ,4%
2N 1

(2.4.4)

Probabilitatea deciziei false este egal cu probabilitatea ca n cuvntul recepionat s existe


perechi de erori (una pe cei M de unu iar cealalt printre cei N M de zero):
3

Pf = Pf2 + Pf4 = C12 C13 p 2 (1 p ) + C 32 p 4 (1 p ) 0,056%

(2.4.5)

Obs.: Relaiile (2.4.3), (2.4.4) i (2.4.5) sunt valabile pentru ambele coduri 2 din 5 sau 3 din
5.

2.5. tiind c V = 11000000 este un cuvnt de cod al unui cod M/N s se gseasc
un alt cod M din N capabil s codeze aceeai surs ca i primul ns de eficien
mai bun.
Rspuns:
Codurile 3 din 7 sau 4 din 7.

2.6. O SDFM echiprobabil cu 16 simboluri se codeaz binar bloc apoi cu un cod


cu repetiie. Aflai urmtorii parametrii ai codului cu repetiie:
a) eficiena; (
CR)
b) distana de cod; (dCR)
c) numrul de erori corectabile, respectiv detectabile; (ec, ed)
d) capacitatea de corecie, respectiv detecie; (Cc, Cd)
e) probabilitatea deciziei false n cazul deteciei dac BER = 10-2; Pf
f) Ce cuvinte de cod cu repetiie corespund secvenelor de informaie (ale
codului binar bloc) ce reprezint n binar numerele zecimale n1 = 10 i n1 = 14.
g) Decodai cuvntul recepionat v, ce reprezint transpunerea binar a
numrului zecimal 121.
(Codarea codului cu repetiie presupune ataarea unui numr de bii de control
n numr egal cu a celor de informaie. Secvena de control este identic cu cea
de informaie dac aceasta are pondere par i este complementara ei dac are
pondere impar).
Rspuns :
a) CR = 50%
b) dCR = 4
c) ec = 1
ed = 3
15

e)

8
28 1 2 4 1
=
3,14%;
C
=
= 94%
d
28 1
28 1
4
4
Pf = C 24 p 4 (1 p ) + C 44 p 8 + C14 p 4 (1 p ) +

d) C c =

+ C 34 p 4 (1 p ) 1,3 10 -7
f) V1 = 10101010; V1 = 11100001
g) i = 0111

16

Coduri grup

Cap.3 Coduri Grup


Dicionar:
- grup - o mulime G pe care se definete o operaie de compunere i pentru care sunt satisfcute axiomele:
1 operaia de compunere este asociativ;
2 exist elementul neutru eG;
3 orice element aG are invers a-1G.
- grup comutativ (abelian) - grupul pentru care operaia de compunere este i comutativ.

Definiii:
- cod grup = un cod pentru care mulimea cuvintelor de cod formeaz un grup fa de operaie de adunare. Cuvintele
de cod au nelesul de vectori (matrici linie) iar operaia de adunare este nsumarea vectorilor (sum modulo
doi). Aceast operaie fiind comutativ grupul este (dac exist) i abelian.

Notaii:

()T - transpusa matricii ();


H - matricea de control cu dimensiunea kn;
G - matricea generatoare cu dimensiunea mn;
Z - corectorul, vector coloan cu dimensiunea k1;
t,r - parametrii definitorii ai codului R-M.

Abrevieri:
R-M - (cod) Reed-Muller

Breviar teoretic:
1 Condiii impuse asupra matricii de control H,
H = [h1 h 2 K h n ]
(3.1)
a unui cod grup, pentru ca acesta codul s:
a) corecteze ec erori - suma oricror 2ec, sau mai puine, coloane din H s fie nenul.
9

h k, j 0

s {1, 2,K 2e c } i k j {1, 2,K n}

(3.2)

j =1

b) detecteze ed erori - suma oricror ed, sau mai puine, coloane din H s fie nenul.
9

h k, j 0

s {1, 2,K e d }

i k j {1, 2,K n}

(3.3)

j =1

2 Codarea codului grup, nseamn aflarea celor k bii de control din cuvntul de cod
(cunoscndu-i pe cei m de informaie). Acesta presupune rezolvarea unui sistem de k ecuaii care se
scriu compact (matricial) sub dou forme:
a) - implicit HvT=0
(3.4)
b) - explicit v=iG
(3.5)
3 Algoritmul decodrii codului grup:
a)corector de erori:
- se calculeaz corectorul Z, dup relaia:
Z=HwT
(3.6)
- se identific poziiile eronate (cuvntul eroare ):
=(Z)
(3.7)
i se execut corecia.

17

Coduri grup
Obs.: - "ecuaia" (3.7), funcie de codul concret, poate s fie o relaie matematic sau o
coresponden dat prin tabel;
- corespondena "Z " este o funcie nesurjectiv (ntre mulimea corectorilor posibili 2k i
cea a cuvintelor eroare posibile2n -1) astfel c, pentru a putea defini funcia invers (3.7) se au n
vedere doar 2k -1 cuvinte eroare (bineneles cele mai probabile, adic cele cu pondere mai mic).
Aceast observaie este valabil pentu orice cod bloc protector i poate fi generalizat i pentru
cele nebloc.
- se selecteaz biii de informaie.
b) detector de erori:
- se calculeaz corectorul Z cu relaia (3.6);
- dac Z este nul se selecteaz biii de informaie iar dac Z0 se cere retransmisia
cuvntului recepionat, ignorndu-l pe acesta.

3.1. Fie codul grup avnd structura cuvntului de cod:


(3.1.1)

v = a 1a 2 a 3a 4 c 5 c 6 c 7

i matricea de control:
1 1 1 0 1 0 0
H = 1 0 1 1 0 1 0
0 1 1 1 0 0 1

(3.1.2)

a) S se precizeze numrul de erori corectabile respectiv detectabile de ctre


codul dat; (ec, ed)
b) Ct este distana de cod, d?
c) Ce cuvinte de cod corespund secvenelor de informaie i1=1101 i i2=0110? (V1,
V2)
d) Construii tabelul cuvinte eroare-corectabile/corectori i decodai cuvntul
w=1011100; (iW)
e) Construii scheme de codare i decodare pentru codul dat.
Rezolvare:
a) Deoarece suma a oricror dou coloane din matricea H este diferit de zero (nu sunt dou
coloane identice), codul poate corecta o eroare i detecta dou. Codul nu este capabil s corecteze
(detecteze) mai mult de att ntruct se pot gsi trei coloane a cror sum este zero (de exemplu
coloanele 1, 2 i 4).
b) Fiind un cod grup, este i liniar, nct distana de cod este egal cu ponderea cuvntului de
pondere minim. Un cuvnt de pondere minim este V1=1000110, obinut cu minimum de unuri pe
informaie. Rezult:

d=w(v1)=3

(3.1.3)

Obs.: Rezultatul era de ateptat deoarece s-a gsit la punctul a) c ec=1 de unde d 2 1 + 1 = 3 .

c) Utiliznd relaia de codare:


HvT=0

(3.1.4)
18

Coduri grup
gsim urmtoarele relaii de calcul pentru biii de control:
C 5 =a 1+ a 2 + a 3
C 6 = a 1+ a 3 + a 4
C 7 =a 2 + a 3 + a 4

(3.1.5)

Corespunztor celor dou secvene i1 i i2 gsim cuvintele de cod:


v1=1101100
v2=0110010
d) Codul fiind capabil s corecteze o eroare, rezult c tabelul cuvinte eroare/corectori va conine: o
linie pentru cuvnt corect recepionat i 7 linii pentru cele 7 cuvinte eroare de pondere 1.
Corectorii se calculeaz dup relaia:
1 + 2 + 3 + 5
'T
T
Z = H V = H = 1 + 3 + 4 + 6
(3.1.6)
2 + 3 + 4 + 7
Tabelul cerut este:
ZT
110
101
111
011
100
010
001
Tabelul 3.1.

1000000
0100000
0010000
0001000
0000100
0000010
0000001

Decodarea lui w urmeaz urmtorul algoritm:


se calculeaz corectorul corespunztor:

Zw = H w

1
= 1
0

(3.1.7)

- se identific n tabel cuvntul eroare corespunztor:


w = 1000000

(3.1.8)

- se calculeaz cuvntul presupus a fi emis:


v = w + w = 0011100

(3.1.9)

- se selecteaz biii de informaie:

19

Coduri grup
iv = 0 0 1 1

(3.1.10)

e) n figurile de mai jos sunt prezentate dou scheme posibile pentru codor i decodor:
a1

a2

a3

a4

Convertor
Serie
Paralel

+
V

C6

C7

C5

a4

a3

a2

a1

Figura 3.2.

+
+

a4
a3
a2

C
P/S

a1
+
C7

'

C6

'

C5

'

a4

'

a3

'

a2

'

a1

'

z1
+
+ z2

z3
+

Figura 3.3.

3.2. Un cod grup are structura cuvntului de cod:


(3.2.1)

v = a1a 2 a 3a 4 c 5 c 6 c 7 c 8
20

Coduri grup

i matricea de control:
1
1

1
H=
1
0

0
0
1
1
1
1

1
0
0
0
0
0

0
1
0
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0

0
0
0
0
1
0

0
0
0

0
0

(3.2.2)

a) S se precizeze numrul de erori corectabile, respectiv detectabile, precum i


distana de cod; (ec, ed, d)
b) S se scrie mulimea cuvintelor de cod;
c) S se fac o comparaie ntre codul prezent i cel precizat prin problema
precedent d.p.d.v. al eficienei, al probabilitii deciziei false i al ratei erorii
rezultate dup decodare. Se consider c ambele coduri fac corecie de erori.
(n canal BER=10-2);
d) Construii tabelul cuvinte eroare-corectabile/corectori i decodai:
w=10111000. (iw)
Rspuns:

a)

ec=2; ed=4; d=5;

b)
i = a1a 2
00
01
10
11

v = a1a 2 c 3 c 4 c 5 c 6 c 7 c 8
0 0 0 0 0 0 0 0
0 1 0 0 1 1 1 1
1 0 1 1 1 1 0 0
1 1 1 1 0 0 1 1
Tabelul 3.4.

c) Codul I: n=7 k=4


Codul II: n=8 k=2

m=3
m=6

ec=1
ec=2

4
57,14% Pf I C 72 p 2 (1 p )5 = 19,97 10 4 = 1997ppm 100 Pf II
7
2
II = = 25% Pf II C83 64 C18 C 82 p 3 (1 p )5 + C 84 p 4 (1 p )4 = 19,7 ppm
8
I =

[ (

)]

unde: C83 64 C80 C18 C82 - combinaiile de trei erori posibile - (numrul de corectori C 80 (cuvnt corect recepionat) - C18 (combinaiile de cuvinte cu 1 eroare) - C82 (combinaiile de
cuvinte cu dou erori))

Obs.: S-a considerat c se vor corecta i o parte din combinaiile de trei erori.

BERCI (2 erori + 1 eroare)/cuvnt Pf I (probabilitatea de eroare a unui cuvnt)


8,56 10-4 (1 cuvnt =7 bii)
21

Coduri grup

2 erori - din canal


1 eroare - datorat decodorului
BERCI 2 erori/cuvnt Pf II 5610-6

(1 cuvnt =8 bii)

Obs.: n calculul marginii superioare a lui BERCII s-a inut cont de faptul c ntr-un cuvnt nu pot
aprea mai mult de dou erori pe informaie (sunt doar doi bii de informaie).

d)
z1 = 1 + 3
z 2 = 1 + 4
z 3 = 1 + 2 + 5
z 4 = 1 + 2 + 6
z5 = 2 + 7
z 8 = 2 + 8
Nr.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

ZT

1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0

2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1

3
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0

4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0

5
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1

6
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0

7
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0

8
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0

0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0

22

0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0

0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1

0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1

1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1

Val.
zecimal
1
2
4
8
16
32
15
60
3
5
9
17
33
14
61
6
10
18
34
13
62
12
20
36
11
56
24
40
7

Coduri grup
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1

0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1

0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0

0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1

0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1

0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0

0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0

1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1

0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1

1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1

0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1

0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1

52
48
31
44
47
28
51
19
21
22
23
25
26
27
29
30
35
37
38
39
41
42
43
45
46
49
50
53
54
55
57
58
59
63
Tabelul 3.5.

z Tw = 000100 w = 00000100 v w = 10111100 i w = 10

3.3. Pentru codul grup Hamming corector de o eroare avnd parametrii n=7,
m=4 s se afle:
a) structura cuvntului de cod;
b) matricea de control, H;
c) cuvntul de cod corespunztor secvenei de informaie i=1010; (v)
d) s se decodeze w=1001001;
e) care va fi decizia decodorului asupra unui cuvnt recepionat dac se tie c
acesta a suferit eronri n poziiile 3 i 4.

23

Coduri grup
Rezolvare:
a) Dac se noteaz cu ij biii de informaie i cu cj biii de control din componena unui cuvnt de
cod Hamming, atunci stuctura acestuia este:

(3.3.1)

v = c1c 2 i 3 c 4 i 5 i 6 i 7 c 8i 9 i10 K i n
Cum n=7 (numrul de bii dintr-un cuvnt) rezult n cazul dat:

(3.3.2)

v = c1c 2 i 3 c 4 i 5i 6 i 7

b) Matricea de control H, n cazul codului Hamming are proprietatea c orice coloan reprezint
transpunerea zecimal-binar pe m bii a numrului ei de ordine:
0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1

(3.3.3)

c) Relaia de codare, valabil de altfel pentru orice cod grup, este:


Hv T = 0

(3.3.4)

de unde rezult urmtoarele relaii de calcul a biilor de control din cei de informaie:
c4 = i5 + i6 + i7
c2 = i3 + i 6 + i 7
c1 = i 3 + i 5 + i 7

(3.3.5)

nlocuind n (7.3.5) pe i3 cu 1, pe i5 cu 0, pe i6 cu 1 i pe i7 cu 0 gsim c:

c4 = 1
c2 = 0
c1 = 1
i:

v=1011010

(3.3.6)

d) Codul Hamming discutat fiind corector de o eroare, la decodare se face presupunerea c nu exist
mai mult de o eroare n cuvntul recepionat.
Obs.: Bineneles c aceast presupunere poate s fie adevrat (n majoritatea cazurilor de eroare,
deoarece o eroare este mai probabil dect mai multe) sau poate s fie fals (caz n care decodorul
greete).

Decodorul verific corectitudinea transmisiei construind un vector, Z, numit corector:

24

Coduri grup

z = Hw

z 4
= z 2
z1

(3.3.7)

w=v+

(3.3.8)

unde:

w - cuvntul recepionat;
v - cuvntul emis;
=v+w - cuvntul eroare.
Dac z0 se accept c nu sunt erori (fapt ce s-ar putea s fie fals, ns n acest caz exist mai mult
de o eroare). Dac z difer de zero atunci se presupune c n w exist o eroare (adic are pondere
unu). Din (3.3.7) i (3.3.8) rezult c:
z = H (v + )T = H T = h r

(3.3.9)

unde r este poziia erorii (poziia unului din ). Dar hr reprezint transpunerea zecimal-binar a lui r,
astfel c putem, prin operaia invers de decodificare binar-zecimal a lui hr s-l aflm pe r:
r=4z4+2z2+z1

(3.3.10)

Urmrind acest raionament asupra lui w=1001001 gsim c:


0
z w = 1
0
r = 4 0 + 2 1 + 0 = 2
= 0100000
v = + w = 1101001 = c1c 2 i 3c 4 i 5i 6 i 7

(3.3.11)

i w = i 3i 5 i 6 i 7 = 0001

e) Dac = 0011000 (erori pe poziiile 3 i 4) atunci, conform cu (3.3.9), z = [1 1 1]T iar r=7
ceea ce nseamn c decodorul hotrete c bitul 7 este cel eronat (dei acesta este corect).

3.4. Sursa text (SDFM) "TEORIA TRANSMITERII INFORMAIEI" se


codeaz binar bloc, ordonare alfabetic+CBN, apoi cu un cod Hamming
corector de o eroare. S se afle:
a) tabloul sursei, entropia i eficiena acesteia; (H(S),
S)
b) lungimea minim necesar a cuvintelor codului bloc precum i eficiena codrii
bloc; (m, ,
CB);
c) structura cuvntului de cod Hamming i parametrii k i n;
d) eficiena codului Hamming i a ntregii codri; (
H,
T)
e) ce secven codat (bloc+Hamming) corespunde mesajului sursei "MAR"?;
25

Coduri grup

f) ce mesaj s-a transmis dac s-a recepionat secvena:


010111010001100001110
Rspuns:

a)

b)
c)
d)
e)

f)

F
I M N O R
S
T
A E
3
1
7
2
2
2
4
1
4
S= 3

29 29 29 29 29 29 29 29 29 29
H(S)=3,0948 bii/simbol S = 93,13 %
H(S)
m=4; CB =
= 77,37 %
k
n=7 k=3
V = c1c 2 i 3c 4 i 5i 6 i 7
m
H (S)
H = = 57,14 %
T =
= 44,21 %
n
n
Codul bloc: A - 0000
N - 0101
E - 0001
O - 0110
F - 0010
R - 0111
I - 0011
S - 1000
M - 0100
T - 1001
i(MAR)=0100 0000 0111
V(MAR)=100110000000000001111
W1 = 0101110

Z1T = 101

j1 = 5

i W1 = 0010 F

W2 = 1000110

ZT2 = 010

j2 = 2

i W2 = 0110 O

W3 = 0001110

Z3T = 111

j3 = 7

i W3 = 0111 R

3.5. Sursa echiprobabil (SDFM) constituit din simbolurile a, c, e, i, n, r, s i t


se codeaz binar bloc (CBN) apoi cu un cod grup Hamming corector de o
eroare. S se afle:
a) structura cuvntului de cod Hamming precum i relaiile de codare;
b) tabloul cuvintelor de cod Hamming;
c) o coresponden ntre cuvinte eroare corectabile i corectori, cuprinznd toi
corectorii posibili;
d) secvena corespunztoare mesajului "trei";
e) mesajul transmis dac s-a recepionat secvena: F66574H (scriere
hexazecimal);
f) matricea generatoare i relaia de codare ce utlizeaz matricea generatoare;
(G)
g) S se construiasc schemele de codare i decodare.
Rezolvare:
a) Cuvntul de cod Hamming conine simboluri de control pe poziiile puteri ntregi a lui 2. tiind,
deasemenea, c sunt necesare m=3 simboluri de informaie (2m=8=numrul de simboluri ale sursei
date) gsim urmtoarea structur a cuvntului:

26

Coduri grup
V = c1c 2i 3c 4 i 5i 6

(3.5.1)

astfel nct parametrii codului Hamming m i n sunt:


m=3

n=m+k=6

(3.5.2)

iar matricea de control are forma:


0 0 0 1 1 1
H = 0 1 1 0 0 1
1 0 1 0 1 0

(3.5.3)

Pornind de la relaia de codare:


Hv T = 0

(3.5.4)

rezult urmtoarele relaii de calcul a biilor de control:


c4 = i5 + i6
c2 = i3 + i6
c1 = i 3 + i 5

(3.5.5)

b) Utiliznd relaiile (3.5.5) se construiete tabelul:


Simbol
Cuvnt
Cuvnt
surs
cod bloc
cod Hamming
a
000
0 0 0 000
c
001
0 1 0 101
e
010
1 0 0 110
i
011
1 1 0 011
n
100
1 1 1 000
r
101
1 0 1 101
s
110
0 1 1 110
t
111
0 0 1 011
c1c 2 i 3c 4 i 5i 6
Tabelul 3.6
c) Corectorul z se calculeaz cu relaia:

z = Hw

4 + 5 + 6 z 4
= 2 + 3 + 6 = z 2
1 + 3 + 5 z1

(3.5.6)

i, n cazul unei singure erori, reprezint transpunerea n binar a numrului de ordine al bitului
eronat din w, astfel nct poziia erorii se afl prin transpunerea binar-zecimal a lui z:

j=4z4+2z2+z1

(3.5.7)

27

Coduri grup
n cazul de fa, ns, numrul corectorilor (23=8) depete cu 2 numrul cuvintelor eroare cu o
eroare (ase), astfel c este disponibil un corector pentru a corecta o combinaie de 2 erori (un
corector, i anume zT0=000, semnaleaz corectitudinea recepiei).
Obs.: Preul acestui avantaj (de a corecta i o combinaie de dou erori) este renunarea la
algoritmul simplu de codare prin decodificare binar-zecimal!

n tabelul 3.7 se prezint o variant de coresponden ntre cuvintele eroare corectabile i corectori.
Alte variante similare se pot construi nlocuind cuvntul eroare din ultima linie cu unul dintre
cuvintele: 100001 sau 001100.
Z - corector
- cuvnt eroare
000000
000
100000
001
010000
010
001000
011
000100
100
000010
101
000001
110
010010
111
Tabel 3.7.
d) Din Tabelul 3.6 rezult pentru mesajul "trei" secvena:
v(trei)= 001011 101101 100110 110011=2ED9B3H

(3.5.8)

e) Prin transpunerea n baza 2 a mesajului recepionat rezult:


w=F66574H=111101 100110 010101 110100
w1

w2

w3

w4

n continuare se vor decoda separat cele 4 cuvinte recepionate dup algoritmul:


- se calculeaz corectorii cu relaia (3.5.6):
z1T = 010

z T2 = 000
z 3T = 000
z T4 = 111

(3.5.9)

- se identific n tabelul 3.7 cuvintele eroare corespunztoare:


1 = 010000
2 = 000000
3 = 000000

(3.5.10)

4 = 010010

- se corecteaz biii eronai:


28

Coduri grup
v1 = 1 + w 1 = 101101
v 2 = 2 + w 2 = 100110
v 3 = 3 + w 3 = 010101
v 4 = 4 + w 4 = 100110

(3.5.11)

- se selecteaz biii de informaie i respectiv se identific simbolurile sursei, reconstruind mesajul


transmis:
v1 101 r
v 2 010 e
v 3 001 c
(3.5.12)
v 4 010 e
Mesajul transmis este : "rece".
f) Matricea generatoare G are dimensiunile k n = 3 6 i satisface relaia :
H GT = 0

(3.5.13)

Deasemenea matricea G poate servi codrii prin relaia:


(3.5.14)

v = iG

unde v este cuvntul de cod Hamming corespunztor secvenei de informaie i;


Relaia (3.5.14) spune c liniile lui G sunt cuvinte de cod, astfel nct putem construi pe G alegnd
prima linie cuvntul de cod corespunztor informaiei in=100, a doua cel corespunztor lui ie=010
iar pe a treia cel corespunztor lui ic=001:
Vn 1 1 1 0 0 0
G = Ve = 1 0 0 1 1 0
Vc 0 1 0 1 0 1

(3.5.15)

Relaia de codare ce utilizeaz G este:


1 1 1 0 0 0
[c1c 2 i 3c 4 i 5i 6 ] = [i 3i 5i 6 ]1 0 0 1 1 0
0 1 0 1 0 1

(3.5.16)

g) n figura de mai jos sunt prezentate scheme pentru codor i decodor:


a
c
e
i
n
r
s
t

Zecimal
/
Binar

i6

i5

c4
29

i3

c2

c1

Coduri grup

+
+

i6
i5
i3

i
6

c
4

i
3

c
2

Binar
/
Zeci
-mal

a
c
e
i
n
r
s
t

c1
z4

z2

z
1

Figura 3.8.

3.6. O SDFM cu 100 simboluri echiprobabile se codeaz cu un cod binar bloc


apoi cu un cod Hamming corector de eroare i detector de dou. S se afle:
a) structura cuvntului de cod precum i matricea de control; (v,H)
b) relaiile de codare;
c) s se decodeze cuvintele w1 = 37FH ; w 2 = 8DC H ; w 3 = D36 H (indicele "H" indic
o scriere hexazecimal).
Rspuns:
a)

b)

v = c 0 c1c 2 i 3c 4 i 5i 6 i 7 c 8 i 9 i10 i11


0 0 0 0 0 0 0 0 1
0 0 0 0 1 1 1 1 0

H = 0 0 1 1 0 0 1 1 0

0 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1
c 8 = i 9 + i10 + i11
c4 = i5 + i6 + i7
c 2 = i 3 + i 6 + i 7 + i10 + i11
c1 = i 3 + i 5 + i 7 + i 9 + i11
c 0 = c1 + c 2 + i 3 + c 4 + i 6 + i 7 + c 8

30

1
0
0
1
1

1
0
1
0
1

1
0
1

1
1

+ i 9 + i10 + i11 = i 3 + i 5 + i 6 + i 9 + i10

Coduri grup

c)

0
1

z w 1 = 0 eroare pe poziia a 5-a

1
1

i w 1 = 1011111

0
1

z w 2 = 1 erori n numr necorectabil

1
0
0
0

z w 3 = 0 eroare pe prima poziie

0
1

i w 31 = 1011110

3.7. O surs de informaie cu N=16 simboluri se codeaz binar bloc apoi cu un


cod Reed-Muller corector de o eroare.
a) s se afle parametrii codului R-M; (t, r)
b) s se scrie matricea generatoare; (G)
c) s se codeze secvena de informaie obinut prin transpunerea zecimalbinar a numrului 13;
d) s se decodeze v=secvena binar obinut prin transpunerea zecimal binar
a numrului 103.
Rezolvare:
a) Parametrii cerui t i r se afl impunnd condiiile:
r

m=4=

Cit

(3.7.1)

i=0

e c = 1 = 2 t r 1 1

(3.7.2)

Din ecuaia (3.7.2) gsim c t-r=2. Ecuaia (3.7.1) se soluioneaz prin ncercri succesive cu 0<r<t.
Soluia va fi aadar:
t=3

r=1

(3.7.3)

b) Numrul de simboluri binare din cuvntul de cod va fi:


31

Coduri grup
n=2t=8

(3.7.4)

iar matricea G va avea dimensiunile m n = 4 8 :


1
0
G=
0

1
0
0
1

1
0
1
0

1
0
1
1

1
1
0
0

1
1
0
1

1
1
1
0

1
1
1

(3.7.5)

c) Cu notaiile:
i = [i 0 i 3 i 2 i1 ]

(3.7.6)

v = [a1 a 2 a 3 a 4 a 5 a 6 a 7 a 8

(3.7.7)

i relaia matricial de codare:

v=iG

(3.7.8)

Obinem relaiile de codare:


a1 = i 0
a 2 = i 0 + i1
a3 = i0 + i2
a 4 = i 0 + i1 + i 2

a 5 = i0 + i3
a 6 = i 0 + i1 + i 3
a 7 = i0 + i 2 + i3
a 8 = i 0 + i1 + i 2 + i 3

(3.7.9)

Pentru i = binar (1210 ) = 1101 rezult:


v=[1 0 1 0 0 1 0 1]

(3.7.10)

d) Decodarea codului Reed-Muller este o decodare cu logic majoritar. Pentru fiecare simbol
recepionat din iW vom scrie cel puin 2ec +1=3 ecuaii:
i1 = a1 + a 2
i 2 = a1 + a 3
i 3 = a1 + a 5
i = a + a
i = a + a
i = a + a
1
2
3
3
4
2
4
2
6
(3.7.11)

i1 = a 5 + a 6
i 2 = a 5 + a 7
i 3 = a 3 + a 7
i1 = a 7 + a 8
i 2 = a 6 + a 8
i 3 = a 4 + a 8
i 0 = a1
i = a + i
0
2
1

i 0 = a 3 + i 2
i 0 = a 4 + i1 + i 2

i0 = a 5 + i3
i 0 = a 6 + i1 + i 3
i 0 = a 7 + i 2 + i3
i 0 = a 8 + i1 + i 2 + i 3

Cum w = binar(10310 ) = 01100111 = a1' a '2


Rezult:

a 3'

32

a '4

(3.7.12)

a 5'

a '6

a '7

a 8'

(3.7.13)

Coduri grup
- pentru i1 valorile

a1' + a '2 = 1

de unde i1=1

(3.7.14)

de unde i2=1

(3.7.15)

de unde i3=0

(3.7.16)

de unde i0=0

(3.7.17)

a 3' + a '4 = 1
a 5' + a '6 = 1
a '7 + a 8' = 0

- pentru i2 valorile

a1' + a 3' = 1
a '2 + a '4 = 1
a 5' + a '7 = 1
a '6 + a 8' = 0

- pentru i3 valorile

a1' + a 5' = 0
a '2 + a '6 = 0
a 3' + a '7 = 0
a '4 + a 8' = 1

- pentru i0 valoril

a1' = 0

a '2
a 3'
a '4
a 5'
a '6
a '7
a 8'

+ i1 = 0
+ i2 = 0

+ i1 + i 2 = 0
+ i3 = 0
+ i1 + i 3 = 0
+ i 2 + i3 = 0

+ i1 + i 2 + i 3 = 1
Aadar secvena de informaie decodat este iW=0011.

3.8. Pentru codul grup Reed-Muller avnd parametrii t=4, r=2, s se afle:
a) numrul de cuvinte de cod; (N)
b) distana de cod, numrul de erori corectabile i detectabile; (d, ec, ed)
c) matricea generatoare; (G)
d) eficiena codului; (
c)
e) cuvntul de cod corespunztor secvenei de informaie i=binar(38910); (v)
f) informaia obinut prin decodarea cuvntului recepionat w unde
w=binar(10.00010).
Rezolvare:
a) Numrul de simboluri din cuvntul de informaie, k, se afl cu formula:

33

Coduri grup
r

k=

C it = C 04 + C14 + C 24 = 11

(3.8.1)

i=0

Numrul de cuvinte de cod este acelai cu numrul de cuvinte de informaie:


N=2k=2048

(3.8.2)

b) Distana de cod se afl cu formula:


d=2t-r=4

(3.8.3)

ec =1 ed =3

(3.8.4)

n=2t=16

(3.8.5)

de unde:

c) tiind:

matricea generatoare este:


1
0

0
0

G = 0
0

0
0

1
0
0
0
1
0
0
0
0
0
0

1
0
0
1
0
0
0
0
0
0
0

1
0
0
1
1
0
0
0
0
0
1

1
0
1
0
0
0
0
0
0
0
0

1
0
1
0
1
0
0
0
0
1
0

1
0
1
1
0
0
0
0
1
0
0

1
0
1
1
1
0
0
0
1
1
1

1
1
0
0
0
0
0
0
0
0
0

1
1
0
0
1
0
0
1
0
0
0

1
1
0
1
0
0
1
0
0
0
0

1
1
0
1
1
0
1
1
0
0
1

1
1
1
0
0
1
0
0
0
0
0

1
1
1
0
1
1
0
1
0
1
0

1
1
1
1
0
1
1
0
1
0
0

1 l 0
1 l 4
1 l 3

1 l 2
1 l1

1 l 43
1 l 42

1 l 41
1 l 32

1 l 31

1 l 21

(3.8.6)

Obs.: Matricea generatoare are trei seciuni (n general r+1 seciuni).


Prima seciune conine prima linie notat l0,totdeauna de pondere maxim.
Seciunea a doua conine C1t linii notate de la l4 la l1. Din relaia (3.8.6) este uor de observat
regula dup care se construiesc liniile din aceast seciune. Seciunea a III-a conine linii notate cu
doi indici, indici ce precizeaz liniile din seciunea a II-a ce s-au nmulit pentru a obine linia
corespunztoare.

d) Eficiena codului este dat de raportul dintre m i n:


c =

m 11
=
= 68,75 %
n 16

(3.8.7)

34

Coduri grup
e) Cunoscnd secvena de informaie:
i=binar(38910)=00110000101

(3.8.8)

cuvntul de cod, v, rezult uor prin nmulire matricial:


v=iG=[0010 1110 0010 1110]=binar(1182210)

(3.8.9)

f) Relaiile de codare scalare sunt:


a1 = i0
a5 = i0 + i3
a2 = i0 + i1
a6 = i0 + i1 + i3 + i31
a3 = i0 + i2
a7 = i0 + i2 + i3 + i32
a4 = i0 + i1 + i2 + i21 a8 = i0 + i1 + i2 + i3 + i21 + i31+ i32

(3.8.10)

a9 = i0 +i4
a13 = i0 +i3 +i4 +i43
a10 = i0 +i1 +i4 +i41
a14 = i0 +i1 +i3 +i4 +i31+i41+i43
a11 = i0 +i2 +i4 +i42
a15 = i0 +i2 +i3 +i4 +i32 +i42 +i43
a12 = i0 +i1 +i2 +i4 +i21+i41+i42 a16 = i0 +i1 +i2 +i3 +i4 +i21+i31+i32 +i41+i42 +i43
Din aceste relaii de codare se pot scrie, n vederea decodrii cu logic majoritar, cte patru relaii
pentru biii din seciunea a III-a, 8 pentru seciunea a II-a i 16 pentru i0:
i 21 = a 1 + a 2 + a 3 + a 4
= a5 + a 6 + a 7 + a8

i 32 = a 1 + a 3 + a 5 + a 7
= a 2 + a 4 + a 6 + a8

i 31 = a 1 + a 2 + a 5 + a 6
= a3 + a 4 + a7 + a8

= a 9 + a10 + a 11 + a12
= a 13 + a 14 + a15 + a 16

= a 9 + a 10 + a 13 + a14
= a 11 + a12 + a 15 + a16

= a 9 + a11 + a 13 + a 15
= a 10 + a12 + a 14 + a16

i 41 = a 1 + a 2 + a 9 + a 10
= a 3 + a 4 + a 11 + a12

i 42 = a 1 + a 3 + a 9 + a 11
= a 2 + a 4 + a10 + a 12

i 43 = a1 + a 5 + a 9 + a13
= a 2 + a 6 + a 10 + a14

= a 5 + a 6 + a 13 + a 14
= a 7 + a 8 + a 15 + a 16

= a 5 + a 7 + a 13 + a 15
= a 6 + a 8 + a14 + a 16

= a 3 + a 7 + a11 + a 15
= a 4 + a 8 + a14 + a 16

i1 = a1 + a 2

i 2 = a1 + a 3

= a 3 + a 4 + i 21
= a 5 + a 6 + i 31

= a 2 + a 4 + i 21
= a 5 + a 7 + i 32

= a 7 + a 8 + i 31 + i 21

= a 6 + a 8 + i 21 + i 32

= a 9 + a10 + i 41
= a 11 + a 12 + i 21 + i 41

= a 9 + a11 + i 42
= a 10 + a12 + i 21 + i 42

= a 13 + a 14 + i 41 + i 31

= a 13 + a 15 + i 32 + i 42

= a 15 + a 16 + i 41 + i 31 + i 21

= a 14 + a16 + i 21 + i 32 + i 41 + i 42

35

(3.8.11)

Coduri grup
i 4 = a1 + a 9
= a 2 + a 10 + i 41
= a 3 + a 11 + i 42

i 3 = a1 + a 5
= a 2 + a 6 + i 31
= a 3 + a 7 + i 32
= a 4 + a 8 + i 31 + i 32
= a 9 + a13 + i 43

= a 4 + a 12 + i 41 + i 42
= a 5 + a 13 + i 43

= a 10 + a14 + i 31 + i 43
= a 11 + a15 + i 32 + i 43

= a 6 + a14 + i 41 + i 43
= a 7 + a 15 + i 42 + i 43

= a 12 + a16 + i 31 + i 32 + i 43

= a 8 + a 9 + i 41 + i 42 + i 43

Dac w=0010011100010000 rezult pentru biii de informaie, din seciunea a III-a, valorile:
i 21 = {1, 1, 1, 0}
i 31 = {1, 1, 0, 1}
i 32 = {0, 0, 0, 1}
i 41 = {0, 0, 1, 0}
i 42 = {1, 1, 1, 0}
i 43 = {0, 1, 0, 0}

i 21 = 1
i 31 = 1
i 32 = 0
i 41 = 0
i 42 = 1
i 43 = 0

(3.8.12)

Astfel, pentru biii din seciunea a II-a:


i1 = {0, 0, 0, 0, 0, 0, 1, 0}
i 2 = {1, 1, 1, 1, 1, 1, 1, 0}
i 3 = {0, 0, 0, 0, 0, 1, 0, 0}
i 4 = {0, 0, 0, 0, 0, 1, 0, 0}

i1 = 0
i2 = 1
i3 = 0
i4 = 0

(3.8.13)

iar pentru i0:


i 0 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}

i0 = 0

(3.8.14)

Cuvntul de informaie decodat va fi:


i w = [i 0 i 4 i 3 i 2 i1 i 43 i 42 i 41 i 32 i31 i 21 ]
=[0 0 0 1 0 0 1 0 0 1 1]=binar(147)

(3.8.15)

3.9. O SFDM cu N=32 simboluri echiprobabile se calculeaz cu un cod binar


bloc, apoi cu un cod Reed-Muller corector de 3 erori. S se afle:
a) parametrii codului t i r;
b) matricea generatoare; (G)
c) relaiile pentru decodare cu logic majoritar;
d) s se codeze i=binar(23) i s se decodeze w=binar(1500010) precizndu-se ce
bii au fost greit recepionai n w.
36

Coduri grup
Rspuns:
a)
b)

t=4, r=1;

1
0

G = 0

0
0

1
0
0
0
1

1
0
0
1
0

1
0
0
1
1

1
0
1
0
0

1
0
1
0
1

1
0
1
1
0

1
0
1
1
1

1
1
0
0
0

1
1
0
0
1

1
1
0
1
0

1
1
0
1
1

1
1
1
0
0

1
1
1
0
1

1
1
1
1
0

1
1
1

1
1

c)
i1 = a1 + a 2
= a3 + a4

i 2 = a1 + a 3
= a2 + a4

i 3 = a1 + a 5
= a2 + a6

i1 = a 1 + a 9
= a 2 + a 10

= a5 + a6

= a5 + a7

= a3 + a7

= a 3 + a 11

= a 7 + a8
= a 9 + a10

= a6 + a8
= a 9 + a 11

= a 4 + a8
= a 9 + a 13

= a 4 + a 12
= a 5 + a13

= a 11 + a 12

= a10 + a 12

= a10 + a 14

= a 6 + a 14

= a 13 + a 14

= a13 + a15

= a11 + a15

= a 15 + a 16

= a14 + a 16

= a12 + a 16

= a 7 + a 15
= a 8 + a 16

= a 5 + i3

= a9 + i4

= a 13 + i 3 + i 4

= a 2 + i1
= a3 + i2

= a 6 + i1 + i 3
= a 7 + i 2 + i3

= a 10 + i1 + i 4
= a 11 + i 2 + i 4

= a 14 + i1 + i 3 + i 4
= a 15 + i 2 + i 3 + i 4

= a 4 + i1 + i 2

= a 8 + i1 + i 2 + i 3

= a 12 + i1 + i 2 + i 4

= a 16 + i1 + i 2 + i 3 + i 4

i 0 = a1

d)

v=[1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0]=binar(3855010)
w=0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0
i1 = {1, 0, 0, 1, 1, 1, 1, 0}
i1 = 1
i 2 = {1, 0, 1, 0, 1, 1, 1, 0}
i2 = 1
i 3 = {0, 1, 0, 1, 0, 0, 0, 1}
i3 = 0
i 4 = {1, 1, 1, 0, 1, 0, 1, 0}
i4 = 1
i 0 = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
i0 = 0
i w = [01011] cu v w = [0110 0110 10011001] = v w + w = [0001 0100 0000 0001]

3.10. O surs de informaie cu 32 de simboluri echiprobabile se codeaz binar


bloc apoi cu un cod iterat cu distana D=2
3, ce utilizeaz (pentru distana 2)
cod cu paritate simpl pe vertical i (pentru distan 3) cod Hamming corector
de o eroare pe orizontal.
a) tiind c blocul de informaie iterat este alctuit din patru cuvinte de cod
bloc, precizai cum trebuiesc aezate acestea, pe orizontal sau pe vertical,
astfel nct s se obin un cod iterat de eficien maxim posibil.

37

Coduri grup

b) Cu codul precizat la punctul a) codai pachetul iterat format din cuvintele de


cod bloc u1, u2, u3 i u4, obinute prin transpunerea zecimal-binar a numerelor
(23, 7, 14, 18).
c) Dai un exemplu de decodare a unui pachet iterat.
Rezolvare:
a) n ipoteza c s-a ales aezarea cuvintelor codului bloc pe orizontal structura blocului iterat codat
este prezentat figurat mai jos:

m1=5

k1=4

m2=4
k2=1
Structura cuvntului de cod Hamming n acest caz este:
v O = c1c 2 i 3 c 4 i 5i 6 i 7 c 8 i 9

(3.10.1)

i rezult o eficien a codului iterat:

cO =

45
= 44,44 %
59

(3.10.2)

La aezarea pe vertical a cuvintelor codului bloc corespunde structura blocului iterat codat:
m1=4

k1=3

m2=5
k2=1
Iar pentru cuvntul de cod Hamming:
v H = c1c 2 i 3 c 4 i 5i 6 i 7

(3.10.3)

Eficiena acestui cod iterat este:


45
cv =
= 47,62 %
67

(3.10.4)

Aadar cel de-al doilea cod este cel ales.


b) Pachetul de informaie este:

38

Coduri grup

0
(u1u 2 u 3 u 4 ) = 1
1
1

0
0
1
1
1

0
1
1
1
0

0
0

1
0

(3.10.5)

Pentru codare iterat vom construi cuvintele de cod Hamming considernd biii din prima coloan
drept i3 din relaia (3.10.3), a doua coloan va da pe i5, a treia pe i6 iar a patra pe i7. Ulterior se
adaug o linie de paritate pe vertical. Pachetul obinut este:
c1

0
0

0
v=
1
0

c2

0
1
0
1
1
1

i3

1
0
1
1
1
0

c4 i5 i6 i7

1
1
0
1
1
0

0
0
1
1
1
1

0
1
1
1
0
1

1
0
0

1
0

(3.10.6)

c) Codul iterat construit avnd distana D=6 este capabil s corecteze ec=2 erori sau s detecteze
ed=5.
La decodare se construiesc, pentru fiecare linie (ce este un cuvnt de cod Hamming)
corectorul corespunztor, iar pe coloan se verific paritatea.
n cazul deteciei de erori, dac exist corectori zi0 sau defecte de paritate pe vertical atunci s-a
depistat prezena erorilor.
n cazul coreciei unei erori, aceasta se gsete la intersecia coloanei cu defect de paritate i
liniei cu z0.
Dac exist dou erori atunci se pot ivi 3 situaii distincte prezentate sugestiv n figurile de
mai jos:

c=1 c=1
I

z0

zi=[r]

zj= zi

cr=0
II

zi=[r]

zj= [t]

cr=1 ct=1
III

Poziionarea erorilor se face astfel:


I - la intersecia celor dou coloane cu defect de paritate cu linia z0;
II - prin decodificarea binar-zecimal a unui z se gsete linia r;
III - pentru fiecare linie se alege coloana ce corespunde decodificrii binar zecimale a corectorului
eferent.
Obs.: - Exist situaii n care mai mult de dou linii i/sau dou coloane sunt afectate de erori. n
acest caz nu se poate face corecia, ci doar se semnaleaz prezena erorilor.

Pentru exemplificare fie pachetul recepionat:


39

Coduri grup

0
0
w =
1
1

0
0
1
1
1
1

1
1
0
0
1
0

1
1
1
1
0
0

0
1
0
0
0
1

1
1
1
1
0
1

1
0

1
0
0

(3.10.7)

Verificnd paritatea gsim c liniile 2 i 4 au corectorii z T2 = [011] z T4 = [110] , diferii de


zero, iar coloanele 3 i 6 au defect de paritate. Erorile se gsesc la intersecia coloanei 3 cu linia 2 i
la intersecia coloanei 4 cu linia 6.

40

Cap.4 Coduri ciclice


Dicionar
-permutare (a elementelor unei mulimi ordonate) 1.aceeai mulime scris ntr-o alt ordine ; 2. permutare ciclic
presupunnd c elementele mulimii date sunt indicate prin puncte echidistante pe un cerc, permutarea ciclic
presupune citirea elementelor, n acelai sens, de la un alt punct.

Definiii
-cod ciclic cod pentru care orice permutare ciclic a unui cuvnt de cod este, de asemenea, cuvnt de cod ;

Notaii
m, k, n numrul de bii de informaie, control, respectiv total dintr-un cuvnt de cod ;
v, w, cuvintele de cod (emis), recepionat, respectiv eroare;
i(x) polinomul de informaie;
v(x), w(x), (x) polinoamele ataate cuvintelor de cod (emis), recepionat, respectiv eroare;
g(x) polinomul generator ;
T matricea caracteristic ;
Cj celul de ntrziere ;

Abrevieri
RDR Registru de Deplasare cu Reacie ;
v

Ck
gk = 1

Ck-1
gk-1

C2
gk-2

C1
g1

g0 = 1

+
y
Figura 4.1. Registru de deplasare cu reacie.
Notnd cu Ckt, Ck-1t ... C1t strile (semnalul de la ieirea) celulelor circuitului RDR la momentul t, gsim strile viitoare
(momentul t + 1) cu formula:
St+1 = TSt + vtU
(4.1)
unde at este bitul de la intrare la momentul t, iar
0 L
0
0
0 1

t
t
1
+
C1
C 1
0
0
0
0 0 1 L
t
t +1
0

L
L
L
L
L
L
C
C
(4.2)
S t +1 = 2 ; S t = 2 ; T =
;U=

M
M
M
0 0
0 L
1
0

t
t +1

0 0
0 L
0
1
1 k x 1
C k
C k

g 0 g 1 g 2 L g k - 2 g k -1

Breviar teoretic
1. Relaia dintre parametrii cocului ciclic corector de o eroare :
n = m + k = 2k 1
(4.3)
2. Cuvintele (de cod sau nu) sunt reprezentate, n teoria codurilor ciclice, sub form de
clase de resturi de polinoame modulo xn + 1, cu coeficienii n cmpul binar:
v(x) = vn-1xn-1 + vn-2xn-2 + ... + v1x +v0
(4.4)
3. Proprietatea definitorie a cuvintelor de cod ciclic este aceea c sunt multiplii unui
polinom g (x), de grad k, numit generator al codului:
v(x) = q(x)g(x)
(4.5)
4. Polinomul generator:
g(x) = gkxk + gk-1xk-1 + .... + g1x + g0
(4.6)

41

determin n mod univoc performanele codului. Codul generat de un polinom de forma:


g(x) = x + 1
(4.7)
este capabil s detecteze o eroare. Dac g(x) este un polinom primitiv de grad k (este ndeplinit
condiia (4.1)), atunci codul ciclic este corector de o eroare. Dac g(x) este de forma:
g(x) = (x + 1)g(x)
(4.8)
unde g(x) este polinom primitiv, atunci codul rezultat este capabil s corecteze o eroare i s
detecteze dou.
5. Codarea codului ciclic presupune obinerea polinomului (cuvntului) de cod v(x),
cunoscut fiind polinomul (secvena) de informaie i(x) (de grad cel mult m - 1 ) i bineneles g(x).
Codarea codului ciclic se poate face:
polinomial, prin nmulire:
v(x) = i(x)g(x)
(4.9)
polinomial, prin mprire:
v(x) = xki(x) + rest[ xki(x)/g(x)]
(4.10)
matricial:
n -1

a T U = 0
j

(4.11)

j= 0

Obs. Relaia de codare (4.9) conduce la un cod nesistematic. Aceast relaie se poate implementa
prin circuite de nmulire.
Relaiile de codare (4.10) i (4.11) sunt echivalente. Implementarea acestora se face prin
circuite ce conin RDR (figura 4.1)
6. Decodarea codului ciclic cuprinde verificarea corectitudinii cuvntului recepionat:
w(x) = wn-1xn-1 + wn-2xn-2 + ... + w1x +w0
(4.12)
i corectarea sau detectarea erorilor, dup destinaia codului.
Verificarea presupune calculul restului mpririi lui w(x) la g(x). Dac restul este 0 se
decide: cuvnt corect recepionat. Dac nu, atunci se decide: cuvnt eronat.(Prima decizie poate fi
fals, a doua nu!) Pentru codurile detectoare decodarea ia sfrit aici. Pentru codurile corectoare
analiza restului permite determinarea poziiei erorilor. Acest lucru presupune existena unei
corespondene biunivoce ntre resturile posibile i cuvintele eroare corectabile de ctre codul dat.
Dac codul este corector de o eroare, atunci decodarea decurge astfel:
1- se calculeaz corectorul zn cu formula:
n -1

z=

n -1

w T U = T U
j

j= 0

(4.13)

j= 0

unde j reprezint coeficienii polinomului eroare:


(x) = w(x) + v(x)
(4.14)
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. Comparm z cu TjU i
gsim r. Corecia presupune schimbarea valorii lui wr.
3-se selecteaz biii de informaie din cuvntul recepionat, verificat i eventual corectat.

4.1. Artai c orice permutare ciclic a unui cuvnt de cod ciclic este de
asemenea un cuvnt de cod.

42

Rezolvare:
Problema se rezum la a arta c dac:
v(x) = an-1xn-1 + an-2xn-2 + ... + a1x +a0

(4.1.1)

este cuvnt de cod, atunci i:


vp(x) = an-2xn-1 + an-3xn-2 + ... + a1x2 +a0x + an-1

(4.1.2)

permutarea lui v(x) spre stnga cu un bit, este cuvnt de cod.


Adunnd i scznd modulo doi pe an-1xn la vp(x) rezult c :
vp(x) = an-1xn + an-2xn-1 + ... + a1x2 +a0x + an-1 + an-1xn
= xv(x) + an-1(1 + xn)

(4.1.3)

tiind c 1 + xn se divide cu g(x):


(1 + xn) = h(x)g(x)

(4.1.4)

rezult imediat c vp(x) este divizibil cu g(x):


vp(x) = xq(x)g(x) + an-1 h(x)g(x).

(4.1.5)

Demonstraia este complet, deoarece orice permutare a lui v(x) se poate obine printr-o
succesiune de permutri la stnga cu un bit.

4.2. a) Artai c un polinom de forma xa (a < n) nu poate fi nici generator, nici


cuvnt de cod pentru un cod ciclic detector sau corector de erori.
b) Artai c un polinom de forma xa + xb a b, a i b < n, nu poate fi nici
generator, nici cuvnt de cod pentru un cod ciclic corector de erori.
Rezolvare:
a) Presupunem c:
g(x) = xa

(4.2.1)

ar fi polinom generator al unui cod ciclic. Fie de asemenea:


v0(x) = 0 i va(x) = xa

(4.2.2)

i v0 i va sunt divizibile cu g(x), deci cuvinte de cod. Dar va se poate obine din v0 modificnd
(eronnd) poziia a + 1. Ca atare, fiind emis v0, exist posibilitatea de a nu putea depista nici mcar
o eroare n v0. Adic codul nu e capabil de a detecta (cu att mai mult de a corecta) prezena
erorilor. Contradicie!
Dac va(x) = xa ar fi cuvnt de cod atunci i:
v1(x) = 1

(4.2.3)

43

ar fi cuvnt de cod (ca i permutare a lui va). Pe de alt parte v1 se divide cu g(x) deci g(x) = 1,
adic de forma xa. Contradicie!
b) Presupunem:
g(x) = xa + xb

(4.2.4)

polinomul generator al unui cod corector de erori, i fie:


va(x) = xa , vb(x) = xb, cu a > b

(4.2.5)

rest va(x)/g(x) = rest vb(x)/g(x) = xb

(4.2.6)

Atunci:

Astfel, emind cuvntul de cod v(x) = xa + xb (divizibil cu g(x)) i recepionnd va(x) sau vb(x)
(fiecare provenind din v(x) eronat o singur dat) ne aflm n imposibilitatea coreciei unei singure
erori. Deci codul nu poate corecta nici o eroare. Contradicie!
Dac:
v(x) = xb + xb+q, cu b + q < n

(4.2.7)

ar fi cuvnt de cod atunci datorit ciclicitii i:


vq(x) = 1 + xq

(4.2.8)

ar fi. Cum i v0(x) = 0 este, se observ situaiile vq-emis/v1-recepionat i v0-emis/v1-recepionat ( cu


v1(x) = 1) sunt dovada neputinei de a corecta o eroare (rest v1/g = 1 pentru ambele
situaii).Contradicie!

4.3. Artai c pentru orice cod ciclic polinomul generator are termenul liber
nenul.
Rezolvare:
Presupunem c:
g(x) = xt(xq + .... + 1)

(4.3.1)

este polinomul generator pentru un cod ciclic. Atunci el este i cuvnt de cod pentru acel cod. Dar,
datorit ciclicitii i xq + .... + 1 este cuvnt de cod. Contradicie: xq + .... + 1 nu este divizibil cu
xt(xq + .... + 1).

44

0 1 0
4.4. Artai c matricea caracteristic T = 0 0 1 este rdcin a polinomului
1 1 0

g(x) = x3 + x + 1.
Rezolvare:
Este necesar s artm c:
g(T) = T3 + T + I3 = 0

(4.4.1)

1 0 0
I 3 = 0 1 0
0 0 1

(4.4.2)

0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 0
T 3 = 0 0 1 0 0 1 0 0 1 = 0 0 1 1 1 0 = 0 1 1
1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1

(4.4.3)

1 1 0 0 1 0 1 0 0 0 0 0
g (T ) = 0 1 1 + 0 0 1 + 0 1 0 = 0 0 0 = 0
1 1 1 1 1 0 0 0 1 0 0 0

(4.4.4)

unde:

Deoarece:

Rezult c:

Obs. Afirmaia din enunul problemei este general valabila, indiferent de g(x)-polinom primitiv.
(Teorema Cayley-Hamilton)

4.5. Artai c, pentru orice cod ciclic corector de o eroare, cuvntul de pondere
n este cuvnt de cod i de asemenea, complementul bit cu bit al unui cuvnt de
cod este cuvnt de cod.
Rezolvare:
Fie vn(x) cuvntul de pondere n:
vn(x) = xn-1 + xn-2 + ... + x + 1

(4.5.1)

(1 + x)vn(x) = (xn + xn-1 + ... + x2 + x)


+ (xn-1 + xn-2 + ... + x + 1) = xn + 1

(4.5.2)

Cum:

45

i cum xn + 1 se divide prin g(x), rezult c (1 + x)vn(x) se divide cu g(x). Dar (vezi problema 4.2.)
g(x) nu poate divide pe 1 + x, rezult c vn(x) este divizibil cu g(x) i ca atare cuvnt de cod.
Fie acum v(x) un cuvnt de cod ciclic. Complementul su bit cu bit este fr ndoial v(x) +
vn(x). Cum suma a dou cuvinte de cod este un cuvnt de cod (i suma este divizibil cu g(x))
demonstraia este terminat.

4.6. Demonstrai c nu pot exista cuvinte de cod ciclic cu ponderea egal cu n 1


sau n 2.
Rezolvare:
Din problema 4.2. rezult c nu pot exista cuvinte de forma v(x) =xa sau v(x) =xa + xb, adic de
pondere 1 sau 2. tiind c (din problema anterioar), complementul unui cuvnt de cod este cuvnt
de cod, atunci dac vn-1(x), cuvnt de pondere n 1, sau este vn-2(x), cuvnt de pondere n 2, ar fi
cuvinte de cod ar conduce la existena unor cuvinte de cod de pondere 1 respectiv 2. Contradicie!

4.7. a) S se demonstreze c dac g(x) divide pe xn + 1 atunci Tn = Ik, unde T este


matricea caracteristic corespunztoare lui g(x) (de grad k).
b) S se demonstreze c

0
1
0
0

unde
U = M
.
T -1 U =
M

0


0 k x 1
1
k x1

Rezolvare:
a) Cum T este rdcin a ecuaiei g(x) = 0 (vezi problema 4.4.) rezult c este i rdcin a ecuaiei
xn +1 = 0, ca atare Tn + In = 0 sau Tn = In.
b) Gsim T-1 prin metoda transformrilor liniare:
0 L 0 | 1 0 0 L 0 0 L1
0 1
0 0 1 L 0
| 0 1 0 L 0 0 L 2

L L L L L |L L L L L L M

0 0 0 L 1 | 0 0 0 L 1 0 L k -1
1 g 1 g 2 L g k -1 | 0 0 0 L 0 1 L k

1 0 0 L 0 0 | g 1 g 2 g 3 L g k -1 1 L'1
0 1 0 L 0 0 | 1
0
0 L 0
0 L'2

L L L L L L | L L L L L L M

0
0 L 0
0 L'k -1
0 0 0 L 1 0 | 0
0 0 0 L 0 1 | 0
0
0 L 1
0 L'k

S-au operat transformrile L1 = L1 + L2 + ... + Lk


problema 4.3.).
Este simplu de verificat c:

46

Lj = Lj-1 j = 2,k i s-a considerat g0 = 1 (vezi

0 1
M 0
T -1 U = T -1 =
0 M

1 0

(4.7.1)

4.8. Fie mulimile I = {i(x) | grad i(x) m-1}}; V1 = {v(x) | v(x)=q(x)g(x), q(x) I}}
i V2 = {w(x) | w(x) = xki(x) + rest xki(x)/g(x), i(x) I}} unde g(x) este un polinom
de grad k. S se arate c V1 = V2.
Rezolvare:
Demonstrm congruena prin dubla incluziune. Notm n = m + k.
V1 V2. Fie v(x) V1:
v(x) = q(x)g(x) = an-1xn-1 + ... + akxk + ak-1xk-1 + ... + a0
= xk(an-1xn-k-1 + ... + ak) + ak-1xk-1 + ... +a0

(4.8.1)

egal prin definiie cu xki(x) + r(x). Pentru ca v(x) V2 este suficient s artm c r(x) =
rest[xmi(x)/g(x)].
Aadar:
v(x) = xki(x) + r(x) = q(x)g(x) sau xki(x) = q(x)g(x) + r (x)

(4.8.2)

de unde:
rest (xki(x) g(x)) = rest (q(x)g(x)/g(x)) + rest(r(x)/g(x))
= r(x)
(grad r(x) < grad g)

(4.8.3)

V2 V1. Fie w(x) V2, sau:


w(x) = xki(x) + rest [ xki(x)/g(x)]

(4.8.4)

Aplicm teorema mpririi cu rest polinomului xki(x):


xki(x) = q(x)g(x) + r (x)

(4.8.5)

unde q este de grad cel mult k 1 (xki(x) de grad cel mult m + k 1). Aadar r(x) =
rest[xki(x) g(x)] de unde:
w(x) = q(x)g(x) + r (x) + rest[ xki(x) g(x)] = q(x)g(x) V1

(4.8.6)

4.9. Calculai funciile de transfer pentru circuitele din figur:


v[n]

w[n]

a) w[n] = v[n-1]

v[n]

w[n]

b) w[n] = v[n] + v[n-1]


47

v[n]

w[n]

c) w[n] + v[n] = w[n+1]

unde secvenele binare ale ieirii i intrrii s-au notat cu w[[n]], respectiv v[[n]], iar
blocul notat D reprezint un bloc de ntrziere cu un tact.
Rezolvare:
Deoarece secvenei v[n-1] i corespunde polinomul x-1v(x), dac secvenei v[n] i corespunde v(x)
(scurgerea timpului este marcat de scderea gradului polinoamelor) atunci ha(x) = w(x)/v(x) = x-1.
Definim operatorul Zb astfel:
Zb{v[n]}(x) = v(x)

(4.9.1)

Conform definiiei de mai sus:


Zb{v[n-1]}(x) = x-1Zb{v[n]}(x)

(4.9.2)

Aplicnd operatorul Zb (este uor de demonstrat liniaritatea sa) ecuaiilor:


w[n] = v[n] + v[n-1] i
w[n] + v[n] = w[n+1]

(4.9.3)

hb(x) = 1 + x-1 = (x + 1)/x i


hc(x) = 1/(x + 1)

(4.9.4)

gsim:

Obs.: Pentru calculul funciei de transfer al unui astfel de circuit se poate desena graful de stare,
calculndu-se apoi prin metodele cunoscute transmitana dorit. Cu remarca, ns, c trebuie
lucrat n cmpul binar. De exemplu pentru circuitul c) graful este :

x-1
v(x)

de unde hc(x) = w(x)/v(x) = 1/(1 + x).

w(x)
1

4.10. S se arate c circuitele din figur servesc la nmulirea, respectiv


mprirea polinoamelor corespunztoare intrrii cu g(x) = gkxk + gk-1xk-1 + ... +
g0 unde coeficienii g0, g1, ... gk-1 sunt egali cu 1, dac legturile exist fizic, sau 0,
dac nu exist.
C1
D

C2
D

g0

g1

v(x)=Ck

D
g2

Gk

i(x)
i(x)

C1
g0

C2

C
D

g1

gk-1

48

v(x)
gk = 1

Rezolvare:
Notm ieirile sumatoarelor cu C1(x), C2(x), ... Ck(x) i construim grafurile de stare:

g0x-1 c1 x-1
g1

g2

-1
C1 x

x-1 Ck-1 x-1

C2

g0

gk-1
x-1

C2

gk

-1
Ck x

g1

v = Ck

gk-1

C1(x) = (g1 + g0x-1)i(x) | x-k+1


C2(x) = x-1C1(x) + g2i(x) | x-k+2
............................................
Ck(x) = x-1Ck-1(x) + gki(x) | x0

C1(x) = i(x) + g0v(x)| x-k+1


C2(x) = x-1C1(x) + g1v(x) | x-k+2
...............................................
Ck(x) = x-1Ck-1(x) + gk-1v(x) | x0

Ck(x) = (gk + gk-1x-1 + ... + g1x-k+1 +


+g0x-k)i(x)
v(x) = x-ki(x)g(x)

Ck(x) = i(x)x-k+1 + v(x)(gk-1 +..+ g0x-k+1)


Ck(x)x-1 = v(x)
xv(x) = i(x)x-k+1 + x-k+1v(x)(xk + g(x))
g(x)v(x) = i(x) v(x) = i(x)/g(x)

Obs.: factorul x-k apare datorit cauzalitii (an-1xn-1 este cu k tacte, n timp naintea lui an-1xm-1).

4.11. Pentru codorul ciclic din figur, s se fac diagrama strilor celulelor RDR
i a ieirii v n funcie de intrarea i = 11011100100.
b

C4

C3

a
P2
v

C2

C1

+
P1

P1 (t)
t

i
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
P2 (t)

t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Rezolvare:
Soluia I: Ridicm diagrama urmrind, tact cu tact, semnalele binare, tiind c exist relaiile:
C1t+1 = C2t
C2t+1 = C3t
C3t+1 = C4t
t
t t
t t
t
t
v = a P2 + i P1
a = C1 + C2t

C4t+1 = bt
bt = vt + at

49

Indicele t semnific momentul de timp situat dup tactul t i naintea tactului t + 1. Considerm c
starea iniial a RDR este c10 = c20 = c30 = c40 = 0

tact
1
2

15

1
1
0
1
1
1
0
0
1
0
0
1
0
1
1

i
i
i
i
i
i
i
i
i
i
i
a
a
a
a
i11

a
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0

b
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
i11

C4
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0

C3
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0

C2
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0

C1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0

Sgeile sugereaz modul cum se calculeaz diferitele semnale. Cu i11 s-a notat primul bit din
urmtoarea secven de informaie ce va fi codat.
Soluia II: Calculm biii lui v (cei necunoscui) dup formula (4.10). Pentru aceasta mprim
polinomul:
xmi(x) = x14 + x13 + x11 + x10 + x9 + x6

(4.11.1)

la g(x), gsit dup legturile din RDR:


g(x) = x4 + x + 1

(4.11.2)

Restul este x3 + x + 1 i:
v(x) = x14 + x13 + x11 + x10 + x9 + x6 + x3 + x + 1

(4.11.3)

sau n binar:
v = 110111001001011
0
0
semnal ce concord cu cel din diagram. Cunoscnd T =
0

1
0
0
strile registrului plecnd de la starea iniial S0 = :
0

0
50

1
0
0
1

0
1
0
0

(4.11.4)
0
0

0
0
i U = putem calcula
0
1


0
1

0
0 0 0
0
0 0 0
S1 = TS 0 + a 14 U = S 2 = TS1 + a 13 U = + =
0
1 0 1


1
0 1 1
0
0 0
1
0 1
1
0 1
1
0 1
1
0 1
0
0 0
S3 = + 0 = S 4 = + 1 = S5 = + 1 =
1
0 1
0
0 0
0
0 0






0
1 0
1
1 0
0
1 1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
S6 = S7 = S8 = S9 = S10 = S11 = S12 =
1
0
0
1
0
0
1







0
0
1
0
0
1
0
1
0
0
0
0
1
S13 = S14 = S15 =
0
0
0



0
0
0
Regsim astfel strile din diagrama de mai sus.
Obs.: nmulirea unei coloane Sk cu T presupune sume de coloane din T indicate de biii egali cu 1
din Sk.

4.12. a) Ct este cuvntul de cod ciclic transmis n linie dac secvena la intrarea
codorului (construit cu RDR) este 1011? Se d g(x) = x3 + x2 + 1.
b) Secvena 1011 este codat cu circuitul din figur. Cuvntul de la ieirea
acestuia se decodeaz cu decodorul ciclic construit cu RDR (cu acelai g(x)).
Care este secvena oferit utilizatorului la ieirea decodorului?
i

D
v

c) Care este cuvntul corectat de sistemul de recepie (definit la punctul b)),


dac din linie a sosit cuvntul 1011101?
d) Care este bitul corectat dintr-un cuvnt emis ce a fost eronat n poziiile x4
i x2?
Rezolvare:
a) Dac codarea se face cu RDR, atunci cuvntul rezultat poate fi gsit cu formula (4.10). Aplicnd
procedeul din problema precedent gsim:
v1(x) = x6 + x4 + x3 + x2

(4.12.1)

v1 = 1011100

(4.12.2)

sau:

51

b) Calculnd funcia de transfer a circuitului dat gsim c:


v(x) = x-3i(x)g(x)

(4.12.3)

adic circuitul dat implementeaz procedeul de codare prin nmulire, relaia (4.9). Neglijnd
ntrzierea (x-3) gsim:
v2(x) = x6 + x5 + x4 + x3 + x2 + x + 1

(4.12.4)

v2 = 1111111

(4.12.5)

sau:

Pentru a gsi secvena cerut este suficient s selectm primii patru bii din v2, deoarece decodarea
amintit presupune cod sistematic. Deci:
ir = 1111

(4.12.6)

w(x) = x6 + x4 + x3 + x2 + 1

(4.12.7)

c) Avnd:

calculm rest[ w(x) /g(x)]:


x6 + x4 + x3 + x2 + 1
x6 + x5 + x3
x5 + x4 + x2 + 1
x5 + x4 + x2
1

x3 + x2 + 1
x3 + x2

Codul dat este corector de o eroare, deoarece 2m 1 = n cu m = 3, n = 7 i cum w(x) = v1(x) + 1


sigur bitul corectat de sistemul de recepie din w este a0, iar cuvntul corectat este:
v1 = 1011100

(4.12.8)

rest[ w(x) /g(x)] = rest[ v(x) /g(x)] + rest[ (x) /g(x)]


= rest[ (x) /g(x)]

(4.12.9)

d) Cum:

unde (x) este polinomul erorii (x) = w(x) + v(x), putem face decodarea pe baza lui (x),
identificnd restul mpririi lui (x) la g(x) cu unul din resturile de forma rest(x3/g(x)) unde
j{0, 1, 2, 3, 4, 5, 6}.Tabelul de mai jos se poate construi uor efectund o singur mprire:
j
0
1
2
3
4
5
6

rest(x3/g(x))
1
x
x2
1 + x2
1+ x + x2
1+ x
x + x2

x6: 1000000 1101 g(x)


1101
1110
(101)000
1101
(111)00
1101
(011)0
0000
(110)
52

O alt alternativ n construcia tabelului este: pentru a calcula pe xj folosim identitatea:


x3 = x2 + 1 modulo x3 + x2 + 1

(4.12.10)

De exemplu: x5 = x3x2 = x2(x2 + 1) = x4 + x2 = x(x2 + 1) + x2 = x3 + x2 + x = 1 + x. Construcia


tabelului se face uor secvenial.
Deoarece rest (x)/g(x) = restx4/g(x) + restx2/g(x) = 1 + x + x2 + x2 = 1 + x = restx5/g(x) rezult c
bitul corectat bitul 6 din w, corespunztor lui x5.

4.13. a) S se construiasc schemele de codare i decodare pentru un cod ciclic


detector de o eroare (g(x) = x + 1).
b) Ct sunt parametrii codului n, k i m?
c) Decodai cuvintele sosite la recepie v1 = 101101 i v2 = 111000. Ce decizie
ia n fiecare caz decodorul?
Rezolvare:
a) Schemele de codare i decodare sunt prezentate n figura de mai jos. Semnalul P valideaz poarta
I-NU imediat dup recepionarea ultimului bit w pentru a oferi la ieirea porii restul mpririi lui
w(x) la g(x) (un bit).
ir
a
i
w
D
D
1-cuvnt eronat
v
Circuit de codare
P
....

0-cuvnt corect

Circuit de decodare
n tacte
....

n-1 tacte

b) m = n k = 1 k poate fi ales orict (k 1).


c) Soluia I . Verificm dac v1(x) = x5 + x4 + x2 + 1 i v2(x) = x5 + x4 + x3 sunt cuvinte de cod:
v1(x) = x5 + x4 + x4 + x3 + x2 + x + x + 1 = (x + 1)(x4 + x3 + x + 1)
v2(x) = x5 + x4 + x3 + x2 + x2 + x + x + 1 + 1 = (x + 1)(x4 + x2 + x + 1) + 1

(4.13.1)

Cum restv1(x)/g(x) = 0 rezult v1 cuvnt corect recepionat. Decizia n acest caz este de a furniza
utilizatorului informaia 11011.
Restv2(x)/g(x) = 1 0.Decizia este cuvnt eronat, ce nu poate fi furnizat.
Soluia II. Notnd cu a semnalul de la ieirea sumatorului construim diagrama strilor :
v1
a
ir
v2
a
ir
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1

53

Biii din dreptunghi semnific :


0- cuvnt corect
1- cuvnt eronat
Pentru primul caz se furnizeaz informaia 11011.

8.14. S se arate c secvena 1110100 poate fi generat la ieirea unei celule a


circuitului RDR construit dup polinomul g(x) = x3 + x2 + 1.
Rezolvare :
Folosind relaia (4.11) i considernd intrarea egal cu 0, calculm succesiunea de stri pe o
perioad a oscilatorului binar construit cu RDR amintit. (Oscilatorul binar se obine dac form o
stare iniial nenul S0 0 i nu aplicm semnal de intrare). Fie de exemplu S0 = U. Rezult :
0 1 0
0

T = 0 0 1
U = 0
1 0 1
1
0
0
1

2
S 0 = U = 0
S1 = TU = 1
S 2 = T U = 1
1
1
1
1
1
0

3
4
5
S3 = T U = 1 S 4 = T U = 0 S5 = T U = 1
0
1
0
1
S6 = T U = 0
0
dup care ciclul se repet.
i=0
6

c3

c2

c1

Semnalele binare de la ieirile celor 3 celule sunt reprezentate n diagrama urmtoare.


c1
t
c2
t
c3
t
0 1 2 3 4 5 6 7 8 9
S0 S1 S2 S3 S4 S5 S6 S7 = S0

54

4.15. Fie cuvntul de cod ciclic v(x) = x6 + x4 + x3 + x2. Gsii polinomul


generator al coduluim g(x), tiind c v(x) are gradul maxim posibil i codul este
corector de o eroare.
Rezolvare:
Cum v(x) are gradul n 1 rezult n = 7 = 2m 1 (corecteaz o eroare). Trebuie gsit cuvntul de
cod care are gradul 3 (g(x) este cuvntul de cod). Acesta poate fi gsit prin combinaii liniare de
cuvinte de cod pe care le cunoatem. Cunoatem pe vn(x) = x6 + x5 + x4 + x3 + x2 + x + 1 i
permutrile lui v(x).
Gsim c x2v(x) x6 + x5 + x4 + x = v2(x) de unde v2(x) + vn(x) = x3 + x2 + 1 = g(x).

4.16. Se tie c pe baza polinomului g(x) = x4 + x3 + 1 se poate construi un cod


ciclic Hamming corector de o eroare.
a) S se specifice parametrii m, n, i k ai codului;
b) S se codeze secvena de informaie i = 10101110100 folosind relaia (4.11);
c) Se s verifice corectitudinea codrii (cuvntul de cod obinut este divizibil cu
g(x)).
Rezolvare:
a) g(x) are gradul 4 = m; n = 2m 1 = 15 k = 11.
b) Matricea caracteristic este:
0
0
T=
0

1
0
0
0

0
1
0
0

0
0
1

(4.16.1)

Relaia de codare (4.11) implic calculul matricilor de forma TjU, j = 1, n 1. Acestea rezult (vezi
problema (4.11)):
0
0
1
1
1
1
0
1
1
1
1
0
TU = T 2 U = T 3 U = T 4 U = T 5 U = T 6 U =
1
1
1
1
0
1




1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
7
8
9
10
11
12

T U=
T U=
T U=
T U=
T U=
T U=
0
1
1
0
0
1






0
1
0
1
1
0
0
1
0
1
0
0
T 13 U = T 14 U = T 15 U = = T 0 U = U
0
0
0



0
0
1

55

Relaia de codare este:


1 0 1 0 1 1 a 3 0 0 0
0 0 1 1 0 0 a a 0 0
0 = a jT j U = + + + + + + 3 + 2 + +
0 1 0 1 1 1 a 3 a 2 a 1 0
j= 0

0 0 0 0 1 0 a 3 a 2 a 1 a 0
14

(4.16.2)

Rezult a3 = 0, a2 = 0, a1 = 0, a0 = 0 i v = 101011101000001
c) Verificm dac v(x) = x14 + x12 + x10 + x9 + x8 + x6 + 1 se divide cu g(x) = x4 + x3 + 1:
x14 + x12 + x10 + x9 + x8 + x6 + 1
x4 + x3 + 1
x14 + x13 + x10
x10 + x9 + x4 + x3 + 1
13
12
9
8
6
x +x +x +x +x +1
x13 + x12 + x9
x8 + x6 + 1
x8 + x7 + x4
x7 + x6 + x4 + 1
x7 + x6 + x3
x4 + x3 + 1
x4 + x3 + 1
0
Deci g(x) divide v(x), aadar v(x) este cuvnt de cod.

4.17. Fie un cod ciclic Hamming corector de o eroare, construit pe baza


polinomului generator g(x) = x4 + x3 + 1 i w = 100101000011000 un cuvnt
recepionat. S se decodeze i s se precizeze secvena de informaie.
Rezolvare:
Decodarea const n verificarea corectitudinii cuvntului recepionat i dac este cazul, schimbarea
bitului eronat. Pentru aceasta se calculeaz corectorul:
1
0
n -1
Z = T r U = a i' T i U = T14 U + T 11 U + T 9 U + T 4 U + T 3 U = +
0
i=0

0
(4.17.1)
1 0 1 1 0
0 1 1 1 1
+ + + + =
0 1 1 1 1

1 0 0 1 0
Cum Z = T9U (vezi problema precedent) concluzia este: cuvnt eronat n poziia a zecea
corespunztoare lui x9. Cuvntul corectat i secvena de informaie decodat sunt:
vr = 100100000011000, ir = 10010000001
56

(4.17.2)

4.18. Osciloscopul sincronizat intern pe semnalul de la intrarea decodorului


ciclic (g(x) = x3 + x2 + 1) arat semnalul:

a) tiind c la emisie se transmite tot timpul acelai cuvnt i c fiecare este


eronat n aceeai poziie, determinai din secvena de mai sus bitul eronat.
b) Care ar fi cuvntul de cod transmis dac bitul eronat ar fi a4 ? Se cunoate
lungimea cuvintelor de cod n = 7.
Rezolvare :
a) tiind c orice permutare ciclic a unui cuvnt de cod ciclic este de asemenea cuvnt de cod,
lum 7 bii (o perioad) din secvena dat, considerm c formeaz cuvnt de cod eronat ntr-o
poziie i gsim poziia respectiv :
w = 1101100
Z = T 6 U + T5 U + T3U + T 2 U =
1 0 1 1 1
= 0 + 1 + 1 + 1 = 1 = T 2 U
0 0 0 1 1
(vezi problema 4.14). Eroare n w pe poziia x2. Semnalul corect este v = 1101000.
b) Ciclm cuvntul v gsit anterior pn cnd bitul marcat ajunge pe poziia a cincea. Cuvntul
cerut este v = 0100011.

4.19. Osciloscopul sincronizat intern pe semnalul C1(ieirea ultimei celule RDR


de la recepie) arat semnalul:

S se gseasc semnalul transmis i bitul eronat, tiind c se transmite periodic


acela cuvnt i fiecare sosete la recepie eronat n aceeai poziie. Se d g(x) =
x3 + x2 + 1, n = 7.
Rezolvare:
Se tie c semnalele C2 i C3 sunt replici defazate a lui C1. Aadar strile RDR-ului de la recepie
sunt prezentate n figur:
c1
t
c2
t
c3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
57

S-au reinut cte 14 tacte pentru c att dureaz recepionarea i analizarea (eventual corecia) unui
cuvnt.
Vom proceda pentru rezolvarea problemei astfel:
1
- considerm S1 = 1 i indentificm pas cu pas ce s-a introdus din exterior n RDR.
0
- eliminnd bitul provenit din resetarea registrului n momentul coreciei (tim c starea RDR n
0
1

acel moment este 0 urmat de 0 ) reinem apte bii din semnalul obinut care reprezint cel
0
0
puin o permutare a cuvntului recepionat (dac nu chiar cuvntul n cauz):
1
1
0 1

S1 = 1 S 2 = TS1 + a 1 U = 0 + a 1 0 = 0
1
1 1
0
0 1 0
0

a1 = 0, unde T = 0 0 1 i U = 0 .
1 0 1
1
Procednd analog gsim ntreg semnalul 00010000110001 (primul este a1). Momentul de corecie
1
(exist pentru c altfel suportul semnalului ar fi 7) este starea S 4 = 0 (S12 nu este urmat de
0
0
0 ). Eliminnd bitul 4 gsim semnalul v = 0110001 i starea Z, de la sfritul recepiei sale:

0
1
S1 = 1 = T r U deci r = 3. Aadar semnalul transmis este:
0

*
Bitul eronat este cel marcat.

4.20. a) Ct sunt parametrii n, k, i m pentru codul ciclic corector de o eroare i


detector de dou, cu g(x) = (x + 1)(x3 + x2 + 1);
b) Construii schemele de codare i decodare pentru codul dat;
c) Decodai cuvintele w1 = 10110111 i w2 = 10110110.
Rezolvare:
a) g(x) = x3 + x2 + 1 este un polinom primitiv i face corecia unei erori dac n = 2k 1 = 7. g0(x)
= 1 + x adaug un bit, prin codare, cuvntului de cod (face paritate) astfel c n = 8, k = 4 i m = 4.

58

b) Schemele cerute sunt date n figura de mai jos:

P2
v

P1
i

D
c

Decodor pentru
g(x) = x3 + x2 + 1
z
3
d

vr
a = 1 o eroare
corectabil
b = 1 2 erori
a=b=0
cuvnt corect

Semnalele P1 i P2 sunt complementare: patru tacte pe 1, patru pe zero, iar g(x) = x4 + x2 + x + 1.


c) Calculm resturile mpririi la x + 1:
w1(x) = (x6 + x5 + x3 + x2 +1)(x + 1) c1 = 0
w2(x) = (x6 + x5 + x3 + x2 +1)(x + 1) + 1 c2 = 1

(4.20.1)

Deoarece x6 + x5 + x3 + x2 +1 = x3(x3 + x2 +1) + x2 + 1 rezult eroare pe poziia x3 din cuvntul x6 +


x5 + x3 + x2 +1. Deci d1 = d2 = 1 iar a1 = 0, b1 = 1 i a2 = 1, b2 = 0.
Aadar n w1 exist dou erori iar n w2 una singur. Doar informaia provenit din w2 poate
fi oferit spre utilizare i2r = 1100.

4.21. S se arate c:
a) (V,+) este grup abelian; unde V reprezint mulimea cuvintelor unui cod
ciclic oarecare; iar + nsumarea modulo doi a cuvintelor codului.
b) V este spaiu vectorial peste corpul {M, +, }
Indicaie: se folosete proprietatea rest v(x)/g(x) = 0

4.22. S se gseasc circuitele care implementeaz urmtoarele ecuaii:


a) i[[n]] + i[[n-1]] + i[[n-3]] + v[[n]] = 0
b) i[[n]] + v[[n]] + v[[n-3]] + v[[n-4]] = 0
59

c) i[[n]] + i[[n-1]] + v[[n]] + v[[n-2]] = 0


unde i[[n]] reprezint secvena binar de intrare, iar v[[n]] cea de ieire.

4.23. Fie v1 = 1101001 un cuvnt de cod aparinnd unui cod ciclic. Este v2 =
1001110 un cuvnt aparinnd aceluia cod? Justificai rspunsul.
Rspuns: Da. v2 permutare ciclic a lui v1.

4.24. S se arate c circuitele din figur servesc la nmulirea respectiv


mprirea polinoamelor corespunztoare intrrii cu g(x) =gmxm + ... + g1x + g0,
gm = g0 = 1, gj {0, 1}}, j = 2, m 1.
i(x)

.......

gm

g0

gm-2
.......

gm-1

v(x)

a)
i(x)

D
gm

v(x)

.......

gm-2
.......

gm-1

g0

b)
Rspuns: a) v(x) = x-mi(x)g(x)

b) v(x) = i(x)/g(x)

4.25. Care bit va fi corectat de sistemul de recepie (decodor ciclic cu RDR) din
cuvntul recepionat dac g (x) = x3 + x2 + 1 (cod corector de o eroare) i (x) =
x3 + x + 1.
Rspuns: bitul 7.

4.26. Pentru codul ciclic corector de o eroare cu n = 31 s se determine g(x) dac


v = 0101111111111111111111111111011 este cuvnt de cod.
Rspuns: g(x) = x5 + x2 + 1.

4.27. O transmisie cu un cod ciclic corector de o eroare, cu g(x) = x3 + x + 1,


utilizeaz pentru emisie i recepie registre de deplasare cu reacie. Gsii
evoluia strilor RDR de la emisie ct timp codeaz secvena 1001 i a celui de la
recepie cat timp analizeaz i decodeaz cuvntul recepionat v = 1010101.
60

Coduri BCH

Cap.5 Coduri BCH


Dicionar:

- conjugat -1 unit, legat mpreun; 1- conjugatul unui element din Cmpul Galois GF(2q) este un element ,
aparinnd aceluiai cmp GF(2q), ce satisface relaia:
i
(5.1)
= 2
- ireductibil - 1 care nu mai poate fi redus; 2 polinom ireductibil - care nu poate fi scris ca i produs de alte
polinoame
- primitiv -(polinom primitiv) - polinom cu coeficieni n cmpul binar {0, 1}, ce este ireductibil i nu divide nici un
polinom de forma xj +1, pentru j 2q -1, unde q este gradul polinomului n cauz.
- sindrom - rezultatul verificrii cuvntului recepionat; conine date (informaie) despre poziia i numrul erorilor
din cuvntul recepionat. Are neles de "urm" a erorilor.

Definiii:

- polinom minimal (al unui element din GF(2q)) = polinom al crui rdcini sunt: respectivul element mpreun
cu toate elementele sale conjugate i numai acestea.
- locator (al erorii de pe poziia i din cuvntul recepionat) = elementul cmpului GF(2q), ce este puterea i a
elementului generator al cmpului:
Xi=i
(5.2)
- polinomul erorilor (x) = polinomul ale crui rdcini sunt locatorii erorilor:
e
(5.3)
( x ) =
x + Xi
i =1
- coef. sindroame:
Si = w i = i
i = 1, e c
(5.4)

( ) ( )

Notaii

p(x)
g(x)
i

- ordinul cmpului = gradul polinomului generator al cmpului:


q=grad p(x)
- polinomul generator al cmpului;
- polinomul generator al codului;
- coeficienii polinomului (x) dat de (9.30);
ec

E( j) = i ji = 1 - ecuaia de cutare

(5.5)

(5.7)

i =1

Abrevieri

GF(2q) - cmpul Galois (Galois Field) de ordin 2q ;


BCH - Bose-Chauduri-Hocqueghen.

Breviar teoretic:
1 Codarea codurilor BCH se face cu ajutorul relaiei:
v(x) = i(x)xk + rest [i(x)xk/g(x)]
2 Algoritmul decodrii:
- se calculeaz coeficienii sindromului, Si, cu relaia (5.4);
- se calculeaz coeficienii i;
- se afl poziiile eronate ji, i = 1, e ;
- se execut corecia;
- se selecteaz biii de informaie.

61

(5.7)

Coduri BCH

5.1. S se construiasc cmpul GF(23) ce are polinomul generator:


p(x)= x3 +x+1
Rezolvare:
Cmpul GF(2q) are 2q =n+1 elemente ce sunt clasele de resturi modulo p(x), obinute prin
mprirea polinoamelor cu coeficieni binari la p(x). Reprezentani ai acestor clase de resturi sunt,
bineneles, cele 2q polinoame de grad cel mult 2, cu coeficieni binari. Pe de alt parte, deoarece
p(x) este primitiv, el nu divide nici un polinom de forma xm+1 cu m<n, fapt ce face ca monoamele
j cu j<n s aparin la clase diferite (n caz contrar exist xi i xj cu i<n<j ce ambele dau acelai
rest la mprirea cu p(x); atunci xi=q1(x)p(x)+r(x), xj=q2(x)p(x)+r(x) i adunnd xi+xj=( q1(x)+
q2(x))p(x), adic p(x) divide pe xj-i +1; Contraindicaie!).
Obs.: Pentru a face distincie ntre un polinom oarecare i elementele cmpului Galois, care au
reprezentare polinomial, acestea vor fi de variabil .

Pentru a defini un cmp K (format din n+1= 2q elemente) este necesar a preciza operaiile de
nsumare respectiv nmulire pe K. Dac ne referim la GF(2k) atunci operaiile sunt adunarea i
nmulirea polinoamelor. Elementul sum a "dou clase de resturi" modulo p(x) este uor de gsit
dac cele dou clase de resturi sunt indicate prin resturile la p(x), n vreme ce elementul produs este
simplu de gsit dac cele dou clase de resturi sunt indicate prin monoame.
Rmne aadar de fcut corespondena ntre monoame i resturi. Aceast coresponden o
vom gsi prin (mai multe ci):
I. mprirea fiecrui monom de forma xj, cu j<n, la p(x). Vom scrie pentru cele 7 monoame de
grad mai mic dect n=7, plus polinomul nul, teorema mpririi cu rest.
Ecuaia mpririi
0=0(x3+x+1)+0
1=0(x3+x+1)+1
x=0(x3+x+1)+x
x2=0(x3+x+1)+x2
x3=1(x3+x+1)+x+1
x4=x(x3+x+1)+x2+x
x5=(x2+1)(x3+x+1)+x2+x+1
x6=(x3+x+1)(x3+x+1)+x2+1
x7=( x4+x2+x+1)(x3+x+1)+1

Elementele cmpului GF(23) sub forma:


Monom
Rest
Zecimal Matrice
0
0
0
000
1
1
1
001

2
010
2
2

3
100
3
+1
4
011
4
2

+
5
110
5
2++1
6
111
2+1
7
101
6
7

1
1
001
Tabelul 5.1

Se observ c 7 i 1 aparin aceleai clase de rest modulo x3+x+1.


II. mprirea n binar (modulo doi) a numrului 1, scris pe q+1 bii, la numrul
p q p q 1 K p1p 0 unde p j , j = 0, q sunt coeficieni binari ai lui p(x). Prin acest procedeu se obine

corespondena ntre reprezentarea zecimal i cea matricial a elementelor lui GF(23):

62

Coduri BCH

0
1
2
3
4
5
6
7
1

0001
1011
0000
00010
/ 0010
0000
/ 0100
0000
/ 1000
1011
/ 0110
0000
/ 1100
1011
/ 1110
1011
/ 1010
1011
/ 001

Figura 5.2
III. Identificarea secvenial a resturilor utiliznd identitatea modulo p():

q = p q 1 q 1 + p q 2 q 2 + K + p1 + p 0

(5.1.1)

Aa cum se poate vedea n tabelul 5.1, corespondena n primele q+1 clase de resturi este evident,
monoamele coincid cu resturile. Ca atare, problema corespondenei se pune doar de la gradul q
ctre n-1= 2q-2. nlocuind n (5.1.1) coeficienii lui p(x) gsim relaia:
3 = + 1

modulo 3 + + 1

(5.1.2)

care este de altfel "identificarea" clasei de resturi notat zecimal cu numrul 4.


nmulind ecuaia (5.1.2) cu rezult:
4 = 2 +

modulo 3 + + 1

(5.1.3)

relaie care identific clasa de resturi 5.


Pentru clasa de resturi 6 procedm la o nou nmulire cu , dup care utilizm identitatea (5.1.2):
5 = 3 + 2 = + 1 + 2 = 2 + + 1

modulo 3 + + 1

(5.1.4)

n fine, clasa de resturi 7 o vom obine n mod asemntor:


6 = 3 + 2 + = + 1 + 2 + = 2 + 1

modulo 3 + + 1

(5.1.5)

Evident c, aplicnd n continuare algoritmul, vom regsi clasa de resturi 1:


7 = 3 + = + 1 + = 1

(5.1.6)

63

Coduri BCH

5.2. Construii cmpurile Galois generate de polinoamele:


a) p1 (x ) = x 3 + x 2 + 1 ;
b) p 2 (x ) = x 4 + x + 1;
c) p 3 (x ) = x 4 + x 3 + 1 ;
Rspuns:

a)
Cmpul GF(23) generat de 3+2+1:
Zecimal
Monom
Rest
Matrice
0
0
0
000
1
1
1
001
2

010
3
2
2
100
4
3
2+1
101
5
4
2+ +1
111
6
5
+1
011
2+
110
7
6
Tabelul 5.3
b)

Cmpul GF(24) generat de 4++1:


Zecimal
Monom
Rest
0
0
0
1
1
1
2

2
3
2
4
3
3
4
5

+1
5
6

2+
6
7

3+2
8
7
3++1
8
9

2+1
9
10

3+
11
10
2++1
11
12

3+2 +
13
12
3+2 + +1
13
14

3+2 +1
15
14
3+1

64

Matrice
0000
0001
0010
0100
1000
0011
0110
1100
1011
0101
1010
0111
1110
1111
1101
1001
Tabelul 5.4

Coduri BCH

Cmpul GF(24) generat de 4+3+1:


Zecimal
Monom
Rest
0
0
0
1
1
1
2

2
3

2
3
4

3
5
4
3+1
5
3
6

+ +1
6
7

3+2 + +1
8
7
2 + +1
8
9

3+2 +
A
9
2 +1
10
B

3 +
C
11
3+2 +1
12
D

+1
13
E

2 +
14
F

3+2

Matrice
0000
0001
0010
0100
1000
1001
1011
1111
0111
1110
0101
1010
1101
0011
0110
1100
Tabelul 9.5

5.3 S se precizeze care dintre polinoamele p1(x)=x5+x+1, p2(x)=x5+x2+1,


p3(x)=x5+x2+1, este primitiv.
Rezolvare:
Un polinom p(x) de grad q este primitiv dac este ireductibil i are perioada maxim, adic
binomul divizibil cu p(x) are cel puin gradul n=2q-1.
Dac 2q-1 este numr prim este suficient ca p(x) s fie ireductibil, el neputnd avea perioad
sub valoarea n.
Cum toate polinoamele din enun au gradul q=5 i 25-1=31 = numr prim, este suficient de
verificat c sunt sau nu ireductibile. n acest scop trebuie s verificm dac se mpart cu
polinoamele ireductibile de grad cel mult doi. (Nu trebuie i trei fiindc dac s-ar mpri la un
polinom de grad trei atunci implicit ctul ar fi un polinom de grad doi).
Este uor de verificat c polinoamele ireductibile de grad cel mult doi (cu coeficieni n
cmpul binar) sunt: x, x+1 i x2+x+1. Ca un polinom p(x) s se mpart la x sau x+1 ar trebui s nu
aib termen liber, respectiv numr par de termeni. Cum nici unul dintre p1(x), p2(x) sau p3(x) nu
satisface vreuna din aceste condiii rmne de aflat dac se mpart la x2+x+1. Fcnd mprirea
rezult:

)(
) - nu este primitiv
2
p 2 (x ) = x + x + 1 = (x + x )(x + x + 1) + 1 - este primitiv
p 3 (x ) = x 5 + x 3 + 1 = (x 3 + x 2 + x )(x 2 + x + 1) + x + 1 - este primitiv
p1 (x ) = x 5 + x + 1 = x 3 + x 2 + 1 x 2 + x + 1
5

(5.3.1)

Obs.: Conform argumentrilor anterioare, pentru a afla dac un polinom oarecare de gradul 5 (cu
termen liber i numr impar de termeni) este ireductibil i implicit prim, este suficient de vzut
dac nu se mparte la x2+x+1.

65

Coduri BCH

5.4. S se afle care din polinoamele de gradul 4 sunt ireductibile i, dintre


acestea, care sunt primitive.
Rezolvare:
Polinoamele de gradul 4 cu coeficieni binari sunt:

Tabelul 9.6
1 x4
2 x4+1
3 x4+x
4 x4+x+1
5 x4+x2
6 x4+x2+1
7 x4+x2+x
8 x4+x2+x+1

9 x4+x3
10 x4+x3+1
11 x4+x3+x
12 x4+x3+x+1
13 x4+x3+x2
14 x4+x3+x2+1
15 x4+x3+x2+x
16 x4+x3+x2+x+1

Dintre acestea, cele care nu se mpart la x, x+1 i x2+x+1 sunt ireductibile (vezi rezolvarea
problemei 5.3.) Polinoamele ce nu se mpart cu x i nici cu x+1 sunt: 4, 6, 10 i 16. Efectund
mprirea cu x2+x+1 gsim:

)(

x4 + x +1= x2 + x x2 + x +1 +1

- este ireductibil

(
)
x 4 + x 3 + 1 = (x 2 + 1)(x 2 + x + 1) + x
x 4 + x 3 + x 2 + x + 1 = x 2 (x 2 + x + 1) + x + 1

2
x4 + x2 +1= x2 + x +1

- nu este ireductibil
- este ireductibil

- este ireductibil

Rmne de vzut care dintre polinoamele x4+x+1, x4+x3+1 i x4+x3+x2+x+1 este primitiv.
Dac nu este primitiv atunci exist un binom cu grad mai mic dect 15 care se divide cu respectivul
polinom. Dac p(x), un polinom ireductibil, divide un binom de forma xa+xa+q, cu 0<a<a+q<n,
atunci va divide i pe xq+1, sau altfel spus rest[xq/p(x)] =1.
Conform observaiei anterioare, polinomul primitiv nu genereaz rest egal cu 1 la mprirea
nici a unui monom pn la gradul n=15. Din tabelele 5.4 i 5.5 rezult c x4+x+1 i x4+x3+1 sunt
primitive.
Deoarece: x5+1= (x4+x3+x2+x+1)(x+1) rezult c cele dou polinoame (x4+x+1 i x4+x3+1)
sunt i singurele primitive de grad 4.

5.5. Care sunt polinoamele primitive de gradul 5?


Rspuns:

(
)(
)
3
2
2
x + x + 1 = (x + x + x )(x + x + 1) + x + 1
x 5 + x 3 + x 2 + x + 1 = (x 3 + x 2 + x + 1)(x 2 + x + 1) + x
x 5 + x 4 + x 2 + x + 1 = (x 3 + x )(x 2 + x + 1) + 1
x5 + x2 +1 = x3 + x2 x2 + x +1 +1
5

66

Coduri BCH

x5 + x4 + x3 + x +1 = x3 x2 + x +1 + x +1

)(

x5 + x 4 + x3 + x 2 +1 = x3 +1 x 2 + x + 1 + x
(vezi problema 5.3)

5.6. S se efectueze, n GF(23) generat de p(x)=x3+x+1, operaiile:


a) 3+
4;
b) (
+1)( 2+
+1);
2
c) (
+1):( +
+1).
Rezolvare:
a) Utiliznd reprezentarea polinomial pentru 3 i 4 gsim:

3 + 4 = + 1 + 2 + = 2 + 1 = 6

(5.6.1)

b) Pentru a efectua nmulirea rescriem termenii din paranteze sub form de monom:
+ 1 = 3
2 + + 1 = 5

( + 1)( 2 + + 1) = 8 = 7 = 1 =

(5.6.2)

c) n mod analog:

( + 1) : ( 2 + + 1) = 3 : 5 = (1 3 ): 5 = 10 : 5 = 5

(5.6.3)

5.7. S se efectueze operaiile de mai jos, n cmpurile GF(23), generat de


p1(x)=x3+x+1 i GF(24), generat de p2(x)=x4+x+1:
a) 78+
45+ 15+
+1;
30
14
b) (
+1)( +
8+ +1);
c) 1 : (
4+1);
Rspuns:
- pentru GF(23): a) 0; b) 0; c) 2;
- pentru GF(24): a) 7; b) 0; c) 14;

5.8. S se arate c pentru orice GF(2q):


a) n=1, cu n=2q -1;
(5.8.1)
b) este conjugatul conjugatului su;
c) S se afle conjugaii tuturor elementelor cmpului GF(23) generat de x3+x+1.
67

Coduri BCH

Rezolvare:
a) Fie elementul care genereaz GF(2q). Atunci exist k<n astfel nct:
= k

(5.8.2)

Pe de alt parte n=1 nct:

( )n = ( n )k = 1k = 1

n = k

(5.8.3)

i
b) Prin definiie conjugatul lui este un element de forma 2 .

Obs.: - evident c un element GF(2q) poate avea mai muli conjugai.


i
Conjugatul elementului 2 va fi de forma:

2j

i
= 2

Pentru a arta c este de forma (5.8.4) plecm de la relaia:

= 1 = n = n +1 = 2

(5.8.4)

(5.8.5)

Dac:
i = mq + r,

(5.8.6)

0r<q

alegem:
j0=q-r astfel c:
2i

2 j0

= 2

mq + r + q r

= 2

( m+1)q

(5.8.7)

Deoarece:
=

n +1

2q

q
= 2

2q

2 2q

q
= 2

2 2q

= 2

3q

= ...

rezult:
2 j0

2i
=
(5.8.8)

c) Graie proprietii demonstrate la punctul precedent, este suficient s aflm conjugaii doar pentru
elementele ce nu s-au regsit printre conjugaii altora deja aflai. Astfel:
- conjugatul lui 0 este el nsui;
- conjugatul lui 1 este deasemenea egal cu 1;
i

- conjugatul lui va avea forma 2 cu i=1,2,3,...


Pentru i=1 rezult un prim conjugat, 2. Pentru i=2 gsim pe 4. Lui i=3 i va corespunde 8=.
Aadar, conjugaii lui sunt 2 i 4. Evident conjugaii lui 2 vor fi i 4, iar ai lui 4 sunt i
2. Rmn de stabilit conjugaii pentru 3, 5 i 6.

( )2 = 6 , (3 )4 = 7 5 = 5 .

- conjugaii lui 3 sunt 3

( )8

Pentru 3 regsim valoarea 3 deoarece ( 3 ) = 24 = 21 3 .


Rezultatele obinute sunt reprezentate compact n tabelul urmtor:
8

68

Coduri BCH

Elementele conjugate n GF(23).


0
1
, 2 i 4
3, 5 i 6
Tabelul 5.7
Obs.: - deoarece n calculele anterioare nu a intervenit operaia de nsumare pe GF(23) rezult c
tabelul 5.7 este acelai i pentru GF(23) generat de p1(x)=x3+x+1 i pentru GF(23), generat de
p2(x)=x3+x2+1 (cele dou difer doar prin regula de adunare nu i prin cea de nmulire). Mai mult
acest lucru este valabil pentru orice GF(2q), indiferent de ordinul q.

5.9. S se afle elementele conjugate din GF(24) i din GF(25).


Rspuns:

Elementele conjugate n GF(24)


0
1
, 2, 4, 8, 16
3, 6, 12, 17, 24
5, 9, 10, 18, 20
7, 14, 19, 25, 28
11, 13, 21, 22, 26
15, 23, 27, 29, 30

Elementele conjugate n GF(24)


0
1
, 2, 4, 8
3, 6, 9, 12
5, 10
7, 11, 13, 14
Tabelul 5.8

Tabelul 5.9

5.10. S se afle polinomul minimal al elementelor conjugate din GF(23) generat


de x3+x+1.
Rezolvare:
Dac 1 , 2 , K k sunt elemente conjugate atunci polinomul minimal (acelai pentru toate k) este:
k

m (x ) = (x + i )

(5.10.1)

i =1

Polinomul minimal al elementului 0 este:


m0(x)=x+0=x
iar pentru elementul 1:
m1(x)=x+1
Polinomul minimal al elementelor conjugate , 2 i 4 este:
69

Coduri BCH

)(

m 3 (x ) = (x + ) x + 2 x + 4 =

) (

= x 3 + + 2 + 4 x 2 + 3 + 5 + 16 x + 7 =

(5.10.2)

= x3 + x + 1
iar pentru 3, 5 i 6:

)(

)(

m 4 (x ) = x + 3 x + 5 x + 6 =

) (

= x 3 + 3 + 5 + 6 x 2 + 8 + 9 + 11 x + 14 =

(5.10.3)

= x3 + x2 +1
Elementele conjugate din GF(23) Polinomul
generat de x3+x+1.
minimal
0
x
1
x+1
2
4
x3+x+1
, i
x3+x2+1
3, 5 i 6
Tabelul 5.10

Obs.: Rezultatele confirm faptul c m3(x)=x3+x+1 i m4(x)=x3+x2+1 sunt polinoame ireductibile


pe GF(2), ele avnd rdcini doar n GF(23). Aceast observaie este subliniat i de
concordandana ntre numrul (trei) de polinoame ireductibile de grad 4 gsite cu relaia (5.4.1) i
numrul (trei) de grupuri de 4 elemente din GF(24) conjugate prezentate n tabelul 5.8 (Idem pentru
gradul 5: 6 polinoame ireductibile - vezi problema 5.5. - i 6 grupe de cte 5 elemente conjugate n tabelul 5.9).

5.11. S se afle polinoamele minimale ale elementelor conjugate din GF(24)


generat de x4+x+1.
Rspuns:

Elementele conjugate din GF(24) Polinomul minimal


generat de x4+x+1.
0
x
1
x+1
4
2
4
8
x
+x+1
, , i
4
3
6
9
12
x +x3+x2+x+1
, , i
5
10
x2+x+1
i
x4+x3+1
7, 11, 13 i 14
Tabelul 5.11

70

Coduri BCH

5.12. a) S se afle polinomul generator g(x), cu coeficienii n GF(2), ce are


rdcini pe i 3, elementele primitive ale lui GF(23) generat de p(x)= x3+x+1.
b) Cu g(x) determinat la a) construii un cod BCH corector de erori. Aflai
pentru acest cod structura cuvntului de cod sistematic, parametrii codului n i
m, cuvintele de cod i numrul de erori corectabile, ec;
c) Construii relaiile pentru decodare i dai un exemplu de decodare.
Rezolvare:
a) Polinomul de grad minim cu coeficieni binari ce are rdcin pe este (din tabelul 5.10)
x3+x+1, n vreme ce x3+x2+1 este polinomul minimal pentru 3. Atunci:

)(

g (x ) = x 3 + x + 1 x 3 + x 2 + 1 = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1

(5.12.1)

b) Datorit necesitii ciclicitii cuvintelor de cod, acestea trebuie s fie clase de resturi modulo
(x7+1), adic s aib dimensiunea:
n=7

(5.12.2)

Pe de alt parte, dac v(x) este cuvnt de cod atunci:


v(x)=q(x)g(x)

(5.12.3)

apte coeficieni binari pentru v(x) nseamn c v(x) este de grad cel mult 6.
Cum i g(x) este de gradul 6, rezult c pentru ndeplinirea relaiei (9.3), q(x) este de grad 0 adic
q(x)=0 sau q(x)=1. Cu aceste observaii rezult:
- parametrii codului sunt:

n=7
m=1
k=n-m=6

(5.12.4)

- structura cuvntului de cod este:


(5.12.5)

v = i 6 c 5 c 4 c 3c 2 c1c 0
unde i6 - bitul de informaie;
c 5 c 4 c 3c 2 c1c 0 - biii de control
- relaia de codare este:
i x6
v(x ) = i 6 x 6 + rest 6
g (x )

(5.12.6)

unde:
v(x ) = i 6 x 6 + c 5 x 5 + c 4 x 4 + c 3 x 3 + c 2 x 2 + c1x +c 0

- cuvintele de cod sunt:

71

Coduri BCH

v0=0000000 i
v1=1111111

(5.12.7)

- distana de cod fiind:


d=7

(5.12.8)

rezult c numrul de erori corectabile este:


ec=3

(512.9)

Obs.: Deoarece numrul de cuvinte eroare cu cel mult trei erori este:
N 3 = C17 + C 72 + C 37 = 7 + 21 + 35 = 63

(5.12.10)

iar numrul de corectori ce se pot forma din ase (c0c5) bii (mai puin "corectorul" ce indic
recepie corect) este:
Nc=26-1=63

(5.12.11)

rezult c acest cod este perfect.

c) Fie w un cuvnt recepionat i cuvntul eroare. Atunci:


w(x)=v(x)+ (x)

(5.12.12)

unde (x) are cel mult trei (ec) termeni:


e

(x ) = x k i , k i {0,1,2,3,4,5,6}, e e c

(5.12.13)

i =1

n ultima relaie ki sunt poziiile erorilor, cele care trebuiesc determinate pe baza analizei lui w(x).
Elementele cmpului Galois GF(23) , mai puin 0 i 1, fiind rdcini a lui g(x), sunt i
rdcini pentru v(x) astfel c putem scrie:

( ) ( ) ( ) ( )

w j = v j + j = j =
e

= j k i , j = 1,6 k i {0,1,2,3,4,5,6}

(5.12.14)

i =1

Notnd locatorii erorilor:


Xi = k i ,

(5.12.15)

i = 1, e

relaia (5.12.14) se rescrie:

72

Coduri BCH

( )

S j = w j = X ij

j = 1,6 i = 1, e

(5.12.16)

i =1

Obs.: Evident c ceea ce dorim la decodare sunt valorile celor "e" locatori dai de (5.22.15).
Bineneles i "e" este necunoscut, dar este presupus mai mic dect ec =3. Aparent, relaia (5.12.16)
indic un sistem de de ase ecuaii cu cel mult trei necunoscute. n fapt nu este aa, deoarece dintre
cei ase coeficieni sindrom, Sj, doar trei sunt independeni. Acest fapt se datoreaz relaiei:
S2k =Sk2(17)

(5.12.17)

Care este o consecin a operaiilor de sumare n cmp binar.

Cu ajutorul locatorilor Xi se poate forma un polinom cu coeficieni n GF(23):


e

(x ) = (x + X i ) = x e + 1x e 1 + K + e
i =1

(5.12.18)

sau cu presupunerea c e=3:


(x ) = x 3 + 1x 2 + 2 x + 3 = (x + X1 )(x + X 2 )(x + X 3 )

Din condiia ca Xi s fie rdcin a lui (x) rezult sistemul de ecuaii:


X 3 + 1X12 + 2 X1 + 3 = 0
1
3
2
X 2 + 1X 2 + 2 X 2 + 3 = 0
3
2
X 3 + 1X 3 + 2 X 3 + 3 = 0

(5.12.19)

(5.12.20)

Dac nmulim cele trei ecuaii pe rnd cu Xi, X i2 i X 3i , i=1,2, i 3, i apoi summ, utiliznd
(5.12.16) gsim c:

S 4 + 1S3 + 2S 2 + 3S1 = 0

S5 + 1S 4 + 2S3 + 3S 2 = 0
S + S + S + S = 0
1 5
2 4
3 3
6

(5.12.21)

Sau, innd cont i de (5.12.17):


S
3
S14

S5

S12
S3

S14

S1 1 S14

S12 2 = S5


S3 3 S32

(5.12.22)

Sistemul de ecuaii de mai sus are soluiile:

73

Coduri BCH

1 = S1

2
3
2 = S1 S3 + S5 / S1 + S3

6
2
3 2
3
3
3 = S1 + S3 + S1S5 + S1 S3 / S1 + S3 = S1 + S3 + S1 2

(
(

)(

)(

(5.12.23)

Dac se cunosc coeficienii k, putem s cutm locatorii Xi din (5.12.20):


1X i1 + 2 X i2 + 3 X i3 = 1

(5.12.24)

tiind c sunt de forma (5.12.15). Ca atare prin ncercri succesive cu i=0,1,2,...6 cutm acei i
pentru care:
1 i + 2 2i + 3 3i = 1

sau:
11 ( i) + 2 2 ( i) + 3 3 ( i ) = 1

sau:
11 ( n i) + 2 2 ( n i) + 3 3( n i) = 1

sau:
11 j + 2 2 j + 3 3 j = 1

(5.12.25)

Acei j pentru care ecuaia (5.12.25) este ndeplinit dau poziiile erorilor.
Obs.: Dei, d.p.d.v. matematic, relaia de cutare putea s rmn n i, unde i indic direct poziia
erorii, relaia de cutare (5.12.25) n j poate fi implementat practic, poziia erorii n acest caz
fiind dat de n-j.

n continuare vom exemplifica algoritmul decodrii pentru cuvntul presupus recepionat:


W=0 1 0 0 1 0 0

(5.12.26)

Pasul 1 - se calculeaz coeficienii sindrom cu (5.12.25):


S1 = w ( ) = 5 + 2 = 3
S3 = 15 + 6 = + 6 = 5
S5 = 25 + 10 = 4 + 3 = 6

(5.12.27)

Pasul 2 - se calculeaz coeficienii cu relaia (5.12.23):


1 = 3

)(

2 = 65 + 6 / 9 + 5 = 3 / 3 = 1
2

3 = + + = 0

(5.12.28)

Pasul 3 - se caut acei j, 1 j 7 , pentru care este ndeplinit relaia:

74

Coduri BCH

E( j) = 3 + j + +2 j = 1

(5.12.29)

Cu j de la 0 la 6 avem:
E(1) = 4 + 2 =

E(2 ) = 5 + 4 = 1
6

poziia erorii este la 7-2=5

E(3) = + = 0

E(4 ) = 7 + 8 = 3
E(5) = 8 + 10 = 1

poziia erorii este la 7-5=2

E(6 ) = 9 + 12 = 3
E(7 ) = 3 + 1 =

(5.12.30)

Aadar poziiile erorilor sunt i=2 i i=5 iar cuvntul corectat va fi:
Pasul 4: - v=0 0 0 0 0 0 0

(5.12.31)

Din care bitul de informaie este:


Pasul 5: - i6=0

(5.12.32)

Obs.: - Este clar c un cod ce are dou cuvinte v1=0000000 i v2=1111111 nu are nevoie de un
algoritm aa de sofisticat pentru decodare. La recepie se hotrte uor ce cuvnt a fost emis dup
ponderea cuvntului recepionat w. Dac acesta este sub 4 atunci a fost emis v1 iar n caz contrar
v2 (evident n ipoteza c nu sunt mai mult de 3 erori). Scopul urmrit era ns aplicarea
algoritmului pentru un caz simplu.

Pentru cazul a trei erori alegem, spre exemplu, w=1101100.


Pasul 1 - S1 = 6

S3 = 6

S5 = 3 ;

Pasul 2 - 1 = 6

2 = 3

3 = 5 ;

Pasul 3 - E(1) = 2

E(2 ) = 6

E(3) = 1 E(4 ) = 4

E(5) = 4

E(6 ) = 1 E(7 ) = 1

Pasul 4 - v=1111111;
Pasul 5 - i6=1.

5.13. a) S se calculeze polinomul generator, g(x), al codului BCH avnd


parametrii n=15, t=2; (se consider cmpul GF(24) generat de x4+x+1)
b) Ct sunt, pentru codul precizat la punctul anterior, distana de cod d,
numrul de cuvinte de cod N, eficiena codului c?
c) S se codeze secvena de informaie i=binar(10110); (v)

75

Coduri BCH

d) S se scrie relaiile de decodare i s se decodeze w=binar(1000110);( iw)


Rspuns:

)(

a)

g(x ) = x 4 + x + 1 x 4 + x 3 + x 2 + x + 1 = x 8 + x 7 + x 6 + x 4 + 1 ; (vezi tabelul 5.11)

b)

d = 5; N = 2 7 = 128, c =

c)

i=1 1 0 0 1 0 1 v=1 1 0 0 1 0 1 1 0 1 0 1 0 1 1=626538;

7
= 46,67 % ;
15

d)
Pasul 1: S1 = w ( ) = 10

( )

S3 = w 3 = 0
Relaiile de mai sus implic calcule n GF(24) generat de x4+x+1 (tabelul 5.4).
Pasul 2:
10
S12 S1 1 S3

= 4 sau 1 = S1 =
S S 2 2 S1
2 = S3 + S13 / S1 = 5
1
3

Pasul 3: E( j) = 10 + j + 5 + 2 j
E(1) = 8

E(6 ) = 9

E(11) = 4

E(2 ) = 8

E(7 ) = 10

E(12 ) =

E(3) = 4

E(8) = 2

E(13) = 10

E(4 ) = 2

E(9 ) = 5

E(14 ) =

E(5) = 0
E(10 ) = 1
E(15) = 1
Pasul 4: v w = 010011100110000 = 23460 8

Pasul 5: i w = 0100111

5.14. a) S se calculeze polinomul generator, g(x), al codului BCH ce are


parametrii n=15, t=3. (Cmpul GF(24) este generat prin x4+x+1).
b) S se codeze secvena de informaia i=binar(1510); (v)
c) S se scrie relaiile de decodare i s se decodeze w=binar(1000110); (iw)
Rezolvare:
a) Polinomul generator g(x) se obine din produsul polinoamelor minimale ale elementelor , 3 i
5 din GF(24) prin x4+x3+1:

g(x ) = m1 (x ) m 3 (x ) m 5 (x )

(5.14.1)

unde:

76

Coduri BCH

)(

)(

m1 (x ) = (x + ) x + 2 x + 4 x + 8 = x 4 + + 2 + 4 + 8 x 3 +

+ 3 + 5 + 9 + 6 + 10 + 12 x12 + 7 + 11 + 13 + 14 x + 15

(5.14.2)

= x4 + x3 +1
m 3 (x ) = x + 3 x + 6 x + 12 x + 9 = x 4 + 3 + 6 + 9 + 12 x 3 +

)(

)(

)(

+ 9 + 12 + 15 + 15 + 18 + 21 x12 + 18 + 21 + 24 + 27 x + 30
= x4 + x3 + x 2 + x + 1

)(

m 5 (x ) = x + 5 x + 10 = x 2 + 5 + 10 x + 15 = x 2 + x + 1

(5.14.3)
(5.14.4)

(Calculele s-au efectuat pentru GF(24) generat de x4+x3+1 -Tabelul 5.5).


nlocuind n (5.14.1) gsim:

)(

)(

g (x ) = x 4 + x 3 + 1 x 4 + x 3 + x 2 + x + 1 x 2 + x + 1 =
= x10 + x 9 + x 8 + x 6 + x 5 + x 2 + 1

(5.14.5)

b) Parametrii codului n, k i m sunt:


n=15
k=10=grad g(x)
m=n-k=5

(5.14.6)

astfel c secvena de informaie este:


i=0 1 1 1 1

(5.14.7)

Relaia de codare este:


v(x ) = i(x ) x k + rest

i(x ) x k
g (x )

(5.14.8)

iar n cazul concret:


v(x ) = x13 + x12 + x11 + x10 + rest

x13 + x12 + x11 + x10


g (x )

(5.14.9)

Efectund mprirea lui x13 + x12 + x11 + x10 la g(x) gsim c:

x13 + x12 + x11 + x10 = x 3 + 1 g (x ) + x 6 + x 2

(5.14.10)

v(x ) = x13 + x12 + x11 + x10 + x 6 + x 2

(5.14.11)

v=0 1 1 1 1 0 0 0 1 0 0 0 1 0 0

(5.14.12)

astfel nct:

de unde:

77

Coduri BCH

c) Relaiile de decodare precum i rezultatele aferente decodrii cuvntului:


w=0 1 0 0 1 1 1 0 0 0 1 0 0 0 1
sau:
w (x ) = x13 + x10 + x 9 + x 8 + x 4 + 1

(5.14.13)

Sunt:
Pasul 1: - calculul coeficienilor sindrom.
S1 = w ( ) = 6

( )
S5 = w ( 5 ) = 1

S3 = w 3 = 0

(5.14.14)

Pasul 2: - calculul coeficienilor .


1 = S1 = 6
2 = S12 S3 + S5 / S13 + S3 = 12

)(

3 = S13 + S3 + S1 2 = 0

(5.14.15)

Pasul 3: - identificarea poziiilor eronate cu ecuaia:


E( j) = 6 + j + 12 + 2 j

(5.14.16)

E(1) = 5

E(6 ) = 13

E(11) = 11

E(2 ) = 6

E(7 ) = 5

E(12 ) = 7

E(3) = 11

E(8) = 10

E(13) = 7

E(4 ) = 1

E(9 ) = 0

E(14 ) = 1

E(5) = 10

E(10 ) = 13

E(15) = 14

(5.14.17)

Pasul 4: - corecia biilor eronai corespunztor poziiilor i 11:


vw=0 1 0 1 1 1 1 0 0 0 1 0 0 1 1

(5.14.18)

Pasul 5: - selecia biilor de informaie:


iw=0 1 0 1 1

(5.14.19)

5.15. Fie g(x) polinomul produs al polinoamelor minimale ale elementelor 1 i


din GF(23) generat de x3+x+1.
a) S se afle g(x) i s se arate c se poate construi, cu ajutorul su, un cod
corector de o eroare i detector de dou.
b) S se afle parametrii n, m i k ai codului generat de g(x), precum i eficiena
acestuia:
78

Coduri BCH

c) S se codeze i=110; (v)


d) S se descrie algoritmul decodrii i s se decodeze w=1000011; (iw)
Rezolvare:
a) Din tabelul 9.10 rezult c:

g(x ) = (x + 1) x 3 + x + 1 = x 4 + x 3 + x 2 + 1

(5.15.1)

Deoarece distana de cod este:


d=4

(5.15.2)

rezult c acest cod:


- poate corecta o eroare e c0 = 1 (d 2e c0 + 1)
- poate detecta trei erori ed 0 = 3 (d ed 0 + 1)
- poate corecta o eroare i detecta dou erori:
ec = 1

ed = 2

(e c + e d + 1 d )

(5.15.3)

Obs.: d este egal cu ponderea cuvntului de pondere minim, adic este egal cu numrul de
termeni ai lui g.

b) Parametrii cerui sunt:


- numrul de bii dintr-un cuvnt n=7 (este 2q-1 unde q=3, ordinul cmpului Galois)
- numrul de bii de control per cuvnt k=4 (este dat de gradul lui g(x))
- eficiena codului este:
c =

m 3
= = 42,86 %
n 7

(5.15.4)

c) Cuvntul de cod este:


v(x ) = i(x ) x k + rest

i (x ) x k
=
g (x )

= x 2 + x x 4 + rest

sau n binar:

x6 + x5
x 4 + x3 + x2 + 1

(5.15.5)

= x6 + x5 + x3 + 1
v=1 1 0 1 0 0 1

(5.15.6)

d) Codul, fiind corector de o eroare i detector de dou, va trata diferit cazurile unei erori i a dou
erori. Diferenierea ntre aceste dou cazuri este sesizat prin bitul sindrom S0 (de paritate):
S0=w(1)

(5.15.7)

79

Coduri BCH

Dac S0=1 exist o eroare ce va fi corectat, iar dac S0=0, fie nu exist erori, fie sunt dou.
Algoritmul decodrii este aadar:
Pasul 1: - se calculeaz biii de sindrom.
S0=w(1)=1+1+1=1
S1 = w ( ) = 6 + + 1 = 2 + = 4

(5.15.8)

Pasul 2: - dac S0= S1=0 atunci se trece la pasul 5;


- dac S0=0 i S10 atunci se semnaleaz prezena erorilor n numr necorectabil;
- dac S0=1 i S10 atunci exist o eroare ce se va corecta n paii urmtori.
Obs.: cazul S0=1 i S1=0 se va trata ca i S0=0 i S10;

n cazul de fa S0=1 i S1= 4


Pasul 3: - deoarece exist doar o eroare atunci putem scrie:
S1 = w ( ) = v( ) + ( ) = 0 + r

(5.15.9)

unde r este poziia erorii. Prin identificare gsim:


r=4

(5.15.10)

Pasul 4: - se execut corecia:


v=1 0 1 0 0 1 1

(5.15.11)

Pasul 5: - se face selecia biilor de informaie:


iw=101

(5.15.12)

80

Coduri RS
Cap.6 Coduri Reed-Solomon
Dicionar
-discrepan 1. nepotrivire (flagrant), dezacord; 2. n contextul lucrrii, dorind a calcula o expresie (polinomul
erorilor), aceasta se face secvenial, din aproape n aproape, adugnd (ajustnd) pas cu pas cte ceva expresiei
gsite la pasul precedent. Acest ceva poart denumirea de discrepan;

Definiii
-locator(ul erorii) un element al cmpului Galois, ce se identific la aceeai poziie n cmp cu cea corespunztoare
erorii n cuvntul recepionat. n sprijinul definiiei de mai sus din cmpul Galois s-a exclus elementul nul,
astfel c dimensiunile, cmpului fr elementul nul i cuvntului recepionat, coincid. n ambele cazuri
elementele sunt identificate prin exponeni (rangurile polinomiale n cazul cuvntului recepionat, iar pentru
cmpul Galois elementele se pot defini ca i puteri ale unui element, numit generator).
-valoarea erorii Spre deosebire de codurile binare, unde bitul transmis se regsea prin simpla negare a valorii logice
a celui recepionat, la codul RS diferena ntre caracterul emis, vr, i cel recepionat, wr:
Yr = vr + wr
(6.1)
adic eroarea (valoarea erorii), este un element al cmpului GF(2q).

Notaii
-m, k, n numrul de caractere de informaie, de control, respectiv total din cuvntul de cod RS;
-v, w, cuvintele emis, recepionat, respectiv eroare;
-v(x), w(x), (x) polinoamele ataate cuvintelor emis, recepionat, respectiv eroare;
-V(x), W(x), E(x) imaginile vectorilor v(x), w(x), (x), prin TFD;
-t numrul de erori corectabile de ctre codul RS respectiv;
-cod RS(n,m,t) cod Reed-Solomon avnd cuvinte de lungime n, m caractere de informaie per cuvnt, capabil s
corecteze t erori;
-Sj, j = 1
2t coeficienii sindrom;
-Xl, l = 1
t locatorul erorii l;
-Yl, l = 1
t valoarea erorii l;
-
(x) polinomul (locator al) erorilor. Nu ine seama de valorile erorilor, ci doar de poziiile lor:
(x) = xt + 1xt-1 + 2xt-2 + ... + t-1x + t
= (x + X1)(x + X2) ... (x + Xt-1) (x + Xt)
(6.2)

Abrevieri
-RS Reed-Solomon;
-TFD Transformata Fourier Discret;

Breviar teoretic
1. Codarea codului RS se face (asemeni celorlalte coduri ciclice) prin relaia:
v(x) = i(x)xk + rest(i(x)xk/g(x))
(6.3)
unde: v(x) = vn-1xn-1 + vn-2xn-2 + ... + v1x + v0 cuvntul de cod;
i(x) = vn-1xm-1 + vn-2xm-2 + ... + vkxk informaia;
g(x) = gkxk + gk-1xk-1 + ... + g1x + g0 polinomul generator;
2. Decodarea codului RS are urmtorul algoritm:
se calculeaz coeficienii sindromului dup relaia:
Sj = w(j), j =12t
(6.4)
n-1
n-2
unde: w(x) = wn-1x + wn-2x + ... + w1x + w0 cuvntul recepionat;
se calculeaz coeficienii j, j =12t, rezolvnd sistemul de ecuaii:
St+j-11 + St+j-22 + ... + Sjt = St+j cu j = 1t
(6.5)
se afl poziiile erorilor (calculnd locatorii erorilor) identificnd acei j = 1n care verific
egalitatea:
E(j) = 1j + 22j + ... + ttj = 1
(6.6)
Locatorii erorilor vor fi dai prin relaiile:

81

Coduri RS
Xj = j (cu j gsii prin ecuaia de cutare (6.6))
se calculeaz valorile erorilor, Yj, cu j = 1t, rezolvnd sistemul de ecuaii:

(6.7)

Si = Yk j X ik j cu i = 1, t

(6.8)

j=1

se execut corecia:
vj = wj + Yj cu j = 1t, dat de (6.6)
se selecteaz caracterele de informaie (primele m din w).

(6.9)

6.1. Pentru codul Reed-Solomon (7,5,1):


a) s se afle g(x) dac polinomul generator al cmpului este x3+x+1;
b) s se codeze cuvntul i = 42376;
c) s se decodeze w = 4737632;
Rezolvare:
a) Polinomul generator al codului g(x) este:
g(x) = (x+)(x+2) = x2 + 4x + 3

(6.1.1)

unde este un element al lui GF(23) generat de p(x) = x3 + x + 1.


b) Relaia de codare este:
i(x) x k
v(x) = i(x) x k + rest
g(x)

(6.1.2)

n care g(x) este dat de (6.1.1), iar i(x), conform ipotezei, este:
i(x) = 3x4 +x3 +2x2 + 6x + 5

(6.1.3)

Obs.: Att cuvntul de informaie ct i cel de cod sunt formate din caractere care, n cazul acestui
cod, sunt compuse din cte trei bii conform cu tabelul de mai jos (reprezentarea matricial):

Monom
0
1

2
3
4
5
6
7

Cmpul GF(23) generat de x3 + x + 1


Rest
Zecimal
0
0
1
1
2

2
3

4
+1
2
5
+
2
6
++1
2
7
+1
1
8

Matricial
000
001
010
100
011
110
111
101

001
Tabelul 6.1.
n continuare vor fi folosite, pentru scrierea caracterelor, att reprezentarea zecimal ct i
cea monom n .

82

Coduri RS
nlocuind (6.1.3) n (6.1.2) gsim c:
v(x) = 3x6 + x5 + 2x4 + 6x3 + 5x2 +2x +

(6.1.4)

Efectuarea mpririi lui i(x)x2 la g(x), n scopul aflrii restului, se poate face fie polinomial
urmrind reprezentrile monom-rest din tabelul 10.1. fie numeric urmrind reprezentrile zecimalmatricial din acelai tabel:
3x6 + x5 + 2x4 + 6x3 + 5x2
x2 + 4x + 3
3 6
5
6 4
x +x + x
3x4 + 3x3 + 5
/
3x5 + x4 + 6x3 + 5x2
3x5 + x4 + 6x3
/
/
/
5x2
5x2 + 2x +
/
2x +
n calculele de mai sus s-a folosit faptul c 7 = 1, iar pentru a nsuma monoame s-a apelat
la reprezentarea sub form de clase de resturi modulo x3+x+1. De exemplu:
3x4(x2 + 3x + 3 ) = 3x6 + 7x5 + 6x4 = 3x6 + x5 + 6x4
2x4 + 6x4 = (2 + 6)x4 = (2 + 2 + 1)x4 = x4
Ecuaia mpririi este:
i(x)x2 = (3x4 + 3x3 + 5)g(x) + 2x +

(6.1.5)

mprirea numeric are forma:


4 2 3 7 6 0 0
4 1 7
/ 4 1 7 6 0 0
4 1 7
/ / / 6 0 0
6 3 2
/ 3 2

1 5 4
4 4 0 0 6

iar ecuaia aferent este :


4237600 = (44006) (154) + 32

(10.1.6)

care este una i aceeai cu (6.1.5) ns ntr-o alt scriere.


Suma a dou elemente din GF(23) scrise zecimal se obine identificnd matricile corespunztoare,
fcnd suma lor bit cu bit (sau-exclusiv) i identificnd numrul zecimal corespunztor sumei :
3 + 7 = (100) + (101) = (001) = 1

GF(23)
binar
Produsul a dou elemente m i n din GF(23) este :

83

Coduri RS
m n = 0 dac m = 0 i/sau n = 0

GF(23) = m + n - 1 dac m + n - 1 7


zecimal
zecimal


= m + n - 8 dac m + n - 1 > 7
Spre exemplu 4 1 = 4 + 1 1 = 4, iar 4 5 = 4 + 5 8 = 1.
Obs.: Verificarea corectitudinii rezultatului v(x), dat de (10.1.4) se poate face, pentru mai mult
siguran, printr-o cale alternativ: - se verific dac v(x) are ca rdcini pe rdcinile lui g (x),
care sunt, prin prisma relaiei (10.1.1) i 2.
v() = 9 + 6 + 6 +9 + 7 + 3 + = 1 + 3 + = 0
v(2) = 15 + 11 + 10 + 12 + 9 + 4 + = +4 + 3 +5 + 2 + 4 + =
= 2( + 3 + 1) = 2 0= 0
(6.1.7)

Relaiile (6.1.7) certific c v (x) are ca rdcini pe i pe 2 deci este divizibil cu x+ i


cu x+2, deci cu g(x).
Obs.: Relaia (6.1.4) indic pe v (x) polinomul ataat cuvntului de cod v. Dac ne referim la v,
ca i o secven de caractere atunci:
v=4237632

(6.1.8)

iar dac ne referim la forma binar a lui (6.1.4) atunci prin identificare n tabelul 10.1.:

v = 001 010 100 101 111 100 010

(6.1.9)

adic un cuvnt de 7 3 = 21 de bii.

c) Codul Reed-Solomon fiind un cod ciclic, decodarea sa se bazeaz pe faptul c orice cuvnt de
cod este multiplul (ca i polinom) polinomului generator:
v(x) = q(x) g(x)

(6.1.10)

Altfel spus, dac w este un cuvnt recepionat corect, el verific relaia (6.1.10), iar dac prezint
erori (n numr ce nu depete puterea de corecie a codului) atunci nu verific (6.1.10).
Obs.: Orice cod, orict de performant ar fi, poate s greeasc dac erorile depesc puterea sa de
corecie dat de numrul de erori corectabile dintr-un cuvnt ec.

Pentru a verifica dac w = 4 7 3 7 6 3 2 este corect recepionat vom verifica dac polinomul
aferent:
w(x) = 3x6 + 6x5 + 2x4 + 6x3 + 5x2 +2x +
are rdcini pe i pe 2 (adic este multiplul lui g(x)):

84

(6.1.11)

Coduri RS
w() = 9 + 11 + 6 +9 + 7 + 3 + = 4 + 6 = 3 0
w(2) = 15 + 16 + 10 + 12 + 9 + 4 + = +2 + 3 +5 + 2 + 4 + =
= 3 + 5 + 4 = 0
(6.1.12)
Cele dou valori numite coeficieni sindrom:
S1 = w() = 3
S2 = w(2) =

(6.1.13)

Fiind diferite de zero atest prezena erorilor n w:


w(x) = v(x) + (x)

(6.1.14)

unde (x) este polinomul erorii. Vom face presupunerea c n w exist o singur eroare:
(x) = y xr, y GF(23), 0 r 6

(6.1.15)

Obs.: -O singur eroare se refer la un caracter eronat din cele 7, n fapt putnd exista, n
anumite condiii, trei erori n secvena binar w.
- Presupunerea c n w exist o singur eroare are justificare prin acceptarea ideii c,
pentru mai multe, oricum se greete, i atunci nu mai conteaz cum se greete.
- Prin ipotez, codul dat este corector de o eroare, dar se poate arta c are distana de
cod d = 3 deci ec = 1.

Pentru a putea corecta pe w trebuie s aflm (pe baza analizei lui S1 i S2) poziia erorii r
precum i diferena ,y , ntre valoarea corect a caracterului eronat vr i valoarea sa recepionat wr :
y = wr + vr

(6.1.16)

Din relaiile (6.1.7), (6.1.12) i (6.1.14) gsim c :


S1 = w() = v() + () = () = y r
S2 = w(2) = v(2) + (2) = () = y 2r

(6.1.17)

Obs.: Decodarea,din acest punct, se poate uor continua cu (6.1.13) i (6.1.17):


y r = 3 y r = 3
y r = 3
y 2r =
y 2r / y r = /3
r = 5
3 5
5
y = /
y=
w=4737632
r=5
r=5
=0600000
v = 4 (7+6) 3 7 6 3 2 v = 4 2 3 7 6 3 2
ns, n cele ce urmeaz se va exemplifica algoritmul folosit n practic, care poate fi generalizat i
implementat fizic.

Localizarea erorii se poate face i prin polinomul (x):


(x) = x + x1 = x + 1

(6.1.19)

unde x1 se numete locatorul erorii:

85

Coduri RS
x1 = r

(6.1.20)

Bineneles x1 este o rdcin a lui (x):


x1 + 1 = 0

(6.1.21)

nmulind (6.1.21) cu y1 x1, unde y1 = y rezult:


y1 x12 + 1 y1 x1 = 0

(6.1.22)

sau folosind relaia (6.1.17):


S2 + 1 S1 = 0

(6.1.23)

Aceast ultim relaie constituie pasul al doilea al algoritmului decodrii.


Pasul al treilea const n aflarea locatorilor printr-un proces de cutare. n cazul de fa exist un
singur locator, iar relaia de cutare este:
E(j) = 1 1j = 1

1jn=7

(6.1.24)

Pentru valori ale lui j de la 1 la 7 gsim:


E(1) = 5 = 6
E(2) = 5 2 = 1
E(3) = 5 3 =
E(4) = 5 4 = 2
E(5) = 5 5 = 3
E(6) = 5 6 = 4
E(7) = 5 7 = 5

exist eroare la poziia r = n 2 = 5

(6.1.25)

Locatorul erorii are aadar valoarea:


y1 = r = 5

(6.1.26)

n urmtorul, al patrulea pas algoritmic se afl diferena y1 (n cazul general ec diferene yi),
rezolvnd ecuaia (n cazul general un sistem de ec ecuaii cu ec necunoscute):
S1 = y1 x1

(6.1.27)

y1 = S1 / x1 = 3 / 5 = 5

(6.1.28)

cu soluia:

La pasul cinci are loc corecia:


v = w + = 4737632 + 0 y1 00000 = 4237632

poziie dat de x1 = 5

86

(6.1.29)

Coduri RS
n fine, pasul ase presupune selecia caracterelor de informaie
i = 42376

(6.1.30)

6.2. a) S se afle polinomul generator g(x) al codului RS (7, 3, 2), cunoscnd


polinomul generator al cmpului p(x) = x3 + x + 1;
b) S se codeze cuvntul de informaie i = 730;
c) S se decodeze cuvntul recepionat w = 0301113.
Rezolvare:
a) Polinomul generator al unui cod RS corector de dou erori este de forma:
g(x) = (x+)(x+2)(x+3)(x+4)

(6.2.1)

iar n cazul de fa:


g(x) = x4 + ( + 2 + 3 + 4)x3 + (3 + 4 + 5 + 5 + 6 + 7)x2 +
+ (6 + 7 + 8 + 9)x + 10 = x4 + 3x3 + x2 +x + 3

(6.2.2)

sau n scriere zecimal:


g = (1 4 1 2 4)

(6.2.3)

b) Relaia de codare este:


v(x ) = i(x ) x 4 + rest

i (x ) x 4
g (x )

(6.2.4)

iar polinomul de informaie este:


i(x) = 6x2 + 2x

(6.2.5)

mprirea polinomului i(x)x4 la g(x) este prezentat mai jos n form polinomial:
6x6 + 2x5
x4 + 3x3 + x2 + x + 3
6 6
2 5
6 4
3
2 2
x + x + x +x + x
6x2 + 6
/
/
6x4 + x3 + 2x2
6x4 + 2x3 + 6x2+ x + 2
/
6x3 + x2 + x + 2
sau numeric:
7 3 0 0
7 3 7 1
/ / 7 1
7 3
/ 7

0
3
3
7
1

0 0

1 4 1 2 4
7 0 7

0 0
1 3
1 3

87

Coduri RS
Astfel c ecuaiile mpririlor se vor scrie :
(6x2 + 2x)x4 = (6x2 + 6)g(x) + 6x3 + x2 + x + 6
7 3 0 0 0 0 0 = (707) (1 4 1 2 4) + 7 1 1 3

(6.2.6)

Cuvntul de cod va fi:


v(x) = 6x6 + 2x5 + 6x3 + x2 + x + 2 sau
v = 7 3 0 7 1 1 3 sau
v = 101 100 000 101 001 001 100

(6.2.7)

Pentru verificare:
v() = 12 + 7 + 9 +2 + + 2 = 5 + 1 + 2 + = 0
v(2) = 18 + 12 + 12 +4 + 2 + 2 = 4 + 4 = 0

(6.2.8)

c) Algoritmul decodrii cuvntului w(x) = 2x5 + x3 + x2 + x + 2 este:


Pasul 1 se calculeaz coeficienii sindromului:
S1 = w() = 7 + 3 +2 + + 2 = 0
S2 = w(2) = 12 +6 + 4 + 2 + 2 = 2
S3 = w(3) = 17 +9 + 6 + 3 + 2 = 6
S4 = w(4) = 22 +12 + 8 + 4 + 2 = 6

(6.2.9)

Pasul 2 se calculeaz coeficienii i.


Presupunnd c sunt (cel mult) dou erori la poziiile indicate de locatorii x1= = i1 i x2 =
i2
rezult:
2

Si = y k x ik cu i = 1,4

(6.2.10)

k =1

(x) = (x + x1)(x + x2) = x2 + 1x + 2

(6.2.11)

Locatorii x1 i x2 sunt rdcini a lui (x):


x12 + 1x1 + 2 = 0
x22 + 1x2 + 2 = 0

(6.2.12)

nmulind ecuaiile (6.2.12) pe rnd cu y1 x1 i y2 x2 i sumnd, apoi cu y1 x12 i y2 x22 i sumnd,


rezult:
S3 + 1S2 + 2S1 = 0
S4 + 1S3 + 2S2 = 0

(6.2.13)

Sistemul de ecuaii are soluiile:

1 =

S 2S3 + S1S 4
=4
S 22 + S1S3

88

Coduri RS
2 =

S 2S 4 + S32
=2
S 22 + S1S3

(6.2.14)

Pasul 3 se afl poziiile erorilor


Dac xj = j este locatorul unei erori, atunci conform cu (6.2.12):
1xj-1 + 2xj-2 = 1 sau 1-j + 2-2j = 1 sau
1n-j + 22(n-j) = 1
0 j n 1

(6.2.15)

nlocuind n (6.2.15) pe n-j cu j gsim ecuaia de cutare:


E(j) = 4 j + 2 2j = 1

1jn

(6.2.16)

Pentru j de la 1 la n = 7 rezult valorile:


E(1) = 5 + 4 = 1
E(2) = 6 + 6 = 0
E(3) = 7 + = 3
E(4) = + 3 = 1
E(5) = 2 + 5 = 3
E(6) = 3 + 7 =
E(7) = 4 + 2 =

eroare indicat de locatorul x1 = n-1 = 6


eroare indicat de locatorul x2 = n-4 = 3

(6.2.17)

Pasul 4 se afl diferenele yi ntre caracterele corecte i recepionate:


Din relaia (6.2.10) rezult, pentru i = 1 i i = 2:
S1 = y1 x1 + y2 x2
S2 = y1 x12 + y2 x22

(6.2.18)

sistem de dou ecuaii cu dou necunoscute; y1 i y2. Soluiile sistemului sunt:


S1 x 2 + S 2
=6
x 1 x 2 + x 12
S x + S2
y2 = 1 1
=2
2
x1x 2 + x 2
y1 =

(6.2.19)

Pasul 5 se corecteaz cuvntul recepionat:


vw = (0 + 7) 3 0 (1 + 3) 1 1 3 = 7 3 0 7 1 1 3

(6.2.20)

Pasul 6 se selecteaz caracterele de informaie:


iw = 7 3 0

(6.2.21)

89

Coduri RS
6.3.Pentru fiecare din codurile RS(15,13,1), RS(15,11,2) i RS(15,9,3) se cere:
a) s se calculeze polinoamele generatoare. Se cunoate polinomul generator al
cmpului GF(2q), p(x) = x4+x+1;
b) un exemplu de codare;
c) un exemplu de decodare.
Rezolvare:
a) Polinoamele generatoare cerute sunt:
g1(x) = (x + )(x + 2) = x2 + 5x + 3
g2(x) = g1(x)(x + 3)(x + 4) = x4 + 13x3 + 6x2 + 3x + 10
g1(x) = g2(x)(x + 5)(x + 6)
= x6 + 10x5 + 14x4 + 4x3 + 6 x2 + 9x + 6

(6.3.1)

b)Exemplificm codarea informaiei: i1=5 3 1 4 A 9 F 6 0 E E C E pentru codul RS(15,13,1):


5314A9F60EECE
164
5A8
5C43E83AD6871
/ CA4
C2F
/ 41A
497
/ 369
386
/ E5F
E42
/ 886
8DB
/ 310
386
/A6E
AFD
/D2E
D31
/ 67C
6B9
/88E
8DB
/3A0
386
/160
164
/04
Rezult cuvntul de cod:
v1=5 3 1 4 A 9 F 6 0 E E C E 0 4

(6.3.2)

Pentru codul RS(15,11,2) vom exemplifica codarea informaiei i2=7 6 4 8 C A 0 B 9 F 1 0 0 0 0:

90

Coduri RS
7648CA0B9F10000
75DA2
/ 9B17A
97FC4
/842 20
86EBB
/CD93B
CA3F7
/ 91 E89
97FC4
/E39EF
EC529
/ A6D71
A81D5
/EC520
EC529
/ / / / 9000

164
798C9EAE

rezultnd codul:
v2=7 6 4 8 C A 0 B 9 F 1 9 0 0 0

(6.3.3)

n fine, pentru codul RS(15,9,3) vom coda informaia i2=8 0 4 9 A 7 5 C 1:


8049A75C1000000
937CE2E
/338BCCC
3 D2 7 9 C 9
/8F88 081
837CE2E
EB9EF70
E9D3585
/2AFAB50
2C16 8B8
/3 47 7380
3 D279C9
/ BC01990
B6AF252
/4A4B620
4E38ADA
/B777 EA0
B6AF 252
/A69 DF2

1BF57A7

Cuvntul de cod este:


v3=8 0 4 9 A 7 5 C 1 A 6 9 D F 2

(6.3.4)

91

Coduri RS
n continuare se exemplific decodarea n cele trei cazuri:
I. RS(15,13,1) Cuvntul recepionat : w1=5 3 1 4 1 9 F 6 0 E E C E 0 4.
w 1 (x ) = 4 x14 + 2 x13 + x12 + 3 x11 + x10 + 8 x 9 + 14 x 8 + 5 x 7 +
+ 13 x 5 + 11x 3 + 13 x 2 + 3
S1 = w 1 ( ) = 3 + 1 + 12 + 14 + 10 + 2 + 7 + 12 + 3 + 2 + 14 + 1 + 3
= 2

( )

S 2 = w 1 2 = 2 + 13 + 9 + 10 + 5 + 11 + 1 + 4 + 8 + 6 + 2 + 2 + 3
= 12

1 = S 2 / S1 = 10
j1 = 1 j1 = 5 X1 = n j1 = 10
S2
4
Y1 = 1 =
= 7
12
S2

v1,10 = w1,10 + Y1 = 1 + 7 = 9 = A
Rezult:
v1=5 3 1 4 A 9 F 6 0 E E C E 0 4

(6.3.5)

II. RS(15,11,2) Cuvntul recepionat: w2=2 6 4 8 C A 0 5 9 F 1 9 0 0 0.


w 2 (x ) = x14 + 5 x13 + 3 x12 + 7 x11 + 11x10 + 9 x 9 + 4 x 7 + 8 x 6 +
+ 14 x 5 + x 4 + 8 x 3

S1 =13
S 2 = 3
S3 = 0

S 4 = 9
S S + S3S 2
1 = 1 4
=
S 22 + S1S3
S S + S32
2 = 2 4
= 6
2
S 2 + S1S3
E( ) = j +1 + 6 + 2 j = 1

j1 = 1

X1 = 14

j2 = 8

X 2 = 8

Y1 =
Y2 =

S1X 2 + S 2
5 + 3
11
=
=
= 11
2
6
13
1
X1X 2 + X1 +
S1X1 + S 2
X1X 2 + X 22

12 + 3
6

14

10

92

= 2

Coduri RS
v 2,14 = w 2,14 + Y1 = + 11 = 6 = 7
v 2,7 = w 2,7 + Y2 = 4 + 2 = 10 = B

Rezult:
v2=7 6 4 8 C A 0 B 9 F 1 9 0 0 0

(6.3.6)

III. RS(15,9,3) Cuvntul recepionat: w3=0 0 4 9 A C 5 C 1 A 6 9 4 F 2.


w 3 (x ) = 3 x12 + 8 x11 + 9 x10 + 11 x 9 + 4 x 8 + 11x 7 + x 6 + 9 x 5 +
+ 5 x 4 + 8 x 3 + 3 x 2 + 14 x +
S1 = w 3 ( ) = 2

( )
S3 = w 3 ( 3 ) = 6
S 4 = w 3 ( 4 ) = 7
S5 = w 3 ( 5 ) = 0
S 6 = w 3 ( 6 ) = 11
1
1 = (S32S 4 + S22S6 + S1S4S5 + S1S3S6 + S2S3S5 + S2S24 ) = 10

1
2 = (S 2S3S6 + S3S 24 + S1S52 + S 2S 4S5 + S1S 4S6 + S32S5 ) = 14

1
3 = (S32S6 + S34 + S 2 S52 + S 2S 4S5 ) = 10

S2 = w 3 2 = 6

= S33 + S1S 24 + S 22S5 + S1S3S5 = 9


E( j) = 1 j + 2 2 j + 3 3 j = j +10 + 2 j +14 + 3 j +10 = 1

j1 = 1

X1 = 15 j1 = 14

j2 = 6

X 2 = 15 j 2 = 9

j3 = 13

X 3 = 15 j3 = 2

S X X + X 2 S 2 + X 3S 3 + S 3
Y1 = 1 2 3
= 7 = 8
X1 (X1 + X 2 )(X1 + X 3 )
S X X + X1S 2 + X 3S3 + S3
Y2 = 1 1 3
==2
X1 (X1 + X 2 )(X 2 + X 3 )
S X X + X 2 S 2 + X1S3 + S3
Y3 = 1 1 2
= 10 = B
X 3 (X 2 + X 3 )(X 3 + X1 )
v 3,14 = w 3,14 + Y1 = 0 + 7 = 7 = 8

v 3,9 = w 3,7 + Y2 = C + 2 = 6 = 7
v 3,2 = w 3,2 + Y3 = 4 + B = 12 = D

93

Coduri RS
6.4. S se arate c suma tuturor elementelor din orice cmp Galois GF(2q) este
nul:
2q

=0

(6.4.1)

i =1

Rezolvare:
Dac ai este un element al lui GF(2q) atunci n scrierea matricial
ai = aiq-1 aiq-2 ..........ai1 ai0, aij {0,1}

(6.4.2)

Deoarece exist 2q elemente rezult c cele 2q reprezentri binare ale elementelor ai sunt
toate secvenele binare posibile ce se pot forma pe q bii. Dar, pentru fiecare rang de la 0 la q 1
ntre cele 2q secvene, jumtate au bitul rangului respectiv 0 iar jumtate, adic N = 2q-1, au bitul
rangului egal cu 1. n plus q > 1 c N este par.
Astfel spus, atunci cnd nsumm (modulo doi) cele 2q secvene, n fiecare rang vom nsuma
un numr par de 1-uri care modulo doi este zero. Rezult c suma este elementul 00.......00.

6.5. Fie v = vn vn-1 .....v1 un vector oarecare cu coeficienii vi din cmpul GF(2q), i
fie vectorul V = Vn Vn-1 .....V1 avnd coeficienii definii prin relaia (TFD):
n

Vk = v i ik

k = 1, n

(6.5.1)

i =1

S se demonstreze relaia de transformare invers:


vi =

1 n
Vk -ik
n k =1

i = 1, n

(6.5.2)

( este un element oarecare al lui GF(2q)).


Rezolvare:
nmulim relaiile (6.5.1) cu -jk, pe rnd , i nsumm dup k de la 1 la n:
n

i =1

k =1

( )

A = Vk - jk = v i (i- j)k = v i k
k =1

k =1 i =1

i- j

(6.5.3)

Dac i = j a doua sum din (6.5.3) este egal cu n. Dac i j atunci i-j este un element diferit de 1
din GF(2q), iar (i-j)k cu k de la 1 la n va genera toate elementele lui GF(2q) mai puin elementul nul.
Aadar pentru i j
n

(
( )
k

i- j)

= ak = 0

k =1

(6.5.4)

k =1

conform cu(6.4.1).
n concluzie:
n

i =1
i j

k =1

k =1

A = v i k (i- j) + v j 1 = nv j

(6.5.5)

1442443
0

94

Coduri RS
sau:

vj =

1
1 n
A = Vk - jk
n
n k =1

j = 1, n

(6.5.6)

Obs.: Datorit relaiei:


(6.5. 7)
-jk = -jk / 1 = -jk -nk = -(j+ n)k
rezult c se pot prelungi prin periodicitate secvenele v i V cu pstrarea relaiilor (6.5.1) i
(6.5.2).

6.6. S se arate c dac r este o rdcin a polinomului v(x) ataat cuvntului v


atunci componenta Vr a vectorului V obinut prin TFD a lui v este nul.
Rezolvare:
Polinomul v(x), ataat cuvntului v are forma:
n

v(x ) = v i x i1

, n = 2q 1

(6.6.1)

i =1

iar componentele lui V (TFD) se obin cu relaia:


n

Vk = v i ik

( )

, GF 2 q

(6.6.2)

i =1

nlocuind pe x cu r, rdcina lui v(x), n (6.6.1) rezult:

( )

i =1

i =1

0 = v r = v i (i-1)r = -r v i ir = -r V r

(6.6.3)

Obs.: Conform demonstraiei anterioare rezult c orice vector-Transformat Fourier Discret a


unui cuvnt de cod RS (la care,2, .....2t sunt rdcini a lui g(x)) are primele 2t componente nule.

6.7. Pentru codul RS(7, 3, 2) definit la problema 6.2 calculai cuvintele de cod v1
i v2 corespunztoare informaiilor i1 = 1 7 4 i i2 = 3 4 1 precum i vectorii TFD
corespunztori.
Rspuns:
v1 = 1 7 4 1 6 6 7
v2 = 3 4 1 1 5 4 5
V1 = 4 4 7 0 0 0 0
V2 = 3 6 7 0 0 0 0

95

Coduri RS
6.8. S se calculeze TFD pentru vectorii:
v1 = 1 1 1 1 1 1 1
v4 = 1 0 0 0 0 0 0
v2 = 0 0 0 0 0 0 1
v5 = 1 6 54 3 2
v3 = 6 54 3 2 1
peste cmpul GF(23) generat de x3 + x + 1.
Rezolvare:
n

v1 = 1 1 1 1 1 1 1 V1k = V1j jk =
j =1

( k )
n

j =1

0 daca k 7 = n
=
1 daca k = 7

V1 = 1 0 0 0 0 0 0 0
n

v2 = 0 0 0 0 0 0 1 V2k = V2j jk = k
j =1

V2 = 1 6 54 3 2
n

j =1

j =1

j =1

v3 = 6 54 3 2 1 V3k = V3j jk = j -1+jk = 1 ( k +1 )

0 daca k 6
v 3k = 6
daca k = 6
V3 = 0 6 0 0 0 0 0
7

v4 = 1 0 0 0 0 0 0 V4k = V4j jk = 7k = 1
j =1

V4 = 1 1 1 1 1 1 1
7

v5 = 1 6 54 3 2 V5k = V5j jk =
j =1

V5 = 0 1 0 0 0 0 0 0

96

0 daca k 6

jk + j = 1 daca k = 6
j =1

Coduri RS
Decodarea n frecven. Algoritmul Berlekamp-Massey
Descrierea teoretic a algoritmului decodrii
Ipoteze:

- cmpul GF(23) generat prin p(x) = x3 + x + 1


- codul RS (7, 3, 2)
- polinomul generator dintre:
A. gA(x) = (x + 1)(x + )(x + 2)(x + 3) =
= x4 + 2x3 + 5x2 + 5x + 6 = (1 3 6 6 7)
B. gB(x) = (x + )(x + 2)(x + 3)(x + 4) =
= x4 + 3x3 + x2 + x + 3 = (1 4 1 2 4)
- cuvntul emis v(x) = 0
- cuvntul eroare (x) = 4x3 + 2x =
n -1

= i x i = (0 0 0 5 0 3 0)

(1)

(2)
(3)
(4)
(5)

i =0

- cuvntul recepionat w(x) = v(x) + (x) = (x)

(6)

TFD
Teorie: - Transformata Fourier Discret i
E k
n -1

( )

E k = i ik = k
i =0
n -1

k = 0, n - 1

1
E k -ik = E -i
i = 0, n - 1

n k =0
- polinomul erorii (x) = (xXi1 + 1) (xXi2 + 1) =
= 1 + 1x + 2x2
- locatorii erorilor Xi1, Xi2:
(Xi1-1) = 0 = (Xi2-1) Xi1 = i1, Xi2 = i2
- ecuaia erorilor: (x)E(x) = (x)(xk + 1)
datorit gradelor polinoamelor: (x) = ax + b

i =

( )

(7)
(8)
(9)
(10)
(11)
(12)

Obs: (11) se datoreaz: -j, cu j = i1, i2, e rdcin a lui (x), ec. (10)
-j, cu j i1, i2, e rdcin a lui E(x), ec. (8)(ej 0 doar pentru j = i1 i i2)

Soluionarea problemei:
- se identific coeficienii ecuaiei (11):
x0
E0 = b
1
x
E1 + 1E0 = a
x2
E2 + 1E1 + 2E0 = 0
x3
E3 + 1E2 + 2E1 = 0
x4
E4 + 1E3 + 2E2 = 0
x5
E5 + 1E4 + 2E3 = 0
x6
E6 + 1E5 + 2E4 = 0
x7
1E6 + 2E5 = b
8
x
2E6 = a

97

(13)

Coduri RS
- se afl coeficienii sindromului:
0
4
2
S 0 = w = + =
S = w 1 = 7 + 3 =
1

A S 2 = w 2 = 3 + 4 = 6 B.

S3 = w 3 = 6 + 5 =
S 4 = w 4 = 2 + 6 = 1
E 0 = S 0 =

= E1
E 1 = S1 =
6 = E

A E 2 = S2 =
2 B.

=
E
E 3 = S3 =
3
S 4 = 1 = E 4
- se afl coeficienii 1 i 2 din ec. (13)

x2
E2 + 1E1 + 2E0 = 0
3
x
E3 + 1E2 + 2E1 = 0 B
A
x4
E4 + 1E3 + 2E2 = 0
E 1E 2 + E 0 E 3
E 2 E 3 + E1E 4

1 = E 2 + E E = 1
1 = E 2 + E E = 1

1
0 2
2
1 3
A.
B.
2
2
= E 1 E 3 + E 2 = 4
= E 2 E 4 + E 3 = 4
2
2

E 12 + E 0 E 2
E 22 + E 1 E 3
- se afl poziiile eronate:
(x) = 4x2 + x + 1
cu metoda descompunerii n factori a lui (x):
(x) = 4x2 + (3 + )x + 1 = 3(x + 1)x + x + 1 =
= (3x + 1)(x + 1)
xi1-1 = 4 xi1 = 3 i1 = 3
xi2-1 = 6 xi2 = i2 = 1
cu metoda cutrii:
(0) = 4 + 1 + 1 = 4 0
() = 6 + + 1 = 4 0
(2) = + 2 + 1 = 5 0
(3) = 3 + 3 + 1 = 1 0
(4) = 5 + 4 + 1 = 0 poziie eronat i1 = 7 4 = 3
(5) = 1 + 5 + 1 = 5 0
(6) = 2 + 6 + 1 = 0 poziie eronat i2 = 7 6 = 1
- se afl valoarea caracterelor eronate v3 i v1.
Se calculeaz polinomul (x):
A.
b = E0 =
a = E1 + 1E0 = + = 0 (x) =
B.
b = E0 =1/2(E2 + 1E1) = (6 + )/4 =
a = E1 + 1E0 = E1 + 1b = 0 (x) =
Se deriveaz formal polinomul (x) = (3x + 1)(x + 1):
(x) = 3(x + 1) + (3x + 1) = 3 + = 1

(
(
(
(
(

)
)
)
)
)

98

(14)

(15)

(16)

(17)
(18)

(19)

(20)
(21)
(22)

Coduri RS
Se calculeaz coeficienii cuvntului eroare cu formula:
i -i
pentru i = i1 i i = i2
i =
' -i

( )
( )

(23)

Obs.: formula (23) se afl derivnd formal (11) i innd cont de (8) i de faptul c
( -i1) = 0 = ( -i2):
(x)E(x) + (x)E(x) = (x)(xn + 1) + nxn-1(x)
cu x = -i, i = i1 sau i = i2 ( -i) = 0 = ( -i)n + 1
iar (24)devine:
(-i)E(-i) = n-nii (-i)
de unde rezult (23).

3 = 3 /1= 4
1 = /1= 2

v3 = w3 + 3 = 4 + 4 = 0
v1 = w1 + 1 = 2 + 2 = 0

Algoritmul Berlekamp-Massey aplicaie


Cazul A :
g(x) = gA(x)
- se calculeaz coeficienii sindrom:
E0 = S0 =
E1 = S1 =
E2 = S2 = 6
E3 = S3 =
- se afl (x) i (x) prin aplicarea algoritmului B-M:
iniializare r = 0
(0)(x) = 1
(0)(x) = 0
L0 = 0
(0)
B (x) = 1
A(0)(x) = x-1
pasul r = 1
- se calculeaz discrepana:
E(x) :
E0 = E1 = E2 = 6 E3 =
(0)
0
0
(x) = 1:
2 = 0 1 = 0 00 = 1
= 1 E0 = 0
- se calculeaz coef.
1 dac 1 0 i 2L0 0 = r - 1
1
0 n rest
1 = 1
-se calculeaz matricea D1:
1 x 1 E 0 x 1 x
1
D1 = 1
=
=
(1 1 )x E 0-1 0 6 0
1

-se calculeaz (x) i B(x):


0 (x ) 1 + E 0 x 1 + x
' (x )
=
D
=
1 0
= 6
B' (x )
-1

B (x ) E 0
-se calculeaz (x) i A(x):
0 (x ) E 0
' (x )
=
D
= =
1 0
A' (x )

A (x ) 0 0
-se calculeaz coeficientul L1:
L1 = max(L0, r L0) = max(0, 1) = 1

99

(24)

Coduri RS
pasul r = 2
- se calculeaz discrepana:
E(x):
E0 = E1 = E2 = 6
(x) = 1 + x = 1 + E0x: 2 = 0 1 = 0 = 1
2 = 0E1 + 1E0 = E1 + E02 = + 2 = 4 0

- se calculeaz coef.

E3 =

1 dac 2 0 i 2L1 1
2
0 n rest

2 = 0
-se calculeaz matricea D2:
2 x 1
1
D2 =
=
1
2 2 (1 2 )x 0

(E

+ E 02
x

)x = 1

4 x

-se calculeaz (2)(x) i B(2)(x):


(2 ) (x )
(1) (x ) 1 + E -10E 1 x 1 + x
=
D
= 6
(2 )
=
2 (1)
-1
B (x )
B (x ) E 0 x x
-se calculeaz (2)(x) i A(2)(x):
( 2 ) (x )
(1) (x ) E 0
=
D
= =
(2 )
2 (1)
A (x )
B (x ) 0 0
-se calculeaz coeficientul L2:
L2 = max(L1, r L1) = max(1, 1) = 1
pasul r = 3
- se calculeaz discrepana:
E(x) :
E0 = E1 =
E2 = 6
E3 =
(2)(x) = 1 + x = 1 + E0-1E1x:
2(2) = 0 1(2) = E0-1E1 = 1 0(2) = 1
3 = 2(2)E0 + 1(2)E1 + 0(2)E2 = E2 + E0-1E12 = 6 + = 5 0
- se calculeaz coef.
1 dac 3 0 i 2L2 = 2 r 1 = 2
3
0 n rest
3 = 1
-se calculeaz matricea D3:
3x
1
E 2 + E -10E 12 x 1 5 x
1
D3 =
=
= 2


1
-1 2 1
0
0
3 3 (1 3 )x E 2 + E 0 E 1

-se calculeaz (3)(x) i B(3)(x):
1 + E -10E 1 x 1 + E -10E 1 x + E -10 E 2 + E -10E12 x 2
(3) (x )
=
D
=
=
(3 )
3
-1
-1
-1 2 1
E
x
1
+
E
E
x
E
+
E
E
0
B (x )
0
1
2
0
1

1 + x + 4 x 2
= 2

2
+ x
-se calculeaz (3)(x) i A(3)(x):
E0
(3 ) (x )
E 0
(3 ) = D 3 =
-1 2
0 E 0 E 2 + E 0 E 1
B (x )
-se calculeaz coeficientul L3:
L3 = max(L2, 3 L2) = max(1, 2) = 2

100

)(


= 3

Coduri RS
pasul r = 4
- se calculeaz discrepana:
E(x): E0 =
E1 =
E2 = 6
E3 =
(3)
-1
-2
2 2
4 2
(x) = 1 + E0 E1x + E0 (E0E2 + E1 )x = 1 + x + x :
2(3) = E0-2(E0E2 + E12)
1(3) = E0-1E1
0(3) = 1
-1
-1
-2 3
-2 3
4 = E3 + E0 E1E2 + E0 E1E2 + E0 E1 = E3 + E0 E1 = 0
- se calculeaz coef. 4 = 0
- se calculeaz matricea D4:
1 E 3 + E -20 E13 x
D4 =

x
0

(4)
(4)
-se calculeaz (x) i B (x):
1 + E -10E 1 x + E -20 E 0 E 2 + E12 x 2
(4 ) (x )
=
(4 ) = D 4
2 1
-1
B (x )
E 0 E 0 E 2 + E1 1 + E 0 E1x
E1E 2 + E 0 E 3
E 22 + E 1 E 3 2
1
+
x
+
x

2
2
1 + x + 4 x 2
E
E
+
E
E
E
+
E
0
2
1
0
2
1
=
=

E0
E1

2 x + 2 x 2
2
x
+
x
E E + E2

E 0 E 2 + E 12
0 2
1

(
) (

-se calculeaz (4)(x) i A(4)(x):

E 02 E 3 + E13
E
+
x
E

0
0
2

( 4 ) (x )
E
E
+
E
2

0
2
1
= 3
E0
=
(4 ) = D
2

E0

2
A (x )
x
E 0 E 2 + E1
2
E 0 E 2 + E1

Polinoamele (x) i (x) sunt:


E E + E0E3
E 22 + E 1 E 3 2
(x ) = 4 (x ) = 1 + 1 2
x
+
x = 1+ x + 4x2
E 0 E 2 + E12
E 0 E 2 + E 13
E 02 E 3 + E 13
x =
E 0 E 2 + E 13
- se afl poziiile eronate ij prin metoda de cutare:
(-i) = 0 i = 0, n-1
rezult (vezi ec. (19)): i1 = 3 i i2 = 1
- se afl valorile caracterelor eronate: v3 i v1.
- derivata formal a polinomului (x) este (vezi (22)):
(x) = 1
- coef. cuvntului eroare sunt (vezi (23) i (24)):
3 = 4
1 = 2
- valorile caracterelor eronate sunt:
v3 = w3 + 3 = 0
v1 = w1 + 1 = 0
- se selecteaz caracterele de informaie:
- cuvntul de cod este v = 0 0 0 0 0 0 0
- cuvntul de informaie este i = 0 0 0
(x ) = 4 (x ) = E 0 +

101

Coduri RS
Cazul B
g(x) = gB(x)
- se calculeaz coeficienii sindrom:
E1 = S1 =
E2 = S2 = 6
E3 = S3 =
E4 = S4 = 1
- se afl (x) i (x) prin aplicarea algoritmului B-M:
iniializare r = 0 (0)(x) = 1 (0)(x) = 0
L0 = 0
(0)
(0)
B (x) = 1
A (x) = 1
pasul r = 1
- se calculeaz discrepana:
E(x):
E1 = E2 = 6
(0)(x) = 1: 2(0) = 0 1(0) = 0 0(0) = 1
1 = E10(0) = 0
- se calculeaz coef.
1 dac 1 0 i 2L0 0 = r - 1
1
0 n rest
1 = 1
-se calculeaz matricea D1:
x 1 E 1 x 1 x
1
D1 = 1
=
=
(1 1 )x E1-1 0 6 0
1

E3 =

E4 = 1

-se calculeaz (1)(x) i B(1)(x):


(1) (x )
1 1 + E 1 x 1 + x
(1) = D1 = -1 = 6
1 E1
B (x )
-se calculeaz (1)(x) i A(1)(x):
(1) (x )
0 E1 x x
(1) = D1 =
=
1 0 0
A (x )
-se calculeaz coeficientul L1:
L1 = max(L0, r L0) = max(0, 1) = 1
pasul r = 2
- se calculeaz discrepana 2:
E(x):
E1 =
E2 = 6 E3 =
(1)
(1)
(1)
(x) = 1 + E1x : 2 = 0 1 = E1 0(1) = 1
2 = E11(2) + E20(2) = E12 + E2 = 1 0
- se calculeaz coef.
1 dac 2 0 i 2L1 r 1 = 1
2
0 n rest
2 = 0
-se calculeaz matricea D2:
2 x 1 E 12 + E 2 x 1 x
1
D2 =
=
=

1
x
2 2 (1 2 )x 0
0 x

-se calculeaz (2)(x) i B(2)(x):


(2 ) (x )
1 + E 1 x 1 + E 1-1E 2 x 1 + 5 x
=
D
(2 )
= 6
2
=
-1
-1
E 1 E1 x x
B (x )

102

E4 = 1

Coduri RS
-se calculeaz (2)(x) i A(2)(x):
( 2 ) (x )
E 1 x x
(2 ) = D 2
=
0 0
A (x )
-se calculeaz coeficientul L2:
L2 = max(L1, r L1) = max(1, 1) = 1
pasul r = 3
- se calculeaz discrepana 3:
E(x):
E1 =
E2 = 6
(2)(x) = 1 + E1-1E2x: 2(2) = 0
1(2) = E1-1E2 = 1
-1 2
2
3 = E3 + E1 E2 = 0
1 dac 3 0 i 2L2 r 1 = 2
- se calculeaz coef.
3
0 n rest
3 = 1
-se calculeaz matricea D3:
3x
1
E 3 + E 1-1E 22
1
D3 =
=

1
-1 2 1
0
3 3 (1 3 )x E 3 + E 1 E 2

E3 =
0(2) = 1

)x = 1

E4 = 1

2 x

-se calculeaz (3)(x) i B(3)(x):

1 + E1-1E 2 x 1 + E 1-1E 2 x + E 1-1 E 3 + E 1-1E 22 x 2


(3) (x )
=
=
(3 ) = D 3
-1
-1 2 1
-1
-1 2 1
B (x )
E 1 x E 3 + E1 E 2 + E 1 E 2 E 3 + E 1 E 2 x

1 + 5 x + x 2
=

5
3
+ x
-se calculeaz (3)(x) i A(3)(x):
E1 x
( 3 ) (x )
E 1 x
x
E 12 x = 6
=
(3 ) = D 3

0 E E + E 2 x
A (x )
2
3 1
-se calculeaz coeficientul L3:
L3 = max(L2, r L2) = max(1, 2) = 2
pasul r = 4
- se calculeaz discrepana 4:
E(x): E1 =
E2 = 6
E3 =
(3)
-1
-1
-1 2 2
(x) = 1 + E1 E2x + E1 (E3 + E1 E2 )x :
2(3) = E1-1(E3 + E1-1E22)
1(3) = E1-1E2
4 = E4 + E1-1E2E3 + E1-1E2(E3 + E1-1E22) = 6 0
- se calculeaz coef. .
1 dac 4 0 i 2L3 = 4 r 1 = 3
4
0 n rest
4 = 0
- se calculeaz matricea D4:
4 x 1 (E 4 + E 1-2 E 32 )x 1 6 x
1
D4 =
=

=
1
x
4 4 (1 4 )x 0
0 x

103

E4 = 1
0(3) = 1

Coduri RS
-se calculeaz (4)(x) i B(4)(x):
1 + E1-1E 2 x + E1-1 E 3 + E 1-1E 22 x 2

(4 ) (x )
=
D
=
(4 )
4
-1 2 1
-1
-1 2 1
B (x )
E 3 + E 1 E 2 + E1 E 2 E 3 + E1 E 2 x

E1 E 4 + E 2 E 3
E 32 + E 2 E 4 2
4 2
1
+
x
+
x

1 + x + x
=
=
E1 E 3 + E 22
E 1 E 3 + E 22
5 x + 3 x 2

E 3 + E 1-1 E 22 1 x + E 1-1 E 2 E 3 + E 1-1 E 22 1 x 2

(4)

(4)

-se calculeaz (x) i A (x):

E 12 E 4 + E 32
E
+
E
x

1
1
( 4 ) (x )
E 1 E 3 + E 22
2

(4 ) = D 4 E 1 x =
E 12

2
A (x )
x
E 1E 3 + E 2
2
E1 E 3 + E 2
Polinoamele (x) i (x) sunt:
(x ) = 4 (x ) = 1 + x + 4 x 2

x
5 2

= x + x
6
x

(x ) = 4 (x ) = x + 5 x 2
- se afl poziiile eronate ij prin metoda cutare:
(-i) = 0 i = 0, n-1
rezult (vezi ec. (19)): i1 = 3 i i2 = 1
- se afl valorile caracterelor eronate: v3 i v1.
- derivata formal a polinomului (x) este (vezi (22)):
(x) = 1
- coef. cuvntului eroare sunt (vezi (23) i (24)):
3 = 3(-3) /(-3) = 3(-2 +-1) = 3 = 4
1 = (-1) /(-1) = (1 +3) = = 2
- valorile caracterelor eronate sunt:
v3 = w3 + 3 = 0
v1 = w1 + 1 = 0
- se selecteaz caracterele de informaie:
- cuvntul de cod este v = 0 0 0 0 0 0 0
- cuvntul de informaie este i = 0 0 0

104

Coduri RS
Sinteza algoritmului Berlekamp-Massey
- se afl coeficienii sindrom Sj = Ej = w(j), j = p, p + 2t - 1
- se afl polinoamele (x) i (x)
- iniializare r = 0
(0)(x) = 1
(0)(x) = xp-1 L0 = 0
(0)
B (x) = 1
A(0)(x) = 0
- paii r = 1 r = 2t
pasul r
- se afl discrepana
- polinomul (r-1)(x) este (r-1)(x) = 0(r-1) + 1(r-1)x + 2(r-1)x2 + ... + M(r-1)xM
min ( r -1,M )

r =

r -1)
k

E r + p-1-k cu (0r -1) = 1

k =0

- se calculeaz coef. r
1 dac r 0 i 2Lr-1 r - 1
r =
0 n rest
- se calculeaz matricea Dr:
rx
1
D r = 1

r r (1 r )x
-se calculeaz (r)(x) i B(r)(x):
(r ) (x )
(r -1) (x )
=
D
(r )

r ( r -1)
B (x )
B (x )
-se calculeaz (r)(x) i A(r)(x):
( r ) (x )
( r -1) (x )
=
D
(r )

r ( r -1)
A (x )
A (x )
-se calculeaz coeficientul Lr:
Lr = max(Lr-1, r Lr-1)
- la pasul r = 2t polinoamele (x) i (x) sunt:
(x) = (2t)(x)
(x) = (2t)(x)
- se afl poziiile eronate cu ecuaia de cutare:
(-i) = 0 ij
- se calculeaz coeficienii cuvntului eroare sunt:
ij = ij(-ij) /(-ij)
- se afl cuvntul corect i se selecteaz caracterul de informaie.

105

CC

Cap. 7 Coduri Convoluionale


Dicionar:
- (cod) convoluional - cod pentru care relaia de codare este formal asemntoare operaiei de convoluie a dou funcii
(semnale);
- trellis ['trelis] - (limba englez)-1. plas, grtar. 2. Diagrama trellis- diagrama evoluiei strilor posibile a unui codor
(decodor) convoluional.

Definiii:
- cod sistematic = cod pentru care n secvena codat apare explicit secvena de intrare, codarea presupunnd doar
adugare de bii;
- cod nesistematic = cod pentru care secvena codat este doar o funcie implicit pentru secvena de intrare, codarea
presupunnd construcia unei secvene (secven codat v) n care nu se regsete explicit secvena de la
intrare;
- cod recursiv = cod la care codorul este un sistem cu reacie: informaia de la ieire se nsumeaz intrrii (sau intrrii
ntrziate);
- grup de bii = celul structural a secvenei codate, coninnd numr minim de bii i care prin periodicizare
genereaz ntreaga secven codat;
- diagrama de stare (a unui codor convoluional) = este un graf ale crui noduri sunt strile posibile ale codorului, iar
transmitanele sunt evoluiile posibile funcie de valorile intrrii (intrrilor);
- diagrama trellis = un graf ale crui noduri i transmitane sunt aceleai cu ale diagramei strilor, ns care prezint
evoluia codorului (decodorului) n timp;
- lungime de constrngere = maximul distanei (peste toi biii de control dintr-o grup), msurat n numr de
grupe, ntre prima i ultima grup (inclusiv) ce contribuie cu bii de informaie la formarea unui bit de control dintr-o
grup oarecare;
- memorie M = numrul maxim, peste toi biii de informaie dintr-o grup (toate intrrile unui codor), de ntrzieri pe
care le sufer un semnal de intrare din codor.

Notaii:
- m, k i n - numrul de bii de informaie, de control respectiv total dintr-o grup;
- v, w, - secvena codat (transmis), secvena recepionat i respectiv secvena eroare;
- il, cj - secvenele de informaie, respectiv de control, formate prin asocierea biilor de informaie cu
numrul l din fieacre grup i respectiv biilor de control numrul j din fiecare grup;
- il(x), l=1
m - polinoamele de informaie;
- cj(x), j=1
k - polinoamele de control;
- hl,j(x), l=1
m j=1
k - polinoamele generatoare;
- G(x) - matricea generatoare.

Breviar teoretic:
1 Codarea - codului convoluional presupune aflarea secvenei codate cunoscnd secvena de
informaie, parametrii codului n, m i k=n-m, precum i polinoamele generatoare sau
matricea generatoare.
a) metoda polinomial:
- se formeaz polinoamele de informaie i l (x ), l = 1, m , partiionnd secvena de
informaie n grupe de cte m bii i apoi regrupndu-i;
- se calculeaz polinoamele de control dup regula:
m

c j (x ) = i l (x )h lj (x )

j = 1, k

(7.1)

l =1

- se formeaz secvenele de control cj din coeficienii polinoamelor lui cj(x);


- se alctuiete secvena v grupnd cte un bit (coeficient), corespunztor rangului
grupei, din fieacre secven de informaie, il, respectiv secven de control, cj.

106

CC
b) metoda diagramei trellis:
- se scriu relaii de recuren pentru fiecare bit de control;
- se construiete codorul convoluional conform cu relaiile de recuren;
- se construiete diagrama de stare pentru codor;
- se constuiete diagrama trellis;
- se stabilete drumul prin trellis, de la starea "00...0", ctre starea "00...0"
corespunztor informaiei date;
- se citete de pe transmitanele drumului respectiv secvena codat v.
2 Decodarea codului convoluional presupune aflarea secvenei de informaie codat la emisie,
cunoscnd parametrii codului i secvena recepionat.
a) metoda diagramei trellis
- se construiete diagrama trellis pentru codul respectiv (prin algoritmul descris la
codare);
- se urmresc toate drumurile posibile pe trellis, calculnd distana Hamming ntre
secvena recepionat i respectivul drum;
- se elimin drumurile ce converg n acelai punct cu alt drum, dar de distan
Hamming mai mic. Procesul este secvenial i conduce la un singur drum supravieuitorul;
- de pe transmitanele ultimului drum rmas se citete secvena de informaie
presupus cea mai probabil a fi emis.

7.1. S se scrie structura secvenei codate, v, pentru codurile convoluionale


sistematice avnd parametrii:
a) n=2 m=1;
b) n=4 m=3;
c) n=4 m=2;
d) Ct este eficiena fiecrui cod?
Rezolvare:
Secvena codat, v, conine grupe de cte n bii, dintre care m sunt bii de informaie iar
k=n-m sunt de control. n general, pentru precizarea unui bit de informaie (exceptnd cazul cu un
bit de informaie pe grup), sunt necesari doi indici: unul precizeaz grupa (i variaz de la 0 la
infinit) iar cellalt poziia n grup (i variaz de la 1 la m). Idem pentru biii de control. Dac
exist un singur bit pe grup cel de-al doilea indice este omis. Astfel rezult urmtoarele structuri
pentru v:
a)
v = i 0 c 0 i1c1 i 2 c 2 i 3c 3 i 4 c 4 K
(7.1.1)
{{{ {{
1

unde: 0, 1, 2 , 3, 4... reprezint grupa.


b)
v = i 01i 02 i 03 c 0 i11i12 i13 c1 i 21i 22 i 23 c 2 i 31i 32 i 33 c 3 K
14243 14243 14243 14243
0

(7.1.2)

c)

v = i 01i 02 c 01c 02 i11i12 c11c12 i 21i 22 c 21c 22 i 31i 32 c 31c 32 K


4244
3 142
142
4 43
4 14243 14
4 43
4
0

107

(7.1.3)

CC
Obs.: n scriere polinomial fiecare grup va fi asociat cu un rang (grad), cel corespunztor
numrului de ordine al grupei. Din acest motiv numerotarea grupei s-a fcut de la 0 (zero ce
corespunde termenului liber).

d)
Eficiena codului este dat de raportul:
c =

m
n

(7.1.4)

astfel c eficienale celor trei coduri sunt:


ca = 50 %

cb = 75 %

cc = 50 %

(7.1.5)

Obs.: Codurile prezente sunt sistematice deoarece n structura lui v apar explicit biii de
informaie.

7.2. S se codeze secvena de informaie, scris n octal: i=743, prin codurile


convoluionale sistematice, avnd parametrii n=2, m=1 i polinoamele
generatoare:
a) ha(x)=1+x;
b) hb(x)=1+x2;
c) hc(x)=1+x+x2;
d) Care este lungimea de constngere n fiecare caz?
Rezolvare:
Codarea presupune aflarea biilor de control, cunoscndu-i pe cei de informaie. Codarea
poate fi fcut polinomial sau matricial. n cazul polinomial, ntre polinomul de informaie i cel de
control exist relaia:

c(x)=i(x)h(x)

(7.2.1)

unde:
i(x ) = i 0 + i1x + i 2 x 2 + i 3 x 3 + K
c(x ) = c 0 + c1 x + c 2 x 2 + c 3 x 3 + K

(7.2.2)

Polinomul de informaie, n cazul concret, este:


i=1 1 1 1 0 0 0 1 1

(7.2.3)

i (x ) = 1 + x + x 2 + x 3 + x 7 + x 8
Cu h(x) precizat n fiecare caz rezult:
a)
c a (x ) = i(x )h a (x ) = 1 + x 4 + x 7 + x 9

108

CC

iar:

ca=1 0 0 0 1 0 0 1 0 1

(7.2.4)

v a = 11
{ 10
{
{ 10
{ 10
{ 01
{ 00
{ 00
{ 01
{ 10
{ 11

(7.2.5)

c b (x ) = i(x )h b (x ) = 1 + x + x 4 + x 5 + x 7 + x 8 + x 9 + x10
cb=1 1 0 0 1 1 0 1 1 1 1
v b = 11
{ 10
{ 01
{ 11
{ 01
{ 10
{ 11
{ 00
{ 01
{ 11
{ 01
{

(7.2.6)
(7.2.7)

c c (x ) = i(x )h c (x ) = 1 + x 2 + x 3 + x 5 + x 7 + x10
cc=1 0 1 1 0 1 0 1 0 0 1
v c = 11
{ 10
{ 11
{ 00
{ 10
{ 11
{ 01
{ 00
{ 11
{ 00
{ 01
{

(7.2.8)
(7.2.9)

b)

10

c)

10

d) Lungimea de constngere este dat de relaia:

= max grad h ij (x ) min grad h ij (x ) + 1


i, j

i, j

i = 1, m

j = 1, k

(7.2.10)

n cazul de fa k=1=m (un singur polimom generator) astfel nct lungimile de constrngere vor fi:
a=2

b=c=3

(7.2.11)

Obs.: n codarea matricial, relaia de codare este de forma:


V=iG

(7.2.12)

Unde prin v se subnelege "bucata" din secvena codat aferent unei grupe. Idem pentru i. G este
o matrice cu dimensiunile mn, iar n cazurile concrete:
Ga=[1 1+x]
Gb=[1 1+x2]
Gb=[1 1+x+x2]

(7.2.13)

Obs.: De remarcat c n secvenele codate v au aprut, fa de secvena corespunztoare de


informaie i, cte -1grupe.

7.3. S se codeze secvena de informaie (scris n octal) i=743 utiliznd codul


convoluional sistematic definit prin parametrii n=4, m=3 i polinoamele
generatoare:
h1(x)=1+x
h2(x)=1+x+x2
h3(x)=1+x2
Rezolvare:
Conform cu problema 7.1.1. secvena de informaie are forma:

109

CC
i = i 01i 02 i 03i11i12 i13i 21i 22 i 23 = 111
{ 100
{ 011
{
0

(7.3.1)

Polinoamele de informaie vor fi:


i1 (x ) = i 01 + i11x + i 21x 2 = 1 + x
i 2 (x ) = i 02 + i12 x + i 22 x 2 = 1 + x 2
i 3 (x ) = i 03 + i13 x + i 23 x 2 = 1 + x 2

(7.3.2)

Polinomul de control este:


c(x ) = c 0 + c1 (x ) + c 2 x 2 = i1 (x ) h1 (x ) + i 2 (x ) h 2 (x ) + i 3 (x ) h 3 (x ) =
2

= (1 + x ) + (1 + x ) 1 + x + x

2 2

)+ (1 + x )

= 1+ x + x + x

(7.3.3)

iar secvena de control:


c=1 1 1 1 0

(7.3.4)

Cuvntul de cod va fi:


v = 1111
01110001
0000 = F9710 H
{1001
{{
{{
0

(7.3.5)

Obs.: Datorit formei particulare a polinoamelor de informaie bitul de control corespunztor


grupei 4 este nul, fapt ce nu face necesar suplimentarea lui v cu nc -1grupe. n general ns
este necesar, de aceea, pentru consecven, va fi trecut.
Obs.: Matricea generatoare pentru acest cod are forma:

1 0 0 1 + x

2
G = 0 1 0 1 + x + x
0 0 1 1 + x 2

(7.3.6)

7.4. a) S se codeze secvena de informaie i=53(8) prin fiecare dintre codurile


convoluionale:
1 n=2, m=1, h(x)=1+x2 sistematic
2 n=2, m=1, h1(x)=1+x, h2(x)=1+x2 nesistematic
b) S se scrie pentru fiecare caz relaii de recuren pentru calculul biilor lui v.
c) S se construiasc cte un codor pentru fiecare cod, pe baza relaiilor de
recuren gsite la b).
Rezolvare:

110

CC
a) Conform algoritmul de codare descris n problema 2 secvena de cod corespunztoare primului
cod este:
(7.4.1)
v1 = 11
{ 00
{ 01
{ 10
{ 00
{ 10
{ 11
{ 01
{
0

n cazul codurilor convoluionale nesistematice, biii de informaie nu se mai regsesc n


mod explicit printre biii lui v, acetia fiind doar combinaii liniare de primii.
Scriind structura lui v2 n forma:
(7.4.2)

v 2 = a 01a 02 a11a12 a 21a 22 K


Codarea va presupune calculul a dou polinoame:
a1 (x ) = a 01 + a 11x + a 21x 2 + K = i(x ) h1 (x )

a 2 (x ) = a 02 + a 12 x + a 22 x 2 + K = i(x ) h 2 (x )

(7.4.3)

i (x ) = 1 + x 2 + x 4 + x 5

(11.4.4)

a (x ) = 1 + x + x 2 + x 3 + x 4 + x 6
1

a 2 (x ) = 1 + x 5 + x 6 + x 7

(7.4.5)

Cu:
rezult:

de unde secvena codat este:


v 2 = 11
{ 10
{ 01
{ 10
{ 10
{ 10
{ 01
{ 11
{
0

(7.4.6)

b) n cazul primului cod, relaia de codare se poate scrie:

c( x ) = h ( x ) i ( x ) = 1 + x 2 i ( x ) = i ( x ) + x 2 i ( x )

(7.4.7)

Scriind polinomul de informaie n forma:


i(x ) = i 0 + i1x + i 2 x 2 + K + i j x j + K

(7.4.8)

i pe cel de control:

c(x ) = c 0 + c1x + c 2 x 2 + K + c j x j + K

(7.4.9)

nlocuind n (7.4.7) i identificnd coeficienii afereni gradului oarecare j, gsim relaia de


recuren:
j 2
c j = i j + i j 2

(7.4.10)
c 0 = i 0
c = i
1 1

111

CC
Conform cu ec (7.1.1) i (7.4.10), o grup oarecare din v1 are forma:

v (j1) = i j i j + i j 2 dac j 2
dac j=0 sau j=1
= ij ij

[
[

(7.4.11)

n cazul codului nesistematic, urmnd acelai raionament gsim urmtoarele relaii de


recuren:
a1 j = i j + i j 1
(7.4.12)

a 2 j = i j + i j 2
de unde o grup oarecare din v2 are forma:
v (j2) = i j + i j 1 i j + i j 2 dac j 2
dac j=1
= i j + i j 1 i j

[
[
= [i j

ij

(7.14.13)

dac j=0

c) Pornind de la expresiile (7.43.11) i (7.4.13) rezult urmtoarele scheme de codare:

ij

ij-1

ij-2

ij

a1j

vj(1)

ij

cj

ij-1

ij-2

vj(2)

a2j

a)
b)
Figura 7.1. Codoare convoluional: a) sistematic: n=2, m=1, h(x)=1+x; b) nesistematic: n=2, m=1, h1(x)=1+x,
h2(x)=1+x2. (Blocul notat cu D reprezint o celul de ntrziere cu un tact.)

7.5. a) Pornind de la schemele prezentate n figura 1 s se construiasc diagrama


de stri aferent fiecrui cod indicat n problema anterioar, iar pe baza
acesteia diagrama trellis.
b) Utiliznd diagrama trellis s se codeze secvena de informaie i=45(8) cu
fiecare din cele dou coduri.
Rezolvare:
Analiznd circuitele din figura 7.1, se observ c ieirea vj(1), la momentul (tactul) j, depinde
de intrarea ij ct i de ieirile celulelor D, ij-1 i ij-2. Valoarea cuplului ij-1, ij-2 poart denumirea de
stare a codorului i determin n mod univoc (mpreun cu intrarea) ieirea v. Fie spre exemplu
circuitul din figura a), cu valorile ij=1, ij-1=0, ij-2=1.

ij=1

ij-1=0

ij-2=1

ij=1

cj=0

vj(1)=10

Figura 7.2: Codorul convoluional sistematic n=2, k=1, h(x)=1+x, avnd intrarea ik=1 i starea Sk=01.

112

CC
Conform cu relaia (7.4.10) rezult pentru cj valoarea ij+ij-2=1+1=0, iar pentru vj(1) valoareadibit [ij cj]=10. La tactul j+1, valoarea ik=1 se va regsi la ieirea primei celule, ij-1=0 la ieirea celei
de-a doua, nct starea viitoare va fi Sj+1=10.
Urmnd acest raionament se pot gsi n toate variantele de intrare/stare actual ieirea ce
rezult i deasemenea starea viitoare:
stare actual
Sj=ij-1ij-2
00

intrare
ij
0
1
0
1
0
1
0
1

ieire
vj(1)= ijcj
00
11
00
11
01
10
01
10

10
01
11

stare viitoare
Sj+1=ijij-1
00
10
01
11
00
10
01
11

Tabelul 7.3. Corespondena intrare/stare-actual ieire/stare viitoare, n cazul codorului din figura 7.1.a).

Pornind de la tabelul 7.3 se poate construi diagrama de stri, figura 7.4:


0/00
00
0/01

1/11
1/10
10

01
0/00

1/11

0/01
11
1/10

Figura 7.4: Diagrama de stri aferent codorului din figura 7.1. a).

Cele patru stri sunt figurate prin 4 cerculee ce ncadreaz cele 4 perechi de bii
corespunztori. Din fiecare stare (cercule) pleac cte dou ramuri, ce corespund la cele dou
variante posibile ale bitului de intrare 0 i 1. Fiecare ramur (sgeat) este marcat prin trei valori
binare, prin care s-a precizat intrarea (primul bit) i ieirea (ultimii doi bii), conform tabelului 7.3.
Pe baza diagramei de stri se poate construi diagrama trellis. Spre deosebire de prima,
diagrama trellis ine cont de scurgerea timpului, fapt marcat prin ireversibilitatea drumurilor.
Diagrama trellis este prezentat n figura de mai jos:

113

CC

00

0/00
1/11

0/00

00

00

0/00

00

1/11

1/11

10

10

01

01

10

0/00
01

01

0/01
11

Tact:

11

11

01

01

11

01

0/01

11

11

1/10

1/10

1/10

0/00
01

01
1/11

0/01

0/01

11

1/10

10

1/10

1/11

1/11

0/01

0/01

0/01

0/00

0/00

1/11

10

1/10

1/10

0/00

00

1/11

0/01

10

1/10

1/11

1/11

1/11

10

0/00

00

1/11

0/01

10

0/00

0/00

00

1/11

0/01

1/10

0/00

00

1/11

0/01

1/10

0/00

0/00

00

1/11

0/01
10

0/00

11
1/10

11
1/10

Figura 7.5: Diagrama trellis aferent codorului din figura 7.1. a).

n mod analog se pot construi:


- corespondena intrare/stare-actual ieire/stare-viitoare (tabelul 7.6);
- diagrama de stare (figura 7.7) i diagrama trellis (figura 7.8), pentru codorul (nesistematic) din
figura 7.1.b.
intrare
stare actual
ieire
stare viitoare
ik
Sk=ik-1ik-2
vk(1)= ikck
Sk+1=ikik-1
0
00
00
00
1
11
10
0
10
10
01
1
01
11
0
01
01
00
1
10
10
0
11
11
01
1
00
11
Tabelul 7.6. Corespondena corespondena intrare/stare-actual ieire/stare-viitoare
n cazul codorului din figura 7.1.b.
0/00
00
0/01

1/11
1/10
10

01
0/10

1/01

0/11
11
1/00

Figura 7.7: Diagrama de stare pentru codorul din figura 7.1.b.

114

CC

0/00

00

1/11

0/00

00

0/00

00

1/11

1/11

0/00

00

1/11

0/01
10

10

10

1/10

01

10

01

11

Tact:

11

01

10

11

11
1/00

1/00

0/01

0/10

10
0/10

01
1/11

01
1/11
0/01

11

1/00

00

1/10

0/01

1/00

10

01

0/11

0/00

1/10

1/11

0/11

11

0/01

0/10
01

00

1/11

1/10

1/11

0/11

11

0/01

0/10

1/11

0/00

00
1/11

1/10

01

0/11

0/00

10

0/10

1/11

1/11

0/01
10

1/10

0/10

00

1/11

1/11

0/01

0/10
01

0/00

00

11
1/00

11
1/00

Figura 7.8: Diagrama trellis pentru codorul din figura 7.1.b.

c) Utilizarea diagramei trellis pentru codare se face n felul urmtor:


- Se ataeaz fiecrui moment de tact (indicat n subsolul diagramei) cte un bit de informaie din
secvena i=45(8)=100101, ce se dorete a fi codat;
- Se urmrete (memorndu-l) un drum prin trellis ce are, la fiecare moment de tact, pe post de bit
de intrare, bitul indicat din i;
-Se citesc biii de ieire corespunztori drumului gsit anterior, formnd secvena codat, v.
n construcia drumului prin trellis trebuie pornit din starea 00 i neaprat revenit n aceeai
stare. n acest scop, dup epuizarea biilor de informaie, se caut drumul cel mai scurt spre starea
00, completnd astfel secvena v cu biii afereni drumului spre starea amintit.
n figurile 7.5 i 7.8 sunt marcate drumurile aferente secvenei de informaie i=100101.
Secvenele codate rezultate sunt:
v1 = 11
{ 00
{ 00
{ 01
{ 11
{ 10
{ 00
{ 01
{
0

v 2 = 11
{ 10
{ 10
{ 01
{ 11
{ 10
{ 10
{ 01
{
0

(7.5.1)

Obs.: La acelai rezultat se poate ajunge codnd polinomial:


V1.

i (x ) = 1 + x 3 + x 5

(7.5.2)

)(

c(x ) = i(x ) h (x ) = 1 + x 2 1 + x 3 + x 5 = 1 + x 2 + x 3 + x 7 c = 10110001 (7.5.3)

care reprezint secvena format cu biii de pe poziia a doua din fiecare grup a lui V1 dat de
(7.5.1).
V2.
de unde:

a1 (x ) = h1 (x ) i(x ) = (1 + x ) 1 + x 3 + x 5 = 1 + x + x 3 + x 4 + x 5 + x 6

)(

a 2 (x ) = h 2 (x ) i(x ) = 1 + x 1 + x + x 5 = 1 + x 2 + x 3 + x 7

a1=1 1 0 1 1 1 1 0
a2=1 0 1 1 0 0 0 1
care formeaz pe V2 dat de relaia (7.5.1).

(7.5.4)

(7.5.5)

115

CC

7.6. Fie codoarele convoluionale din figura 9, i codurile aferente.


+

ij

vj(1)

ij

a)

vj(2)

b)
Figura 7.9. Codoare convoluionale

a) Pentru fiecare cod s se precizeze:


- parametrii: n, m, k;
- lungimea de constrngere; (
)
- memoria codoarelor; (M)
- dac sunt sistematice;
- dac sunt recursive;
- eficiena; (
c)
- rata codrii; (R)
- matricea generatoare; (G)
b) Ce secven rezult n fiecare caz prin codarea informaiei i=51(8) ?
Rezolvare:
a) - n=2 - numrul de bii "culei" la ieire; (ambele coduri)
m=1 - numrul de intrri; (ambele coduri)
k=n-m
- =3 -distana ntre rangurile extreme ce particip la stabilirea valorii biilor de ieire dintr-o
dintr-o grup (se includ i rangurile n cauz); (primul cod)
- M=2 -numrul de celule de ntrziere din schema codorului; (ambele coduri)
- primul cod este nesistematic i nerecursiv;
- al doilea cod este sistematic (bitul de informaie se regsete n componena secvenei
codate) i recursiv (n componena codorului exist reacie).
Obs.: Datorit recursivitii este improprie definirea lungimii de constrngere ca i distana ntre
rangurile extreme. n acest caz se poate defini o lungime de constrngere echivalent dup relaia:
=k+1=3
(codul al doilea)
m
= 50 % - eficiena codurilor; (ambele coduri)
n
1 m
- R = = = c ; (ambele coduri)
2 n
Obs.: Exist totui o diferen ntre c i R i anume n cazul n care exist precizat sursa de
informaie, caz n care eficiena codrii va ine seama de "ncrcarea" cu informaie a celor k
simboluri informaionale. n acest caz c <R.

- c =

116

CC
Matricea generatoare se poate afla scriind "funcia de transfer" intrare-ieire pentru fiecare pereche
de bii (unul de intrare i unul de ieire):
- primul cod:
V j(1) = a j1 a j2 ; a j1 = i j + i j 1 + i j 2

a j2 = i j + i j 2

de unde:

h 1 (x ) = 1 + x + x 2
h 2 (x ) = 1 + x

(7.6.1)

(7.6.2)

c j = w j + w j 2

w j = i j + w j 1 + w j 2

(7.6.3)

G1(x ) = 1 + x + x 2 1 + x 2
- al doilea cod:
v (j2) = i j

cj

nmulind ecuaiile sistemului (7.6.3) cu xj i apoi sumnd de la 0 la dup j, cu remarca c


wj =0 pentru j<0, gsim c:

j
j
2
j 2
c j x = w j x + x w j 2 x
j= 0
j= 0
j= 2

w xj =
i j x j + x w j 1x j 1 + x 2 w j 2 x j 2

j= 0
j =1
j= 2
j= 0

(7.6.4)

sau, utiliznd exprimarea polinomial:


c(x ) = w (x ) + x 2 w (x )

w (x ) = i(x ) + xw (x ) + x 2 w (x )

(7.6.5)

Dup eliminarea lui w(x) din ecuaiile sistemului (7.6.5) rezult funcia de transfer cutat.
c( x ) =

1+ x2
1+ x + x2

i(x )

(7.6.6)

Astfel matricea generatoare aferent celui de-al doilea codor este:

1+ x2
G 2 (x ) = 1

1 + x + x 2

(7.6.7)

b) Polinomul de informaie ce trebuie codat este:


i (x ) = 1 + x 2 + x 5

(7.6.8)

Pentru primul cod rezult:

117

CC
v1 (x ) = [a 1 (x ) a 2 (x )] = i(x )G1 (x )

[(
)(
= [1 + x + x + x

= 1 + x + x2 1+ x 2 + x5
3

sau:

) (1 + x 2 )(1 + x 2 + x 5 )]

+ x5 + x6 + x7 1+ x4 + x5 + x7

(7.6.9)

]
(7.6.10)

v1 = 11
{ 10
{ 11
{ 10
{
{ 00
{ 10
{ 11
{ 11
0

Pentru codului doi:

v 2 (x ) = [i(x ) c(x )] = i(x )G 2 (x ) = 1 + x 2 + x 5

(
1 + x 2 + x 5 ) =
1+ x + x2

1 + x 4 + x5 + x7

1+ x + x2

= 1 + x 2 + x 5

1+ x2

)(

(7.6.11)

Ultimul termen, 1 + x 4 + x 5 + x 7 / 1 + x + x 2 se poate dezvolta n forma:


c( x ) =

1+ x4 + x5 + x7
1+ x + x2

= 1+ x +

x + x 2 + x 4 + x5 + x7

= 1+

1+ x + x2

x3 + x 4 + x5 + x7

= 1 + x + x3 +

1+ x + x2

= 1+ x + x3 + x7 +

x8 + x 9
1+ x + x2

= 1 + x + x3 + x 7 + x8 +

x7
1+ x + x2

(7.6.12)

x10
1+ x + x2

=K

Se observ c, de la rangul 7 n sus, c(x) conine toi termenii mai puin cei de rang multiplu de trei.
De remarcat, deasemenea, c c(x) are un numr infinit de termeni, lucru caracteristic codurilor
recursive. Rezult, nlocuind n (7.6.11):

sau:

v 2 (x ) = 1 + x 2 + x 5 1 + x + x 3 + x 7 + x 8 + x10 + x11 + x13 + ...

(7.6.13)

v 2 = 11
{ 01
{ 10
{ 01
{ 00
{ 10
{ 00
{ 01
{ 01
{ 00
{ 01
{ 01
{ 00
{ 01
{K

(7.6.14)

10 11 12 13

v2 se continu pe poziiile multiplu de trei cu 00, iar n rest cu 01.

11.7. Pentru codul convoluional sistematic cu parametrii n=2, k=1, h(x)=1+x2 s


se decodeze secvenele:
a) w1=B5F5H;
b) w2=A7E5H;
118

CC

c) w3=C871H;
utiliznd algoritmul de decodare Viterbi.
Rezolvare:

Algoritmul de decodare Viterbi presupune o comparaie ntre secvena recepionat w i


toate secvenele posibil a fi emise. Comparaie se face d.p.d.v. al distanei Hamming ntre w i
respectivele secvene emisibile. Deasemenea comparaia se face secvenial cumulnd distanele la
fiecare grup de bii recepionai din w (corespunztoare unui tact sau pas de pe trellis) i eliminnd
secvenele emisibile, cu pondere mai mare, ntre dou corespunztoare la dou drumuri de pe trellis
ce se intersecteaz.
Diagrama trellis corespunztoare codului convoluional indicat n enunul problemei este
prezentat n figura 7.5.
a) Secvena binar recepionat este:
w1=B5F5H= 10
{ 01
{ 11
{ 01
{ 11
{ 01
{ 11
{ 01
{
0

(7.7.1)

La tactul 0 conform diagramei din figura 7.5 exist dou drumuri ce pleac din starea "00"
ctre "00" respectiv "10" (vezi figura 7.10).
1
00

0/00

00

1/11
1
10

10

01

01

11

Secvenele posibil a fi emise corespunztoare acestor dou


drumuri sunt date de ultimii doi bii din cei trei marcai pe
fiecare sgeat: "00" pentru primul drum i "11" pentru cel deal doilea. Distanele Hamming dintre cele dou secvene
emisibile i cea recepionat W10=10 sunt ambele 1:
d1(00, 10)=1
d2(11, 10)=1

(7.7.12)

11

Aceste dou rezultate au fost marcate, n figura 7.10, deasupra


celulelor "destinaie" a celor dou sgei, i vor reprezenta
TACT 0
0
"zestrea"
drumurilor (secvenelor) ce pleac la tactul 1 din
W1 =10
Figura 7.10. Poriunea din diagrama
cele dou celule. Algoritmul se continu n figura 7.11,
trellis aferent tactului 0 i prima grup
calculnd distana Hamming dintre secvena recepionat pn
de bii recepionai din w1.
la acest tact (al doilea, notat 1), W1=1011 i cele patru
secvene posibil a fi emise: 0000, 0011, 1100 i 1111. Aceste distane s-au calculat ca i suma
dintre "zestrea" rmas de la pasul anterior i distanele dintre ultima grup recepionat din W1
,adic 11, relativ la grupele posibil emise, aferente celor 4 drumuri posibile de la tactul 1.
Pasul al treilea (corespunztor tactului 2) prezint unele "nouti" fa de cele dou
anterioare, prin faptul c acum exist drumuri ce converg la acelai punct (celul), ca atare cte unul
din dou va fi eliminat. n figura 7.12 sunt prezentate operaiile fcute pn la acest moment.

119

CC

1
0/00

00

00

0/00
1/11

1/11

10

00

10

10
0/00
3

01

01

01
1/11
1

11

11

TACT
W1=

11

0
10

1
11

Figura 7.11. Poriunea din diagrama trellis corespunztoare tactelor 0 i 1


i primele dou grupe de bii recepionai din w.
3

1
00

0/00

0/00

00

3
0/00

00

0/01

0/00

01

11

11

TACT: 0
W1=
10

1/10

01

1/11

10

0/00

10

0/00

00

00

1/11

1/11

10

10

4
0/01

10

0/00
1

a)

01

1/11

01

01

0/01

11

1/10

11

2
01

11

TACT: 0
W1=
10

01
1/11

1
11

01
1/11

1
11

00

1/11
4

10

10

01

00

1/11
1

1
10

00

1/11

1/11

1
0/00

0/01

11

1
11

b)

2
11

2
01

Figura 7.12. Poriunea din diagrama trellis corespunztoare tactelor 0, 1 i 2 i primele trei grupe de bii recepionai
din w: a) nainte de eliminare; b) dup eliminarea drumurilor de pondere mai mare.
3

1
00

0/00

00

0/00

00

1/11

1/11

10

10

01

01

TACT:

01
1/11
0/01

2
11

00

0/01

3
10

0/00

01

11

10

1
11

0/01

1
0/00
1/11

1/11

11

0/00

00
1/11

1
10

1/10
1/11

2
01

0/01
1/10

4
11

120

a)

CC

0/00

00

00

00

00

00

1
10

01

01

10

10

01

10

11

01

0/01

1/10

b)

01

0/01

11

TACT: 0
W1=
10

10

01

1
11

3
0/01

1/11

1/11

11

W1=

1/11

1/11

10

01

11

1
11

4
11

1/10

2
01

3
01

Figura 7.13. Diagrama trellis corespunztoare tactelor 0, 1, 2 i 3 i primele 4 grupe de bii recepionai
din w: a) nainte de eliminare; b) dup eliminarea drumurilor de pondere mai mare.

Eliminarea ambelor ramuri ce pleac dintr-un punct din trellis (celul, stare), conduce
automat la eliminarea ramurilor ce ajung n respectivul punct. n acest fel, pe vreme ce se
recepioneaz grupe de bii din w, i se nainteaz n trellis, drumurile ce pleac de la punctul iniial
se mpuineaz pn rmne unul singur, numit supravieuitorul. n figura 7.14 este prezentat
algoritmul decodrii pentru paii 4, 5, 6 i 7.

00

0/00

00

00

00

00

1/11

1/11
1
10

00

1/11
4

1
10

10

3
0/00

10

3
0/01

10

1
0/01

10

0/00

3
01

01

01

TACT: 0
W1=
10

11

1/10

01
0/01

11

1
11

5
01

1/11
2
11

2
01

1/10

01

1/11

1/11

11

0/01

1/10

4
11

3
01

0/01

1/10

11

4
11

121

a)

CC

1
00

00

00

00

00

3
0/00

5
0/00

00

1/11

1/11

10

10

10

10

01

01

0/01

1/11
1

10

3
0/01

10

01

01

01

11

0/01

1
11

11

11

11

3
01

0/01

1/10

11

3
0/00

00

00

5
0/00

00

10

0/01

10

10

01

01

01

10

10

3
01

5
0/01

10
0/00

01

01

11

11

TACT: 0
W1=
10

11

1
11

11

11

11

11

2
01

00

00

3
01

4
11

00

5
11

00

10

10

10

10

10

0/01

0/00
1/11
01

6
01

00

0/01

10

01

1
01

01

11

TACT: 0
W1=
10

11

11

01

01

0/01

10

1/10

01

11

11

1/11

11

1/10

1/10

3
11

3
01

0/01
1/10

1
2
3
4
5
6
7
11
01
01
11
11
01
01
Figura 7.14. Diagrama trellis corespunztoare tactelor a) 04; b) 05; c) 06; d) 07.

122

10

0/00
1
01

0/01

00

3
0/01

1/11
1

11

1
0/00

1/11
1

3
11

1/10

1/11
1

0/01

00

00

1/11
10

01
1/11

c)

01

1
00

1/10

1/11
0/01

10

0/00
3

1/11
1

00

1/11

1/11

4
0/00

00

1/11
1

b)

5
11

1/11

10

01

4
11

00

00

00

2
01

1/11

11

TACT: 0
W1=
10

1/10

01

1/11

11

0/00
5

1/11
1

10

0/00
2

1/10

00

5
11

d)

CC
Dintre variantele de drum rmase rmne de ales cel care sfrete n starea 00, deoarece la
codare aceast stare este prima i ultima. Astfel secvena corectat este:
v = 11
{ 11
{ 01
{ 11
{ 01
{ 01
{ 11
{ 01
{
0

(7.7.3)

iar, cea decodat:


i=1 1 0 0 1 1 (0) (0)

(7.7.4)

b) n figura 7.15 este prezentat algoritmul de decodare al secvenei:


w 2 = A7 E5 H = 10
{ 11
{ 10
{ 10
{ 01
{ 11
{ 01
{ 01
{
0

(7.7.5)

Drumul selectat prin decodare corespunde secvenei:


v 2 = 11
{ 00
{ 11
{ 10
{ 01
{ 11
{ 01
{ 01
{
0

(7.7.6)

Informaia obinut din secvena v2 este:


i2=1 0 0 1 1 1 (0) (0)

(11.7.7)

c) Decodarea secvenei w3=C871H este prezentat n figura 7.16.


Rezult:
v 3 = w 3 = 11
{ 00
{ 00
{ 10
{ 00
{ 01
{ 11
{ 01
{
0

(7.7.8)

i2=1 0 1 0 0 1 (0) (0)

(7.7.9)

123

00

0/00

00

00

0/00

10

01

01

0/01

Tact:
w2:
v2:
i2:

124

0
10
11
1

11

1
10
00
0

1/10

2
01
01
0

0/00

10

0/00

11

0/01

1/10

3
11
11
1

1/10

0/01

1/11
11

0/01

1/10

4
11
11
1

1/11
11

1/10

5
10
10
1

11

0/01

0/00
01

1/10

01

0/01
1/11

1/10

10

0/00

1/11

00

1/10

01

0/01

0/00
1/11

10

0/00

1/11

10

01

00

0/01

1/10

0/00
1/11

01

00

1/11

0/01

0/00

1/11

10

00

1/10

0/00

0/00
1/11

0/01

1/10
01

11

10

00

1/11

0/01

0/00

11

0/00

10

01

00

1/11

1/11

1/11

10

0/00

11

6
01
01
(0)
Figura 7.15. Utilizarea diagramei trellis n cazul decodrii secvenei w2=A7E5H.

0/01

1/10

7
01
01
(0)

1/11
11

0/00

00

00

00

1/11

1/11

10

0/00

0/00
1/11

10

10

01

01

Tact:
w3:
v3:
i3:

125

0
11
11
1

11

1
00
00
0

0/01

1/10

01

0/01

1/10

2
10
10
1

10
1/10

0/00

0/00

0/01

11

1/10

3
00
00
0

10
1/10
0/00

0/01

01

11

1/10

4
01
01
0

10

0/01

10
1/10

01

1/11
11

0/01

1/10

5
11
11
1

0/00

00

1/11

1/10
0/00

00

0/01

0/00

10
1/10
0/00

01

0/01

0/00
1/11

1/11

00

1/11

01

0/01

0/00

1/11

00

1/11

1/11

11

10

00

0/00

11

0/00
1/11

0/01

0/00
01

00

01

1/11
11

0/01

1/10

6
00
00
(0)

1/11
11

0/01

1/10

7
01
01
(0)
Figura 7.16. Utilizarea diagramei trellis n cazul decodrii secvenei w3=C871H.

1/11
11

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