Documente Academic
Documente Profesional
Documente Cultură
Curs Tti Prof Gavat PDF
Curs Tti Prof Gavat PDF
vara)
Prof. Dr. ing. Inge Gavat
IX Coduri ciclice
1. Codarea cuvintelor de cod ca elemente in multimea cuvintelor cu sens generata
de g(x)
2. Codarea cuvintelor de cod cu ajutorul polinomului de control h(x)
3. Decodarea codurilor ciclice
Anexa A1: modul de generare a cuvintelor
XI Coduri convolutionale
1. Codarea
• Reprezentarea grafica a codurilor convolutionale
o Diagrama de stari
o Diagrama trellis (reprezentarea evolutiei starilor in timp)
2. Decodarea
o algoritmul Viterbi
Anexa A2: Unele aplicatii ale teoriei codurilor
I Masura informatiei in sisteme discrete (Shannon,1950)
1. Formularea problemei
• Daca se urmareste un experiment care poate conduce la
mai multe rezultate, asupra realizarii fiecaruia din rezultate
planeaza o anumita incertitudine; incertitudinea este
eliminata in momentul aflarii rezultatului; exemple de
experimente: aruncarea zarului, masurarea unei tensiuni.
• Primirea unei informatii este echivalenta cu eliminarea
unei incertitudini;
• Obtinerea informatiei este legata de caracterul intamplator
(aleator, stochastic) al fenomenului sau experimentului
observat si de aceea unui eveniment (rezultat) i se asociaza
o masura probabilistica;
E
• Daca rezultatele sunt
x1 x2 discrete, ca in figura,
x6
x5
fiecarui eveniment xi i se
x3
x4 poate asocia probabilitatea
p(xi);
∆x • Daca rezultatele sunt
E
x x0 continue se poate asocia o
x
x
0 densitate de probabilitate
x p(x) unui punct din spatiul
x E al esantioanelor astfel
incat p (x )dx = lim P[x0 − ∆x ≤ X ≤ x0 + ∆x ];
∆x → 0
• Daca informatia asupra realizarii unui eveniment xi rezulta
chiar din observarea acelui eveniment, se obtine
informatia proprie i(xi); Exemplu: in experimentul cu
aruncarea zarului se afla (vede) nemijlocit fata care a
aparut;
• Daca informatia asupra realizarii unui eveniment xi rezulta
din observarea altui eveniment yi, legat de xi ,se obtine
infomatia mutuala i(xi,yj); Exemplu: se afla ce fata a
aparut din comentariile cuiva care a vazut-o nemijlocit.
• In teoria lui Shannon se iau in consideratie numai aspectele
cantitative ale informatiei, nu si cele calitative, legate de
sensul (semantica) mesajului.
2. Cantitatea de informatie in cazul discret
• Informatia proprie; unitati de masura
[X] = [x1 , x2 ...xn ]
n
Υ xi = E
i =1
xi ∩ x j = φ ∀i ≠ j
i =1
i =1
m
[Y] = [y1 ,..., ym ] Υ yj = E y j ∩ y k = φ , ∀j ≠ k
j =1
i =1 i =1
Proprietatile entropiei sunt:
• Este o functie continua in raport cu fiecare p(xi) = pi.
• Este invarianta la orice permutatie a probabilitatilor pi.
• Este o functie nenegativa marginita superior de valoarea “log n”,
care se obtine cand evenimentele sunt echiprobabile:
p1=p2=....pn=1/n; atunci H(p1,p2,....pn) = log n.
• Valoarea ei nu se modifica daca la multimea evenimentelor
posibile se adauga evenimentul imposibil (pn+1 = 0).
• Valoarea ei creste prin descompunerea unui eveniment in mai
multe evenimente independente.
Exemplul 1: se dau doua evenimente x1 si x2 pentru care:
[X] = [x1 , x2 ]
[Px ] = [1 − p, p ]
H (X ) = H ( p ) = −(1 − p )log (1 − p ) − p log p
H (0) = H (1) = 0
H max ( p ) = H (1 / 2 ) = 1
H(p)
0,5
1. Definitii si terminologie
• Sursa de informatie este un dispozitiv (obiect, proces) care
emite mesaje (sunete, imagini) si despre care se dispune de
cunostinte partiale.
• Sursa discreta de informatie este sursa care emite mesaje la
momente discrete de timp, fiecare mesaj fiind reprezentat
printr-un numar finit de simboluri.
Simbol: elementul fundamental ireductibil care contine o
informatie;
Alfabet: totalitatea simbolurilor;
Cuvant: succesiunea finita de simboluri care reprezinta un
mesaj (o semnificatie);
Limba: totalitatea cuvintelor formate cu un anumit alfabet;
Codare (decodare): stabilirea unei anumite corespondente
intre o limba si alta limba;
Exemple: a) Codul Morse, care utilizeaza patru simboluri:
x1(punct), x2 (linie), x3 (spatiul dintre litere), x4 (spatiul dintre
cuvinte) ca in figura de mai jos:
x1
x2
t
x3
x4
1 / 3 2 / 3 0
T= 1 0 0
1 / 2 0 1 / 2
1/3
rezulta graful de mai jos:
1/2 1/2 s1
s3 2/3
s1
1
s2
Matricea T, fiind stochastica, suma elementelor pe
fiecare linie este 1.
• Sursa stationara: sursa la care probabilitatea diferitelor
simboluri nu depinde de originea timpului ci numai de
pozitia lor relativa: p(xin ) = p(xin +k ) pentru ∀k
• Sursa ergodica: sursa la care este indeplinita conditia de
stationaritate iar sirurile de simboluri pe care le furnizeaza
sunt siruri tipice;
o Sirul tipic: sirul care contine ni = n p (xi) simboluri xi unde
i = 1, 2, ...D si in care pentru frecventele relative de
aparitie ni/n ale simbolurilor, exista relatia:
ni
lim = p (xi ).
n→∞ n
x1 x2 ..............xD
X1 pt(xi) = n(xi)/ n
X2
lim pt (xi )= ps (xi )
n→∞
. t
.
Xn
ps(xi) = n’(xi)/ n
i =1
generand sirul tipic de lungime N:
[
[XN] = xi1 xi 2 ⋅ ⋅ ⋅ xi N ]
unde ij = 1, D ,
toate sirurile tipice au aceeasi probabilitate:
p ( X N ) = p1N1 p2N 2 ⋅ ⋅ ⋅ pDN D , unde N1, N2,....ND reprezinta
D
numarul de simboluri x1, x2, ...xD din sirul XN cu ∑ N i = N ,
i =1
pentru un N foarte mare se poate scrie:
Ni = N pi
respectiv:
p ( X N ) = ( p1p p2p ⋅ ⋅ ⋅ pDp )
N
1 2 D
i =1
Se numeste entropie a sursei X informatia medie pe simbol:
H ( X ) = − ∑ pi log pi
D
i =1
Rezultatul se poate obtine si calculand direct cantitatea medie
de informatie pe simbol, plecand de la informatia proprie a
unui simbol i(xi) = - log pi si observand ca informatia totala
obtinuta prin realizarea de Ni ori a simbolului xi este I(xi) = Ni
i(xi) = - Ni log pi iar media pe toate simbolurile este:
1 D
H (X ) = ( )
D
∑ N i i xi = − ∑ pi log pi
N i =1 i =1
o Entropia sursei extinse
Pentru sursa binara, avand {X, P}, entropia este:
H ( X ) = − p1 log p1 − p2 log p2
Pentru extensie de ordinul 2 (se emit grupuri de 2
simboluri) a sursei anterioare se obtine o sursa cu {X2 P2}
la care entropia este:
H (X 2 ) = − p12 log p12 − 2 p1 p2 log p1 p2 − p22 log p22 =
− 2 p1 log p1 − 2 p2 log p2 = 2 H ( X )
Pentru extensie de ordinul n se obtine o sursa cu {Xm Pm}
la care entropia este:
H (X m ) = mH ( X )
o Entropia sursei discrete, cu memorie, ergodica, de tip
Markov
- Sursa Markov ergodica are proprietatea ca secventa
distributiilor de probabilitate Pn , pe toata multimea de
stari, tinde catre o distributie de probabilitate limita w
(distributia de echilibru), independenta de distributia
initiala sau lim Pn = w .
n→∞
- Entropia unei surse cu memorie este entropia unui
simbol oarecare al sursei dupa observarea tuturor
simbolurilor anterioare. Cantitatea medie de informatie
prin emisia unui simbol:
H ∞ ( X ) = lim H ( X n / X 1 ,⋅ ⋅ ⋅, X n −1 )
n →∞
- Entropia unei surse stationare:
H ∞ ( X ) = lim H ( X n / X 1 ,⋅ ⋅ ⋅, X n −1 )=
n →∞
1
lim H ( X 1 ,..., X n )
n→∞ n
- Entropia unei stari Sj este:
H (S j ) = − ∑ p jk log p jk unde q este numarul starilor
q
k =1
in care se poate accede intr-un pas plecand din starea sj
( ) ( ) ( )
r r
= lim ∑ p S n − 1 = s j H S n / S n − 1 = s j = ∑ w j H S j =
n → ∞ j =1 j =1
r q
= − ∑ ∑ w j ⋅ p jk ⋅ log p jk
j =1k =1
Daca nr. starilor corespunde cu nr. simbolurilor si din starea j
putem ajunge in oricare stare intr-un pas:
H ( X ) = − ∑ ∑ pk ⋅ p jk log p jk
D D
j =1k =1
• Debitul de informatie
Daca durata medie a unui simbol este τ = ∑ τ i ⋅ p(xi ),
D
i −1
debitul de informatie al sursei cu emisie individuala a
simbolurilor este H t = H τ () −1
si se exprima in bit/s.
Debitul sursei extinse de ordinul m este :
H tm = H m (τ m ) = mH (mτ ) = H (τ )
−1 −1 −1
• Redundanta sursei
o Redundanta absoluta este: Rs = H max ( X ) − H ( X )
H (X )
o Redundanta relativa este: ρ s = 1 −
H max ( X )
• Eficienta sursei
H (X )
ηs = = 1 − ρs
H max ( X )
Aceste marimi arata cat este de indepartata entropia sursei de
valoarea ei maxima.
4. Exemple de surse discrete si entropiile lor
• sursa cu alfabet latin cu D = 27 simboluri
- aproximatie de rang 0: SDFM cu simboluri
echiprobabile
H0 (X) = log D = 4,75 bit/simbol
nu se poate identifica o limba.
- aproximatie de rang 1: SDFM cu simboluri cu o
distributie de probabilitati data (engleza)
H1 (X ) = − ∑ pi log pi = 4,03 bit / simbol
D
i =1
- aproximatie de rang 2: sursa Markov (engleza)
H 2 (X ) = 3,32 bit / simbol
• imagine TV alb / negru singulara cu N = 500 linii × 600
coloane = 300.000 pixeli, fiecare avand m nivele de gri
- H 0 ( X ) = log D = log m = N log m
N
1
- H 2 (X ) ≈ H 0 (X )
2
III Canale discrete de transmiterea a informatiei
[X] [Y]
S Canal R
[ X] = [ x1 , x2 ,..., xn ]
Campul de intrare:
[Px ] = [ p( x1 ), p( x2 ),... p( xn )]
[Y] = [ y1 , y2 ,..., ym ]
Campul de iesire:
[Py ] = [ p( y1 ), p( y2 ),..., p( ym )]
Canal discret este acel canal pentru care n si m sunt finite.
Canal continuu este acel canal pentru care n si m sunt infinite.
Canal discret/continuu: acel canal pentru care n este finit si m este
infinit.
Canal continuu/discret: acel canal pentru care n este infinit si m este
finit.
Canal discret in timp: la care timpul este discret t = kTes.
Canal continuu in timp: la care timpul este continuu.
Canal cu memorie: in care transformarea xi → y j depinde de
transformarile anterioare.
Canal fara memorie: in care transformarea xi → y j nu depinde de
transformarile anterioare.
Canal stationar: in care p ( xi1t1 ) = p ( xi1t 2 ) ∀i = 1, n (distributia de
probabilitati nu depinde de origina timpului)
[ X] = [ x1 , x2 ,..., xn ] n
∑ p ( xi ) = 1
[Px ] = [ p( x1 ), p( x2 ),... p( xn )] i =1
1
[Y ] = [ y1 , y2 ,..., ym ] m
∑ p ( y j ) = 1
[Py ] = [ p( y1 ), p( y2 ),..., p( ym )] j =1
Entropia campului de la intrarea canalului:
n
H ( X ) = − ∑ p ( xi ) log p ( xi ) (bit/simbol)
i =1
Entropia campului de la iesirea canalului:
m
H (Y ) = − ∑ p( y j ) log p ( y j ) (bit/simbol)
j =1
Se defineste campul reunit (campul produs) intrare – iesire:
x1 y1 x1 y2 ... x1 ym
x2 y1 x2 y 2 ... x2 y m
[X ⋅ Y] =
... ... ... ...
xn y1 xn y 2 ... xn y m
p (y j ) = ∑ p (xi y j )
n
∀j = 1, m
i =1
∑ p (xi , y j ) = 1
n m
∑
i =1 j =1
Entropia campului reunit intrare – iesire:
H (X , Y ) = − ∑ ∑ p (xi , y j )log p (xi y j )
n m
i =1 j =1
2
2. Entropii conditionate
j =1 j =1i =1
j =1i =1
i =1
U (y j / xi ) = − log p (y j / xi )
x1 ο ο y1
Λο οΛ
H (Y / xi ) = − ∑ p (y j / xi )log p (y j / xi )
m
Λο οy
p(yj/xi) j j =1
xi ο οΛ
Λο οΛ
3
H (Y / X ) = ∑ p(xi )⋅ H (Y / xi ) = − ∑ ∑ p(xi )⋅ p (y j / xi )log p (y j / xi ) =
n n m
i =1 i =1 j =1
i =1 j =1
p( y1 / x1 ) ... p( ym / x1 )
P[Y / X ] = ... ... ...
p( y1 / xn ) ... p( ym / xn )
j =1
In general, H (X ) ≥ H (X / Y )
In cazuri extreme:
• canal neperturbat: H (X ) > H (X / Y ) = H (Y / X ) = 0
• canal foarte perturbat: H (X ) = H (X / Y ) si H (Y ) = H (Y / X )
Relatii intre entropii:
H (X / Y ) ≤ H (X )
H (Y / X ) ≤ H (Y )
H (X , Y ) = H (X ) + H (Y / X ) = H (Y ) + H (X / Y )
Ultima relatie rezulta astfel:
deoarece
p (xi , y j ) = p (y j / xi )⋅ p(xi ) = p (xi / y j )⋅ p (y j )
4
H (X , Y ) = − ∑ ∑ p (xi , y j )log p (xi y j )=
n m
i =1 j =1
[ ]
− ∑ ∑ p (y j / xi )⋅ p (xi )⋅ log p(xi )⋅ p (y j / xi ) = − ∑ p(xi )log p(xi ) −
n m n
i =1 j =1 i =1
∑ p(xi )⋅ ∑ p (y j / xi )⋅ log p (y j / xi ) = H (X ) + H (Y / X )
n m
i =1 j =1
Deasemenea:
H (X , Y ) = H (Y ) + H (X / Y )
pentru canal fara perturbatii echivocatia si eroarea medie sunt nule:
H (X , Y ) = H (X ) = H (Y )
pentru canal foarte perturbat:
H (X , Y ) = H (X ) + H (Y )
CNP CFP
H(X/Y)
H(Y/X
= − H ( X , Y ) + H ( X ) + H (Y ) = H ( X ) − H ( X / Y ) = H (Y ) − H (Y / X )
I ( X ,Y ) ≥ 0
5
Capacitatea canalului
6
5. Modele de canale discrete
p p
1 − p ...
n −1 n − 1
p p
P(Y / X ) = n − 1 1 − p ...
n − 1 unde 0 ≤ p ≤ 1
... ... ... ...
p p
... 1 − p
n − 1 n − 1
p p n
= −[(1 − p) log(1 − p ) + (n − 1) log ] ⋅ ∑ p ( xk ) =
n −1 n − 1 k =1
= (1 − p ) log(1 − p ) − p log p + p log(n − 1) = const.
x2 ο 1 x 2 ο 1 / 2 οy 2 x2 ο οy 2
οy 2
CNP CFP H(p) CNP
1
C(p)
p
0 0,5 1 8
o Canal binar cu erori si anulari
Canalul este uniform fata de intrare si are dimensiunile
alfabetelor n = 2 si m = 3.
1 − p − q p q
• y1 P(Y / X ) =
1-p-q p 1 − p − q q
x1 • q p
p
X q • y3 (anulare) Y
x2 •
1-p-q • y2
Capacitatea canalului:
C = 1 − q + p log p − (1 − q ) log(1 − q) + (1 − p − q) log(1 − p − q)
pentru p ( x1 ) = p( x2 ) = 1 ;
2
daca se mareste rata de anulare, p/q→0, probabilitatea deciziei
incorecte se reduce mult si canalul devine canal binar cu anulari.
o Canal binar cu anulari
Daca q este probabilitatea de anulare a fiecarui simbol de
intrare,
Matricea de tranzitie si graful:
1 − q 0 q
P(Y / X ) = • y1
0 1 − q q 1-q
x1 • q
X • y3 (anulare) Y
q
x2 •
1-q
• y2
Particularizand expresia capacitatii canalului cu erori si
anulari pentru p/q → 0 rezulta capacitatea canalului cu
anulari:
C = 1− q
9
6. Capacitatea canalelor discrete.
• Canal discret general, fara memorie; prin definitie:
C = sup I ( X ; Y ) = sup[ H ( X ) − H ( X / Y )] = sup[ H (Y ) − H (Y / X )],
P( X ) P( X ) P( X )
unde:
n
∑ p ( xi ) − 1 = 0 , p ( xi ) ≥ 0, ∀i
i =1
Trebuie sa se determine maximul functiei:
n
Φ = I ( X , Y ) − λ[ ∑ p ( xi ) − 1]
i =1
Pentru determinarea probabilitatilor optime p(xi) pentru care Φ
este maxim, se rezolva sistemul de ecuatii:
∂Φ
=0
∂p( xi )
n
∑ p ( xi ) = 1
i =1
care, dupa efectuarea derivarii, se poate pune sub forma:
m
∑ [C + ln p0 ( y j )] p ( y j / xi ) = − H (Y / xi ) ∀i = 1, n
j =1
n
p0 ( y j ) = ∑ p0 ( xi ) ⋅ p ( y j xi ) ∀j = 1, m
i =1
m
∑ p( y j ) = 1
j =1
rezultand un sistem de n + m +1 ecuatii cu n + m +1 necunoscute:
p ( x1 ),..., p ( xn ), p ( y1 ),..., p ( ym ) si C
O solutie mai simpla a acestui sistem se obtine pentru n = m,
cand:
p( y1 / x1 ) ... p( yn / x1 ) p11 ... p1n
P(Y / X ) = = p
p ( y1 / x n ) ... p ( y n / x n
) n1 ... pnn
[P(Y / X )]−1 = Q =
q11 ... qn1
... qnn
ale carei elemente sunt date de:
q1n
Pij
q ji = , unde Pij este cofactorul elementului p(yj / xi) .
P (Y / X )
Rezulta:
n
n
−
∑ q ji ⋅ H (Y / x i )
C = log ∑ 2 i =1
;
j =1
n
−
∑ q ji ⋅ H (Y / x i )
p 0 ( y j ) = 2− C ⋅ 2
i =1
;
n
n
−
∑ q jk ⋅ H (Y / x k )
p0 ( xi ) = 2 − C ⋅ ∑ qij ⋅ 2
k =1
;
j =1
n
H (Y / xi ) = − ∑ p( y j / xi ) log p ( y j / xi )
j =1
x2 ο p22 ο y2
Matricea de zgomot este:
p p12
P(Y / X ) = 11
p21 p22
SC
Abonat A/D
telefonic CCD
T
A/D CCD
CCD
Retea locala digitala
A/D
CCA A/D
00 S 2 ο ο ο ο ο ο ο
1 S1 ο ο ο ο ο ο ο
0 S0 ο ο ο ο ο ο ο
11 S3 ο ο ο ο ο ο ο t
Transinformatia va fi:
n/2 m/2 pij
I ( X ,Y ) = ∑ ∑ pij log unde :
i=− n / 2 j =− m / 2 pi ⋅ q j
pi = P{ X = xi = i∆x}; q j = P{Y = y j = j∆y}; pij = P{ X = xi ∩ Y = y j }
pentru ∆x, ∆y → 0
p ( x)dx = P[ x < X < x + dx]
p ( y )dy = P[ y < Y < y + dy ]
x < X < x + dx
p ( x, y )dxdy = P
y < Y < y + dy
Setul de probabilitati pi, qj poate fi scris sub forma:
pi ≅ p ( xi )∆x; q j ≅ q( y j ) ∆y; pij ≅ p ( xi , y j )∆x∆y
+∞ +∞ +∞
∫ log p ( x) dx ∫ p ( x, y ) dy = ∫ p ( x) log p( x) dx = H ( X )
−∞ −∞ −∞
+∞ +∞ +∞
X
proprietate a transformarilor ortogonale isi gaseste aplicatii in
prelucrarea semnalelor, de exemplu la compresia de date.
V Receptoare de simboluri discrete
[X] [Y] ^
[X]
S Canal R
p(xˆ1 / x1 )
x1 • • xˆ1
X X̂
Canal echivalent x2 • • xˆ 2
Μ Μ
xn • • xˆ n
p (xˆn / xn )
det er min iste p(xˆ j / xi ) = 0 / 1
Strategiile pot fi:
stohastice p (xˆ j / xi )∈ 0,1
Ca strategii deterministe:
3. Criteriul riscului minim
p (xˆ j / xi ), i ≠ j , este probabilitatea deciziei eronate
p (xˆ j / xi ), i = j , este probabilitatea deciziei corecte
In matricea Te
j =1
i =1 j =1 i j xi i
i =1 j =1 xi i =1 j =1 i =1
xˆ
R = ∑ ∑ p(xi )p j ⋅ cij =
1 1
Y0
y1 • i =0 j =0 xi
y2 •
= p(x0 ) p 0 c00 + p 1 c01 +
xˆ xˆ
x0 • Μ • xˆ0 x0 x0
yj •
+ p(x1 ) p 0 c10 + p 1 c11 =
xˆ xˆ
x1 • • xˆ1 x1 x1
Y1 Μ
ym−1 •
= p(x1 )⋅ p 0 (c00 − c01 ) + p (x0 )⋅ c01 +
xˆ
ym • x0
+ p(x1 )⋅ p 0 (c10 − c11 ) + p (x1 )⋅ c11
^ xˆ
[X] → [Y] → [X]
[T] [S] x1
R = p(x0 )c01 + p(x1 )c11 + [ p(x1 )cm ⋅ p(xˆ0 / x1 ) − p(x0 )c f ⋅ p(xˆ0 / x0 )] unde:
cm = c10 − c11 ; c f = c01 − c00 ; cm = costul pierderii tintei
cf = costul alarmei false
Tinand cont ca:
p(xˆ0 / x1 ) = ∑ p( yk / x1 )
yk ∈Y0
rezulta:
p(xˆ0 / x0 ) = ∑ p( yk / x0 )
yk ∈Y0
K
yk Λ(yk) yk → xˆ0 de plauzibilitate respectiv
Procesor comparator pragul testului, la testarea
yk → xˆ1 ipotezelor H , H .
0 1
Pentru cazul particular cf = cm = 1 se obtin alte criterii de decizie:
o Criteriul probabilitatii a posteriori maxime,
p ( x0 )
pentru K = :
p( x1 )
H1
> p(x0 )
Λ( yk ) sau, functie de probabilitatile a posteriori:
< p(x1 )
H0
p( yk / x1 ) p(x1 , yk ) / p(x1 ) p ( x1 / yk ) ⋅ p ( yk ) / p ( x1 )
Λ( yk ) = = = =
p( yk / x0 ) p(x0 , yk ) / p(x0 ) p ( x0 , yk ) ⋅ p ( yk ) / p( x0 )
p ( x1 / yk ) ⋅ p ( x0 )
= ,
p ( x0 / yk ) ⋅ p ( x1 )
H1
p ( x1 / yk ) >
1
p ( x0 / y k ) <
H0
R( p ( x1 ), Y0 ) = 1 − p ( x1 ) + ∑ [ p ( x1 ) p ( yk / x1 ) − (1 − p ( x1 ) p ( yk / x0 =
Y0
= R( p ( x1 ) ) = Pf + ( Pm − Pf ), cu notatiile :
Pm = ∑ p ( yk / x1 ), Pf = ∑ p ( yk / x0 ) = 1 − ∑ p ( yk / x0 )
Y0 Y1 Y0
Strategii aleatoare:
o criteriul minimax (in alta interpretare): alegerea de catre receptor a
celei mai defavorizante partitii ( sau a simbolului) care maximizeaza
riscul conditionat R(S, xi) si adoptarea unei strategii S care
minimizeaza acest maximum:
R(S*, x1)
0 1 0 1 0 1
1 0 0 1 0,3 0,7
S i = 0 1; S j = 1 0 → S = 0,7
*
0,3
0 1 1 0 0,7 0,3
0 1 1 0 0,7 0,3
VI Codarea de sursa (pentru canale fara
perturbatii)
[S] [X]
Ss
Sp ↓ Ss ↓ Canal
alfabetul alfabetul
sursei sursei secundare =
primare alfabetul codului
• •
0 1 0 1
• • c1 • •
0 1 0 1 0 1
c1 • • c2 c3 • • c4 c2 • •
0 1
A B
c3 • •
0
• • c4 •
0 0 1
c1 • c1 • •
1 0 1
• c2 c2 • •
1 0 1
• c3 c3 • • c4
1
• c4 D
C
i =1
i =1
este entropia alfabetului codului;
H ( S ) = H (C ) = l H ( X ) ≤ l log D deoarece
H ( X ) ≤ log D = max H ( X ) de unde rezulta limita inferioara a
lungimii medii:
H (S ) H (S )
l≥ = lmin sau ≤ log D
log D l
adica: informatia medie pe simbolul alfabetului
codului nu poate depasi entropia maxima a
alfabetului codului (log D).
Conditia de eficienta maxima codarii:
H (C ) = lmin log D
5. Parametrii codului:
• Capacitatea codului:
C = max H ( X ) = log D
• Eficienta codului:
l H (S ) H ( X )
η = min = =
l l log D log D
• Redundanta codului:
l log D − H ( S ) log D − H ( X )
ρ = 1−η = =
l log D log D
Coduri absolut optimale: l = lmin (η = 1; ρ = 0 )
Coduri optimale: la care, l > lmin ( η <1; ρ > 0 )
→ → →
codul A: codul B:
7
l = ∑ li p ( si ) = 2 l = ∑ li p ( s i ) =
4
l 7
η = min = = 0,88 lmin
l 8 η= =1
l
6. Coduri absolut optimale si optimale
• Coduri absolut optimale; conditia de existenta a
codurilor absolut optimale
N N
H ( S ) = lmin log D = [∑ li p ( si )] ⋅ log D = ∑ p ( si ) log D li ; deoarece
i =1 i =1
N log p ( si )
H ( S ) = − ∑ p ( si ) log p ( si ) rezulta : li = − si
i =1 log D
N
p ( si ) = p (ci ) = D −li si deoarece ∑ p ( si ) = 1 se obtine :
i =1
N
−l
∑ D =1 i
i =1
• Coduri optimale
N
−li
Daca p ( si ) ≠ D → ∑ D −li ≤ 1 rezultand inegalitatea
i =1
lui Mc Millan, care constituie teorema de existenta a
codurilor optimale (instantanee, ireductibile)
si p(si) partitii ci li
s1 0,45 0 0 1
s2 0,30 0 10 2
s3 0,15 1 1 0 110 3
s4 0,10 1 111 3
Se calculeaza:
H ( S ) = lmin = 1,782; l = 1,80; η = 0,99
0,30
s1 •
0,25 1 0,55
s2 • 0 • •
0,20 1 1,00
s3 • •
0
0,10 1 0,45
s4 • • •
0
0,10 1 0,25
s5 • •
0
1 0,15
•
0,05 0
s6 •
R0 R1 R2 R3 R4
Cuvintele de cod:
c1 = 11; c2 = 10; c3 = 01; c4 = 001; c5 = 0001; c6 = 0000
Parametrii codarii:
H ( S ) = 2,3; l = 2,4; lmin = 2,3; η = 0,96
1
VII Codarea pentru canalele cu perturbatii
⊕ 0 1 ⊗ 0 1
0 0 1 0 0 0
1 1 0 1 0 1
ο ο
(3)
v1 • • v'1
Graful de tranzitie pentru cuvintele de cod w1 ο ο w'1
transmise pe un canal cu perturbatii este: v2 • • v '2
w2 ο ο w'2
5. Distanta Hamming
Cuvintele de cod se noteaza cu vi iar cuvintele receptionate cu v’i
(provin din vi dar pot fi diferi de acestea datorita perturbatiilor),
v i = [ai1 ai 2 ... ain ]
v'i = [a'i1 a'i 2 ... a'in ]
daca v i = v'i ( aij = a'ij ) → transmisie fara eroare
5
Daca avem doua cuvinte vi si vj, prin definitie functia distanta este:
n
D( v i , v j ) = ∑ ( aik ⊕ a jk )
k =1
Obs.: distanta intre doua cuvinte de cod este egala cu nr. de
simboluri (coordonate) prin care cele doua cuvinte se deosebesc.
Pentru codurile din fig. de mai sus: D = 1, pentru (1); D = 2, pentru
(2); D = 3, pentru (3).
• Regiuni de decizie
Se poate face o partitie a multimii W in submultimi disjuncteWi
in jurul punctelor vi ∈ Wi cu proprietatea ca toate punctele
vi '∈ Wi sunt mai aproape de punctul vi decat de oricare punct vj
pentru j ≠ i. Daca pentru un punct vi’ are loc relatia:
D( v i ' , v i ) < D( v i ' , v j ) ∀ j ≠ i ,
atunci
v i '∈ Wi
6
Multimea punctelor vi’ care se gasesc la aceeasi distanta
D( v i ' , v i ) = D( v i ' , v j ) fata de vi si vj si care nu pot fi
inglobate in una din Wi, se noteaza cu W0.
In acest caz :
W = V ∪ F = W0 ∪ W1 ∪,...,∪Wk
La receptionarea vi’ pot apare urmatoarele situatii:
o v i '∈ F ⇒ v i ' nu este cuvant de cod si se poate face
detectia erorilor;
o v i '∈ Wi respectiv D( v i ' , v i ) < D( v i ' , v j ) ∀ j ≠ i , se
poate face corectia erorilor: se decide ca vi’ provine din vi
o v i '∈ W0 respectiv D( v i ' , v i ) = D( v i ' , v j ) , erorile nu
pot fi corectate dar pot fi detectate deoarece
W0 ∈ F si v i '∈ F .
Obs.: Posibilitatile de detectie si corectie ale unui cod depind
de distanta minima intre doua cuvinte de cod (toate elementele
v i '∈ Wi se decodifica in vi daca v i ∈ Wi se gaseste la distanta
mare de de cel mai apropiat cuvant cu sens v j ∈ W j ). Astfel,
- pentru detectia a ed erori, distanta minima intre cuvintele de cod
trebuie sa fie: Dmin = ed + 1
- pentru corectia a ec erori, Dmin = 2ec +1
ed 1 ec 1 ec
vi vj ’ vj vi vi’ vj’ vj
6. Cuvantul eroare
Se defineste un cuvant eroare ε care are simboluri din acelasi
alfabet cu cuvintele de cod si cu aceeasi lungime n, generat de
perturbatiile din canal. Cuvantul eroare poate fi scris in forma:
ε = [ε1 ε 2 ...ε n ]
Cuvantul eronat se obtine cu relatia:
v i ' = v i ⊕ ε (transformarea directa)
Exemplu (caz binar): pentru v i = [100] si o perturbatie ε = [010]
cuvantul eronat va fi: v i ' = [110]
Cuvantul corectat se obtine cu relatia:
v i = v i '⊕ε (transformarea inversa)
cu conditia cunoasterii lui ε.
Cuvantul eroare mai poate fi scris si sub forma:
[
ε = ...α i1 ...α i 2 ... ]
7
ε ε
• Erori
o Erori individuale: ele apar ca rezultat al unor perturbatii
accidentale mai scurte decat durata simbolului si
afecteaza in mod individual (izolat) fiecare simbol;
Probabilitatea de aparitie a unor r simboluri eronate intr-un
cuvant de n simboluri este data de o lege de distributie
binomiala de forma:
p (r ) = Cnr p r (1 − p ) n−r iar probabilitatea de aparitie a e ≤ r
erori este data de functia de repartitie corespunzatoare:
e e
P(r ≤ e) = ∑ p(r ) = ∑ Cnr p r (1 − p) n−r
r =0 r =0
Pentru un caz particular
p(r) (canal foarte perturbat) p(r)
este reprezentat alaturat: se
vede ca scade rapid peste o
valoare a lui r
2 4 6 8 10 12 r
Pentru un canal obisnuit p ≈ 10 −3...10 −7 iar pentru canale
profesionale p ≈ 10-10
o Erori in pachete: ele apar pentru perturbatii care dureaza
mai mult ca simbolul si de aceea apar grupate; ele apar
deobicei ca rezultat al unor intreruperi in canalul de
transmisie sau defectiuni in suportul de stocare a
informatiei.
Definitii:
Pachete de erori: o succesiune de simboluri (corecte sau
eronate), in care primul si ultimul simbol sunt eronate si in care
simbolurile corecte succesive apar in grupuri de s < r simboluri;
8
Lungimea l a unui pachet de erori: numarul total de simboluri
(eronate sau neeronate) care formeaza pachetul de erori;
Densitatea D a erorilor: raportul dintre numarul de simboluri
eronate din pachet si numarul total de simboluri;
Cuvantul eroare care contine un pachet de erori de lungime l va
avea l simboluri 0 si 1, din care primul si ultimul (simboluri
eronate) sunt 1. El poate fi scris sub forma:
ε = [...α i ε i +1 ...ε i + l − 2 α i + l −1 ...] unde:
αi este simbolul 1 plasat in pozitia i;
εi+k ese simbolul 0 sau1 plasat in pozitia i+k, cu restrictia
ca nu pot sa apara succesiv un numar de “0” mai mare sau egal
cu “r”.
1
z1
z
zi sunt componentele corectorului z =
2
...
z
m
hij sunt parametrii care determina transformarea H; ei pot fi
ordonati intr-o matrice, H, care in continuare se va numi (din motive ce
vor fi explicate mai departe) matricea de control:
2
h11 h12 ... h1n
h h21 ... h2 n
21
H= ... ... ... ...
... ... ... ...
hm1 hm 2 ... hmn
Ecuatiile mai pot fi scrise astfel:
Hv T = z
sau, daca v = v , Hv T = Hv T = 0 .
i
q11 q12 ... q1k am+1 a1
q q22 ... q2 k am+ 2 a2
21
... ... ... ... . = .
... ... .... ... . .
qm1 qm 2 ... qmk am+ k am
de unde:
k
a j = ∑ q ji am+1 j = 1, m
i =1
3
In general, codurile sistematice pot avea simbolurile de control si de
informatie grupate atat pe pozitiile initiale si respectiv finale (ca mai sus)
cat si invers. Ele au avantajul ca operatia de corectie a erorilor e simpla ca
si separarea simbolurilor de informatie.
[ ]
ε = ...α i1 ....α ie ...
conditiile pentru H cand trebuie corectate cele e erori (simboluri 1) se
determina astfel:
z = Hv T = Hv T + Hε T = Hε T sau
...
α h1i
i1 h
[ ]
z = h1 h 2 ... h n ... , unde h i = sunt coloanele lui H, sau
2i
...
α
ie h
... mi
[ ] [ ]
z = ...α i1 h i1 + ... +α ie h ie + ... = h i1 + ... + h ie deoarece α ik = 1
Pentru a corecta e erori indiferent de pozitiile in care intervin este
necesar ca sumele modulo 2 a cate e coloane oarecare din matricea H sa
fie distincte: in acest fel se obtin corectori distincti pentru fiecare cuvant
eroare care contine e erori.
Daca coloanele lui H sunt astfel alese incat :
h i1 + ... + h ie ≠ h j1 + ... + h je ∀ i k distincte = 1, n si ∀jk distincte = 1, n
adunand in ambii membrii coloanele h j1 ... h je se obtine:
h i1 + ... + h ie + h j1 + ... + h je ≠ 0 sau
h i1 + ... + h i 2e ≠ 0 ∀ i k = 1, n
Daca coloanele matricei H indeplinesc conditiile de mai sus, atunci exista
posibilitatea de a se corecta e erori oarecare.
h i h i
h i1 = 1 , h i 2 = 2 , ... sau:
1 1
h1 h 2 ... h n
H =
v = [a1 a2 ...an−1an ]
ultimele k = n – 1 simboluri reprezinta simboluri de informatie iar primul
simbol a1 este simbolul de verificare a paritatii determinat de:
H v T = 0 sau, tinand cont de H = [1, 1, ... 1],
a1 = a2 + ... + an
Daca la receptie H v T ≠ 0 respectiv:
sau H 1 1 1 ... 1
1 1 ... 1
Corectorul este:
z1
z=H v T=
z 2
Sau:
a 0
0 h1 h 2 ... h n a 1 0 + a 1 h1 + ... + a n h n z1
i’
i’P
c”
2
c1 = i3 + i5 + ... + in
c2 = i3 + i6 + ... + in
c4 = i5 + i6 + ... + in
. . . . . . .
n+1 pentru a indica o eroare intr-unul din cele n simboluri ale cuvantului
receptionat sau pentru a arata ca nu sunt erori. Deci relatia de mai sus sau
relatia 2m ≥ k + m + 1 determina numarul simbolurilor de control cand se da
numarul k al simbolurilor de informatie, la corectia unei singure erori.
Exemplul 1: o sursa genereaza informatia, codata cu un cod Hamming
corector de o eroare, sub forma de sir de mesaje independente dintr-un
set de N = 20 mesaje. Se procedeaza astfel:
- N = 20 • 2k deci k = 5 simboluri, relatia 2m ≥ k + m + 1
este satisfacuta pentru m = 4
- Matricea H va avea dimensiunea m×n:
0 0 0 0 0 0 0 1 1
0 0 0 1 1 1 1 0 0
H=
0 1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0 1
- Cuvantul de cod este:
v = [c1 c2 i3 c4 i5 i6 i7 c8 i9]
- Simbolurile de corectie sunt (din ecuatiile HvT = 0):
c8 = i9
c4 = i5 + i6 + i7
c2 = i3 + i6 + i7
c1 = i3 + i5 + i7 + i9
- Daca cuvantul eroare este:
ε = [0 1 0 0 0 0 0 0 0 ]
cuvantul receptionat este:
v’ = [c1 (c2 +1) i3 c4 i5 i6 i7 c8 i9]
corectorul este:
z4 = c1 + i3 + i5 + i7 + i9 = 0 0
z3 = (c2 + 1) + i3 + i6 + i7 = 1 0
z2 = c4 + i5 + i6 + i7 = 0 z = h2 =
1
z1 = c8 + i9 = 0
prin urmare trebuie sa se corecteaza pozitia 2. 0
5
Exemplul 2: se considera cazul k = 4 de unde rezulta m = 3 si n = 7.
Matricea de control este:
0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1
p( x ) 1 + x n 1 + x7
h( x ) = = = = x 4 + x3 + x 2 + 1
g( x ) g( x ) 1 + x + x2 3
mesaj i3 i4 i5 i6 c0 c1 c2 i3 i4 i5 i6
0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 0 0 1 0
3 0 0 1 1 1 0 1 0 0 1 1
… .. .. .. .. .. .. .. .. .. .. ..
15 1 1 1 1 1 1 1 1 1 1 1
4
g0 =1 g1 g2 gm-2 gm-1 gm =1
Y
0 0
gm=1 0
G
C0 C1 Cm-2 Cm-1
g0 =1 g1 g2 gm-2 gm-1 gm =1
0
b) Pentru
u(x) = x7 +x6 +x5+x+ 1
y(x) = x4 +x2
r(x) = x2 + x +1
succesiunea starilor este data in tabelul urmator:
tact IN (U) C0 C1 C2 OUT (Y)
0 0 0 0 0
1 a7= 1 1 0 0 0
2 a6= 1 1 1 0 0
3 a5= 1 1 1 1 0
4 a4 = 0 1 1 0 1 (← x4)
5 a3 = 0 0 1 1 0 (← x3)
6 a2 = 0 1 0 0 1 (← x2)
7 a1 = 1 1 1 0 0 (← x1)
8 a0 = 1 1 (←x0) 1 (←x1) 1 (←x2) 0 (← x0)
• Codor cu circuite de divizare
Relatia de codare pentru coduri ciclice este:
x mi( x ) m
v( x ) = rest + x i( x )
g( x )
Se observa ca, daca u(x) = i(x) se introduce ca in schema de divizare
care urmeaza, aceasta divizeaza polinomul xmi(x) prin g(x):
U
C0 C1 Cm-2 Cm-1
g0 =1 g1 g2 gm-2 gm-1 gm =1
Y
1: k tacte
0: m tacte
4
Poarta P1 este deschisa pe durata primelor k tacte, permitand pe de o parte
transmisia spre iesire prin P3 a celor k simboluri de informatie, pe de alta
parte introducerea acestora in circuitul de divizare pentru calculul restului;
restul, care constituie simbolurile de control, apare in registru la tactul k+1,
cand P2 este deschisa si P1 este inchisa; P2 ramane deschisa timp de m tacte
pentru a permite evacuarea simbolurilor de control, care sunt plasate cu
ajutorul lui P3 in continuarea simbolurilor de informatie pentru completarea
cuvantului de cod. Dupa evacuarea simbolurilor de control registrul revine in
stare initiala nula, pregatit pentru codarea cuvantului urmator.
• Decodor cu circuite de divizare
Decodarea presupune calculul corectorului z(x) = rest(v’(x)/g(x))
cu ajutorul urmatorului circuit:
V'
C0 C1 Cm-2 Cm-1
g0 =1 g1 g2 gm-2 gm-1 gm =1
Y
Pentru detectia erorilor trebuie verificat daca z(x) este sau nu nul: daca
la iesirea portii SAU apare “1” atunci z(x) ≠ 0, detectandu-se erori.
gm= 1 gm-1 g1 g0
IN
Cm-1 Cm-2 C1 C0
gm= 1 gm-1 g1 g0
IN
Σ1
1
K
2 OUT
C2 C1 C0
(simb. de informatie)
g3= 1 g1 = 1 g0 =1
IN
Σ1 (simboluri de control) Σ2
1 P
K
Daca i = (1001):
9
i(x ) = 1 + x ;
3
x 3i(x )
c(x ) = rest = x + x2;
g (x )
v(x ) = x + x 2 + x 3 + x 6 ;
v = [0111001]
In tabelul urmator se prezinta evolutia starilor registrului de deplasare
cu reactie din exemplul 1:
K tact IN C2 C1 C0 OUT
0 0 0
1 1 i3= 1 1 0 0 i3 = a 6 = 1
1 2 i2= 0 0 1 0 i2 = a 5 = 0
≠ rest
1 3 i1= 0 1 0 1 i1 = a 4 = 0
1 4 i0= 1 0 1 0 i0 = a 3 = 1
2 5 * 0 0 1 c2 = a2 = 1(1+0)
2 6 * 0 0 0 c1 = a1 = 1(0+1)
2 7 * 0 0 0 c0 = a0 = 0(0+0)
v = [a0 a1 …a6] = [c0 c1 c2 i0 i1 i2 i3] = [011 1001]
V’ RP
Mn-1 Mn-2 M2 M1 M0
V
DC1
D P
Cm-1 Cm-2 C1 C0
gm= 1 gm-1 g1 g0
DC2
D P
1
Cm-1 Cm-2 C1 C0
K 2
gm= 1 gm-1 g1 g0
Q Q
P
validare
V 2 a0, a1, a2
I
K
1 a3, a4, a5, a6
V’ RP
M6 M5 M2 M1 M0
V
DC1
“SI” P
(poa
0 0 1
rta “
Cm-1 Cm-2 C2 C1 C0
gm= 1 0
gm-1 g1 0
g0 1
0 0 1
DC2
“SI” P
1
Cm-1 Cm-2 C2 C1 C0
K 2
gm= 1 gm-1 g1 g0
13
Daca a4’ = a4 + 1 este simbolul eronat, n – r = 4, si corectorul,
corespunzator starii registrului de deplasare dupa introducerea tuturor
simbolurilor cuvantului receptionat, va fi:
z = T4 U = T-3 U,
cand simbolul a4’ ajunge in celula M0, dupa doua tacte suplimentare,
starea registrului de deplasare cu reactie este:
T2 T-3 U = T-1 U
adica (0 0 1); in acest moment in celula M0 se aplica un simbol “1” dat de
decodor astfel incat vom avea:
a4’ + 1 = a4
realizandu-se corectia; la tactul urmator, registrul de deplasare cu reactie este
adus in starea 0.
1
XI. Coduri convolutionale
Sunt caracterizate prin faptul ca, spre deosebire de codurile bloc, simbolurile
de informatie generate de sursa sunt prelucrate continuu; aici “blocurile” de
informatie sau control nu au semnificatia de cuvinte de cod: simbolurile de
control dintr-un bloc controleaza simbolurile de informatie si din alte
blocuri.
Constrangere (ordinul de memorie): se defineste prin numarul
blocurilor precedente in care se gasesc simbolurile de informatie
verificate prin simbolurile de control ale blocului considerat (si se
noteaza cu M);
Lungime de constrangere: se defineste prin numarul total de simboluri
informationale i care concura la calculul unui simbol de control (sau
unui simbol din cuvantul de cod) si se noteaza cu nC =k (M + 1);
numarul simbolurilor i memorate este kM;
Rata de codare (raportul dintre numarul de simboluri informationale si
lungimea unui bloc codat): R = k L / n(L+ M) , unde L este numarul de
blocuri considerate, din secventa de lungime finita codata.
Distanta de cod de ordinul N (minimul distantei Hamming, calculata
insa pe N blocuri): DN = min DH (viN, vjN)
Obs.:
a) Daca L >> M, R = k / n ca la codurile bloc;
b) Daca nu se lucreaza cu L mari, R < k / n si rata va fi mai mica
decat la codurile bloc, reflectand o redundanta relativ ridicata,
necesara insa in aplicatiile cu transmiterea datelor prin canale
perturbate (canal radio);
tn tn+1 tn
T i C1 C2 V
1 (i) 2 (c)
1 0 0 0 0 0
2 1 1 0 1 1
3 1 1 1 1 1
4 0 0 1 0 1
5 1 1 0 1 0
6 0 0 1 0 0
7 0 0 0 0 1
Obs.: la codurile sistematice cele k simboluri informationale se regasesc
nemodificate in cele n simboluri ale cuvantului de cod: prin comutatorul de
iesire se transmit direct la iesire aceste simboluri (vezi poz. 1 la schema din
exemplu)
b) la nesistematice (intalnite in majoritatea aplicatiile recente datorita
faptului ca la aceeasi rata de codare se pot corecta mai multe erori),
avem n × m = 2 polinoame generatoare, dintre care cel putin unul de grad 2:
g(1) (x) = 1 +x2 si g(2)(x) = 1 + x + x2 sau 1+x
daca se aleg in mod corespunzator** g( j )(x), pentru nesistematic codarea este:
u (1) ( x) = i ( x) g (1) ( x) = ( x + x 2 + x 4 )(1 + x 2 ) = x + x 2 + x 3 + x 6
u ( 2) ( x) = i ( x) g ( 2) ( x) = ( x + x 2 + x 4 )(1 + x + x 2 ) = x + x 5 + x 6
se alege combinatia de g(1) (x) si g(2) (x) asa incat sa nu aiba factor comun modulo 2, in
**
caz contrar obtinandu-se erori catastrofice (un numar finit de erori la transmisie produc
un numar infinit de erori la decodare )
4
iar secventa de cod va fi:
V = (| u0(1) u0(2) | u1(1) u1(2)| …) = (00 11 10 10 00 01 11)
Evolutia starilor se da in tabelul care urmeaza:
tn tn+1 tn
T i C1 C2 V
1 (u ) 2 (u(2))
(1)
1 0 0 0 0 0
2 1 1 0 1 1
3 1 1 1 1 0
4 0 0 1 1 0
5 1 1 0 0 0
6 0 0 1 0 1
7 0 0 0 1 1
V (n bit)
n
2
1
Comuta la T/n
a) b)
0/01 0/01 0/11 0/10
01 01
o Diagrama trellis (reprezentarea evolutiei starilor in timp)
Este alcatuita din noduri si arce de tranzitie; fiecare nod reprezinta una
din cele 2kM stari (determinate de constrangerea sau memoria
codorului); din fiecare nod (stare) ies 2k arce (corespunzator celor 2k
simboluri posibile). Pentru exemplul anterior, la sistematice (a) si
nesistematice (b) avem diagramele care urmeaza unde arc plin
semnifica tranzitie la primire “0” si arc punctat la primirea “1”:
t0 t1 t2 t3 t4 t5
00 ο 00 ο 00 ο 00 ο
00 ο 00 ο a)
11 11 11 11 11
Traseele
10 ο ο ο 01 ο 01 ο 01 ο marcate
00 00 00 00 cu sageti
01 ο ο ο 10 ο 10 ο 10 ο corespund
secventei i
11 11 01 11 01 11 01
= (01101)
11 ο ο ο 10 ο 10 ο 10 ο
t0 t1 t2 t3 t4 t5
00 ο 00 ο 00 ο 00 ο 00 ο 00 ο b)
11 11 11 11 11
10 ο ο ο 11 ο 11 ο 11 ο
01 01 01 01
01 ο ο ο 00 ο 00 ο 00 ο
10 10 10 10 10 10 10
11 ο ο ο 01 ο 01 ο 01 ο
6
2. Decodarea (cu algoritmul Viterbi)
Principiul decodarii se prezinta cu ajutorul exemplului pe care s-a facut
analiza codarii (cazul nesistematic, respectiv diagrama de stari b);
algoritmul Viterbi opereaza pe trellis bloc cu bloc, pe un numar finit de
blocuri, pentru a regasi drumul utilizat la codare. In fiecare nod se calculeaza
distantele (in alta varianta, gradul de corelatie) intre secventa receptionata si
toate secventele de pe trellis, cumuland distanta (gradul de corelatie) de la un
nod la altul. In fiecare bloc, in fiecare nod intra doua ramuri, deci vor fi doua
distante (grade de corelatie) pentru fiecare nod, dintre care se retine drumul
cu distanta minima (corelatie maxima) numit “supravietuitor”. Daca intr-un
nod exista doua drumuri de distante egale (corelatii egale) se alege unul din
ele la intamplare ca “supravietuitor”. Cu “supravietuitorii” din blocul j se se
analizeaza blocul j + 1 etc. Analiza se continua pe atatea blocuri pana cand
ramane un singur drum care va fi considerat secventa corecta (numarul de
blocuri W pe care se face decodarea se numeste fereastra de decodare). Din
practica s-a constatat ca pentru W = (4 ÷ 5) Mk se poate lua o decizie corecta,
cu distorsiuni neglijabile fata de cazul W → ∞ (memorie infinita). Secventa
receptionata este V’ = (x11x12…xi1xi2…) iar secventa aferenta ramurii este C =
(c11c12…ci1ci2…). Gradul de corelatie pentru blocul i se defineste:
M = xi1 ci1 + xi2 ci2
Daca se atribuie pentru simboluri valori bipolare: 0 → - 1, 1 → +1, M ia
valorile din tabel:
00 →
00
00 M = +2 (calea se valideaza)
00 → 11
10 M = −2 (calea se abandoneaza)
...........................................................................................
10 →
01
01 M = 0 (calea se valideaza la intamplare)
10 → 10
11 M = 0
............................................................................................
01 →
11
00 M = −2 (calea se abandoneaza)
01 → 00
10 M = +2 (calea se valideaza)
............................................................................................
11 →
10
01 M = 0
11 →
01
11 M = 0 (calea se valideaza la intamplare)
0 2 2 2 4 6
00 ο ο ο ο ο ο
0 0 2 4 8 4
01 ο ο ο ο ο ο
0 2 4 2 4 10
10 ο ο ο ο ο ο
0 0 2 6 4 4
11 ο ο ο ο ο ο
t0 t1 t2 t3 t4 t5
Anexa A1 1
3) Daca p(x) = xn +1, se poate arata ca produsul de forma h(X) v(X) intre
doua elemente ale claselor de resturi modulo p(x) se poate pune sub o
forma similara produsului scalar h , v :
h(X) = h0 +h1X +h2X2
v(X) = a0 +a1X +a2X2
h(X) v(X) = h0 a0 +( h0 a1+ h1 a0)X +( h0 a2+ h1 a1+ h2 a0)X2 +( h1 a2+
h2 a1)X3 + h2 a2X4
deoarece p(X) =X3 +1= 0 → X3 = 1, X4 = X,…
h(X) v(X) = h0 a0+ h1 a2+ h2 a1 +( h0 a1+ h1 a0 + h2 a2)X+( h0 a2+
h1 a1+ h2 a0)X2 = 0,
de unde:
h0 a0+ h1 a2+ h2 a1 = 0
h0 a1+ h1 a0+ h2 a2 = 0
h0 a2+ h1 a1+ h2 a0 = 0
Prima relatie este similara produsului scalar h , v = 0 in care toate
componentele unuia din vectori sunt scrise in ordine inversa. In plus,
urmatoarele doua relatii pun in evidenta din nou proprietatea de
ciclicitate deoarece orice permutare ciclica a coeficientilor conduce la
un produs scalar nul. In general, daca gradul lui h(x) este k si gradul lui
v(x) este n-1 cele m ecuatii corespunzatoare sunt, avand in vedere ca
din cele n ecuatii date de permutarile ciclice numai m =n – k sunt
independente:
a0 a1 ...an −1 00...0hk ...h0 = 0
a0 a1 ...an −1 00...hk ...h0 0 = 0
…………………………..
a0 a1 ...an −1 hk hk −1 ...h0 0...0 = 0
care pot fi scrise sub forma matriceala:
0 0 ... 0 hk hk −1 ... h1 h0 a0
0 ... 0 h h hk − 2 ... h0 0 a1
k k −1 =0
... ... ... ... ... ... ... ... ... ...
hk ... h2 h1 h0 0 ... 0 0 a n −1
sau, compact:
HvT = 0
Anexa A2
Unele aplicatii ale teoriei codurilor
50 3 132 4
378 78
1
V
2
Comutare
la T/2
I
C0 C1 C2 C3 C4