Professional Documents
Culture Documents
Note de curs
Daniela Coltuc
2010
Notatii si abrevieri
variabila aleatoare
xi
[X ]
alfabetul sursei
v.a.
variabila aleatoare
1. INTRODUCERE
Teoria Informatiei raspunde la doua intrebari fundamentale in telecomunicatii :
-
Cat de mult se poate transmite printr-un canal de comunicatie ? (In anii 40,
comunitatea stiintifica credea ca marind cantitatea de informatie transmisa printr-un
canal, creste si probabilitatea eronarii ei ; Shannon a surpris lumea stiintifica, aratand
ca transmisia poate fi facuta corect, cu conditia ca rata de transmisie sa nu depaseasca
capacitatea canalului ; capacitatea canalului se poate calcula din caracteristicile
zgomotului existent in canal)
Teoria Informatiei are contributii si in alte domenii (Fig. din Elements of Information Theory,
Thomas M. Cover, Joy A. Thomas)
Definitie : Un sistem de transmisiune (de comunicatie) este un ansamblu fizic care realizeaza
transmiterea unui mesaj de la o sursa la un utilizator.
CoS
CoC
CANAL
m
DecC
DecS
dm
P
S
sursa de mesaje
CoS Codor de sursa (compresia datelor)
CoC Codor de canal (protectie contra perturbatiilor)
m
modulator
CANAL
Canal de comunicatie
Dm demodulator
P
Perturbatii
DecC Decodor de canal
DecS Decodor de sursa
U
Utilizator
Observatie : Aceasta este o schema completa; in functie de de aplicatie, unele bolcuri pot
lipsi.
Rezultatul unui experiment aleator nu este cunoscut dinainte ; realizarea unui anumit
eveniment este caracterizata de o probabilitate.
Nf
Np
2.3.Variabila aleatore
Variabila aleatoare este o notiune folosita pentru a descrie evenimentele rezultate in urma
unui experiment aleator.
Definitie: Variabila aleatoare (v.a.) este o functie care asociaza fiecarui eveniment o valoare
numerica.
Notam cu X v.a.
X : R
Exemplu:
Zarul
X : = [E1 , K , E 6 ] [1,2,3,4,5,6]
Observatie:
a) Oricarei submultimi a multimii valorilor lui X ii corespunde un eveniment
b) 1,2,3,4,5,6 se numesc realizari particulare a le v.a. X .
p (E i ) = p ( X = x i ) = p ( x i ) = p i
Exemplu:
Zarul : multimea valorilor lui X este discreta
Temperatura ia valori intr-un interval.
f (x ) =
dF
dx
Exemplu:
Zarul: Functia de repartitie este o functie in scara scara
Densitatea de probabilitate este o serie de functii Dyrac
Densitate de probabilitate gaussiana (sau normala): f ( x ) =
x ( x )
/ 2 2
unde este
1 / a
Densitatea de probabilitate uniforma: f ( x ) =
0
Densitatea de probabilitate exponentiala:
x [0 a ]
in _ rest
e x
f (x ) =
0
x0
in _ rest
Definitia 2 (tipul v.a.) : O v.a. este discreta daca are o functie de repartitie in scara; o v.a. este
continua daca are o functie de repartitie continua.
p (E i , M )
p (M )
se realizeze.
Observatie: E i si M pot fi evenimente ale aceluiasi experiment (aceeasi v.a.) sau pot fi
evenimente a doua experimente diferite (2 v.a.).
p (xi / x j ) =
p (xi / y j ) =
p (xi / x j )
p (x j )
(aceeasi v.a.)
p (xi / y j )
p(y j )
p ( y j / xi ) p ( xi )
p(y j )
Observatii:
a) Functia de repartitie si densitatea de probabilitate se definesc si pentru v.a. conditionate
F (x M ) = p{X x M }
f (x M ) =
dF (x M )
dx
b) Functia de repartitie si densitatea de probabilitate se definesc si pentru 2 sau mai multe v.a.
F ( x, y ) = p{X x, Y y}
f ( x, y ) =
dF (x, y )
dxdy
p (Ei , E j ) = p (Ei ) p (E j )
Definitie: Doua v.a., X si Y , sunt independente daca oricare dintre realizarile lor particulare
sunt independente.
3. SURSE DE INFORMATIE
3.1. Informatia
Definitie : Informatia este cantitatea de incertitudine pe care o avem asupra producerii unui
eveniment, rezultat in urma unui experiment aleator.
Fie un experiment aleator ale carui rezultate sunt descrise prin v.a. X , care ia valori in
multimea [X ] = [x1 , x 2 , K , x n ] . Incertitudinea asupra evenimentului E , caruia ii corespunde
i
realizarea particulara x , se noteaza:
i
( )
U E = U ( X = xi ) = U ( x i )
i
U de la uncertainty
Incertitudinea si informatia sunt, din punct de vedere cantitativ, doua notiuni echivalente.
Vorbim despre incertitudine inainte de producerea evenimentului si de informatie dupa
producerea sa.
U ( xi ) = i ( xi )
i de la information
Incertitudinea/informatia unui eveniment este o functie de probabilitatea de aparitie pi a
evenimentului:
U ( xi ) = i ( xi ) = F ( p i )
3.1.2. Specificarea functiei F
F ( pi , q j ) = F ( pi ) + F (q j )
Functia care indeplineste cerintele b) si c) este logaritmul; pentru a satisface si cerinta a),
luam negativul logaritmului:
F ( pi ) = log( pi )
Deci, incertitudinea/informatia asupra unui eveniment care are probabilitatea pi , se
calculeaza cu :
U ( xi ) = i( xi ) = log( pi )
Proprietati :
Transformarea unitatilor :
1dit = 3,32bit
1nat = 1,44bit
3.1.4. Informatia mutuala a doua evenimente
unde U (xi / y j ) este incertitudinea care ramane asupra lui xi dupa producerea lui y j (cand se
cunoaste y j ) .
i (xi , y j ) = log p( xi ) + log p(xi / y j ) = log
Observatie: informatia mutuala poate fi si negativa.
Exemplu:
p ( xi ) = 1 / 2
p(xi / y j ) = 1 / 4
i (xi , y j ) = 1 2 = 1
p (xi , y j )
p (xi ) p ( y j )
=1
Definitii :
Simbolul (sau litera) este elemental fundamental, ireductibil, care contine informatie.
x1 , x 2 , K , x N sunt simboluri
Alfabetul este totalitatea simbolurilor diferite care pot fi generate de sursa.
[X ] este alfabetul sursei
Cuvantul este o succesiune de simboluri (Exemplu: un byte este o succesiune de 8
simboluri binare).
Limba este totalitatea cuvintelor formate cu un alphabet (Exemplu: 256 de cuvinte
binare de 8 biti).
Definitie: Sursa fara memorie (simpla sau independenta) genereaza v.a. independente. Cu
alte cuvinte, probabilitatea de a genera un anumit simbol xi la momentul k nu depinde de
simbolurile generate anterior.
p( X k = xi / X k 1 , X k 2 ,...) = p( X k = xi )
Definitie: Sursa cu memorie genereaza v.a. dependente.
Definitie: Dimensiunea memoriei sursei este egala cu numarul de simboluri anterioare care
conditioneaza probabilitatea de aparitie a unui nou simbol.
Exemplu:
p( X k = xi ) = p( X k + = xi ) oricare ar fi k , sau i .
Un caz particular al surselor stationare este sursa ergodica. Pentru a defini sursa ergodica, ne
bazam pe notiunea de sir tipic.
Definitie: Sir tipic
Fie un sir de simboluri generat de sursa, suficient de lung a.i. sa putem estima
probabilitatile de aparitie a simbolurilor folosind definitia probabilitatii ca raport intre
numarul de cazuri favorabile si numarul total de cazuri.
Daca intr-un sir, probabilitatile astfel estimate sunt egale cu probabilitatile din setul
sursei, atunci sirul este tipic.
Altfel spus, daca n este lungimea sirului tipic considerat si ni este numarul de
simboluri xi din sir, atunci ni = npi oricare ar fi i.
Definitie: O sursa ergodica este o sursa care genereaza numai siruri tipice.
Observatie: Definitiile stationaritatii si ergodicitatii de mai sus sunt valabile pentru sursa
fara memorie. In cazul sursei cu memorie, ele se enunta inlocuind notiunea de simbol cu cea
de stare (definitia starii este data in subcapitolul de Surse Markov).
Surse discrete
Surse stationare
Surse ergodice
Sursa Markov este un model matematic des folosit in practica pentru a descrie sursele discrete
de informatie, cu memorie. Exista diverse definitii pentru sursa Markov.
3.3.1. Definitii si notatii
Definitia I : Sursa Markov este o sursa discreta, cu memorie de lungime constanta.
Definitie : Ordinul sursei Markov este dat de lungimea memoriei.
Definitie : Starea sursei Markov la un momentul k este data de sirul de simboluri de
lungime egala cu ordinul sursei, generat anterior.
[X ] = [0,1]
Alfabetul :
Probabilitatile de aparitie a simbolurilor sunt probabilitati conditionate, de forma
p( X k = xi / X k 1 , X k 2 )
p (0 / 0,0)
p(1 / 0,0)
p (0 / 0,1)
p(1 / 0,1)
p (0 / 1,0)
p(1 / 1,0)
p (0 / 1,1)
p(1 / 1,1)
Multimea starilor are N R , unde N este dimensiunea alfabetului, iar R este ordinul sursei.
Definitie: Probabilitatea ca sursa Markov sa fie intr-o anumita stare este egala cu
probabilitatea de aparitie a sirului de simboluri care constituie starea.
Multimea starilor: [S k ] = s1 , s 2 , K, s N k
=1
=1
pi = p (xi / s j )q j
Fiecare simbol nou generat constituie, impreuna cu cele anterioare, o noua stare :
p(1 / 0,0)
p(1,0 / 0,0)
Probabilitatea ca sursa sa genereze simbolul 1 cand se afla in starea 0,0 este totuna cu
probabilitatea ca sursa sa treaca din starea 0,0 in starea 1,0.
Definitia III : O sursa Markov este o sursa cu memorie la care probabilitatea de aparitie a
unei stari nu depinde decat de starea anterioara.
[S ] = [s1 , s 2 , s3 , s 4 ] = [00
01 10 11]
01
1/4
3/4
2/3
1/3
11
2/3
1/3
10
00
1/3
2/3
Observatie : Descrierea prin diagrame de stare este utila cand sursa Markov este stationara.
p1,1
T =
p N k ,1
p1, 2
p N k ,2
p1, N k
p N k , N k
Proprietate: suma elementelor de pe orice linie este egala cu 1, de aceea spunem ca T este o
matrice stohastica.
Definitie : Vectorul probabilitatilor starilor este constituit din probabilitatile tuturor
starilor:
P (S ) = q1 K q N R
Prin tranzitivitate:
P(S k ) = P(S k 1 )T = P(S k 2 )T 2 = K = P(S 0 )T k
unde P(S 0 ) este vectorul probabilitatilor in starea initiala a sursei
Definitie : Sursa Markov este regulata daca, atunci cand n , P(S n ) devine constant. In
acest caz, P(S n ) se numeste distributie de echilibru sau asimptotica a starilor sursei Markov.
Exemplu : sursa Markov regulate (binara de ordinul 1).
P(S 0 ) = [1 / 3 2 / 3]
1 / 4 3 / 4
T =
1 / 2 1 / 2
Justificare:
numarul de aparitii ale unui simbol este aproximativ ni npi . Deci, probabilitatea estimata de
pn n
iar entropia H ( X ) =
i (S )
= pi log( pi )
n
i
Observatie : Aceasta expresia a entropei este valabila si pentru sursele neergodice sau sursele
nestationare.
Unitatea de masura pentru entropie : bit/simbol.
H(X)
1
1/2
[X ] = [x1 , x2 ,K, x N ]
si alfabetul starilor :
[S k ] = [s1 , s2 ,K, sN
Definitie : Entropia sursei Markov este informatia medie pe stare, generata de sursa:
H (S k ) = p (s j )H S k s j
H S k s j = p si s j log p si s j
Proprietate : Entropia sursei Markov este mai mica decat entropia unei surse fara memorie
care ar genera aceleasi simboluri (dependenta de trecut diminueaza cantitatea medie de
informatie pe simbol):
H (S k ) < H (S 0 )
Justificare:
Fie [P ] = [ p1 , p 2 , K, p N ] cu
p = 1 si
] cu q = 1
i
Definitie: Marimea
log 2
Cea mai simpla metoda de decorelare este DPCM (Differential Pulse Code Modulation)
4.3.1. Cazul semnalelor 1D
i1, j 1
i1, j
ii 1,1
ii ,1
K K
K ii 1, j 1
K ii , j 1
ii 1, j
ii , j
K
K
K
Imaginea decorelata este constituita din pixelii diferenta d i , j = 0,75ii 1, j 0,5ii 1, j 1 + 0,75ii , j 1 :
i1,1
i1, j 1
K K
K
ii 1,1 K d i 1, j 1
ii ,1 K d i , j 1
K
i1, j
K
d i 1, j
d i, j
K
K
K
Definitie : Debitul de informatie al unei surse este cantitatea medie de informatie generata
pe secunda de sursa.
H t (X ) =
H (X )
Unde H max ( X ) este entropia maxima a sursei (entropia in cazul simbolurilor echiprobabile) si
H ( X ) este entropia sursei.
Unitatea uzuala de masura este bit/simbol.
Definitie : Redundanta relativa a unei surse este
(X ) =
H max ( X ) H ( X )
H max ( X )
( X ) [0 1]
[X ] = [x1 , x2 ,K, x N ]
[P] = [ p1 , p 2 ,K, p N ] cu pi
=1
si
[Y ] = [ y1 , y 2 ,K, y M ]
[Q] = [q1 , q 2 ,K, q M ] cu qi
=1
Observatii:
I ( X , Y ) = p (xi , y j )log
i
p (xi , y j )
p ( xi ) p ( y j )
Cazuri particulare :
Proprietati:
1. I ( X , Y ) = H ( X ) + H (Y ) H ( X , Y )
Justificare: Se calculeaza expresia din stanga, scriindu-i pe H ( X ) si H (Y ) ca functii
probabilitatii totale.
2. Informatia mutuala este o marime nenegativa: I ( X , Y ) 0 .
Justificare: Rezulta din proprietatea entropiei conjugate H ( X , Y ) H ( X ) + H (Y )
Observatie: Desi informatia mutuala a doua simboluri poate fi si negativa, informatia
mutuala a doua surse este totdeauna nenegativa.
H ( X Y ) = p (xi , y j )log p xi y j
i
H ( X Y ) = p ( y j )H X y j .
j
Cazuri particulare:
H(X)
H(Y)
H(X)
H(Y)
H(X/Y)
H(Y/X)
H ( X , Y ) = H ( X Y ) + H (Y )
H ( X / Y ) H ( X ) H ( X , Y ) H ( X ) + H (Y )
H(X/Y,Z)
H(Y/X,Z)
H(Z/X,Y)
b) 0 H (Z X , Y ) H (Z X ) H (Z )
Pentru n surse, prin analogie cu relatiile anterioare, putem scrie:
a) H ( X 1 , K , X n ) = H ( X 1 ) + H X 2 X 1 + K + H ( X n X 1 , K , X n 1 )
b) 0 H ( X n X 1 , K, X n 1 ) H ( X n X 1 , K, X n 2 ) K H (X n X 1 ) H ( X n )
[X]
S
S
Mod
C A N A L
DeM
[Y]
U
continuu in timp
discret in timp
stationar
nestationar
[X ] = [x1 ,K, x N ]
[P] = [ p1 ,K, p N ]
si Y , sursa de informatie care modeleaza iesirea din canal (sursa de informatie pentru
utilizator):
[Y ] = [y1 ,K, y M ]
[Q ] = [q1 ,K, q M ]
Din cauza perturbatiilor de pe canal, X si Y sunt, in general, diferite.
Spatiul produs:
(x1 , y1 )
(x , y )
[X , Y ] = 2 1
K
( x N , y1 )
(x1 , y 2 )
(x 2 , y 2 )
K
(x N , y 2 )
K
K
K
(x1 , y M )
(x 2 , y M )
K (x N , y M )
K
p (x1 , y1 ) p( x1 , y 2 )
p( x , y ) p(x , y )
2
2
[P( X , Y )] = 2 1
K
K
p( x N , y1 ) p (x N , y 2 )
K p ( x1 , y M )
K p (x 2 , y M )
K
K
K p ( x N , y M )
p ( y1 x1 ) p ( y 2 x1 )
p ( y1 x N ) p ( y 2 x N )
p ( y M x1 )
p ( y M x 2 )
K
K p ( y M x N )
K
K
K
p (y
i
x1
p( y1 / x1 )
y1
x2
y2
.
yM
xN
Definitie: Echivocatia este cantitatea medie de incertitudinea care ramane asupra simbolurilor
de la intrarea in canal, atunci cand se cunosc simbolurile de la iesire.
Eroarea medie: H (Y X ) = p (xi , y j )log p ( y j xi )
i
Definitie: Eroarea medie este cantitate medie de informatie eronata, la iesirea din canal.
Informatia medie transmisa prin canal: I ( X , Y ) = p (xi , y j )log
i
p (xi , y j )
p ( xi ) p ( y j )
Definitie: Informatia medie este cantitatea medie de informatie care se transmite corect prin
canal.
Cazuri particulare :
H ( X , Y ) = H ( X ) + H (Y )
H ( X Y ) = H ( X ) (la iesire, nu aflam nimic despre X ; incertitudinea asupra lui X ramane la
fel de mare)
H (Y X ) = H (Y ) (toata informatia de la iesire este eronata)
I ( X , Y ) = 0 (informatia medie transmisa prin canal este nula)
I (X ,Y )
[0,1] .
C
Definitie : Randamentul sau eficienta canalului arata cat de mica este cantitatea medie de
informatie transmisa prin canal, in raport cu capacitatea canalului.
C =
I (X ,Y )
[0,1]
C
I (X ,Y )
Proprietati :
b) C H ( X ) (deoarece I ( X , Y ) H ( X ) )
c) Capacitatea este o functie continua in raport probabilitatile [P( X )] .
Rezolvare:
Se construieste functia:
= H (Y ) H (Y / X ) + pi 1
i
H (Y )
H (Y ) q j
1
p ( y j / xi ) =
=
= log q j +
pi
q j pi
log e
j
j
=
1
1
p ( y j / xi ) p ( y j / xi )log q j =
p ( y j / xi )log q j
log e j
log e
j
j
p ( y j / xi ) pi log p ( y j / xi )
j
pi
= p ( y j / xi )log p ( y j / xi )
j
derivata termenului in :
pi 1
i
=
pi
Se egaleaza derivatele partiale ale lui cu zero; din rezolvarea sistemului, rezulta
probabilitatile pimax , care maximizeaza si, deci, informatia transmisa prin canal:
1
p(y
j
/ xi )log
p ( y j / xi )
qj
= ct
pentru i = 1, N
pentru
j = 1, M
si
=1
p ( y j / xi )
q max
j
Observatii:
acest sistem nu are, in general, o solutie analitica; cand nu exista o solutie analitica,
capacitatea se calculeaza cu metode numerice (algoritmullui Frank-Wolfe, care este
bazat pe metoda gradientului, sau algoritmul iterativ al lui Arimoto si Blahut)
daca alfabetele surselor de la intrarea si de la iesirea din canal au acelasi numar de
simboluri si, daca, determinantul matricii de zgomot este diferit de zero, atunci
sistemul are solutie analitica
5.5. Modele de canale discrete
Aceasta sectiune cuprinde patru cazuri particulare de canale (modele), pentru care capacitatea
se poate calcula analitic.
5.5.1. Canalul uniform fata de intrare
Definitie: Fiecare linie a matricii de zgomot a canalului uniform fata de intrare este o
permutare a altei linii (pe fiecare linie gasim aceleasi probabilitati, diferit ordonate).
Exemplu:
1
P(Y / X ) = 3
1
1
6
1
2
1
2
1
Proprietati:
H (Y / X ) = p (xi , y j )log p ( y j / xi ) =
i, j
= p ( y j / xi ) p (xi ) log p ( y j / xi ) =
i, j
[P ]
[P ]
Proprietate:
a) Daca simbolurile de la intrarea in canal sunt echiprobabile, atunci si cele de la iesire
sunt echiprobabile:
p ( y j ) = p ( y j / xi ) p ( xi ) =
i
1
1
p ( y j / xi ) = ct.
N i
N
Proprietati:
a) Capacitatea canalului se obtine pentru simboluri echiprobabile la intrarea in canal si
este:
P(Y / X ) = 3
1
1
6
1
2
1
2
1
Proprietati:
a) Daca simbolurile de la intrarea in canal sunt echiprobabile, atunci si cele de la iesire
sunt echiprobabile:
p ( y j ) = p ( y j / xi ) p ( xi ) =
i
1
1
p ( y j / xi ) = ct.
N i
N
p 1 p
Reprezentare grafica:
1-p
1-p
Calculul capacitatii:
C = log 2 H (Y / X ) = 1 H (Y / X )
H(X), C
unde
H (Y / X ) = p ( y j / xi )log p ( y j / xi ) =
2
j =1
= p log p (1 p ) log(1 p )
deci
C = 1 + p log p + (1 p ) log(1 p )
1/2
Cazuri particulare:
0 1
Reprezentare grafica:
1
Capacitatea este maxima : C = 1 bit / simbol
Observatie:
1 0
C = 1 bit / simbol
1 / 2 1 / 2
p
q
1 p q
P(Y / X ) =
Canalul este uniform doar fata de intrare.
p
1 p q q
1-p-q
q
p
Y =0
Y =a
Y =1
X =1
Calculul capacitatii:
unde
H (Y / X ) = p ( y j / xi )log p ( y j / xi ) =
2
j =1
- se noteaza p ( X = 0 ) = x si p( X = 1) = 1 x
2
ca functii de x
- se exprima H (Y ) ca functie de x , folosind probabilitatile calculate mai sus
H (Y )
- se rezolva ecuatia
=0
x
- cu solutia ecuatiei de mai sus, se obtine max[H (Y )]
[P ]
Exercitiu:
1 q
C
= 0 si se obtine solutia p =
)
2
p
1 q
(se rezolva ecuatia
2
Matricea de zgomot:
0
q
1 q
P(Y / X ) =
0 1 q q
Reprezentarea grafica:
X =0
1-q
Y =0
q
Y =a
X =1
Y =1
1-q
Capacitatea: C = 1 q
2 x [0 1 / 2]
f (x ) =
in _ rest
0
1/ 2
1/ 2
H ( X ) = 2 log 2 2dx = 2 dx = 1
Semnalul discret poate fi modelat de un sir de v.a. discrete X k(q ) , altfel spus, sursa de
nq
f (x )dx qf (nq )
( n 1)q
n =1
n =1
n =1
n =1
si relatia entropieidevine:
H (X q ) = log q f ( x )dx f ( x ) log f ( x )dx = log q + H ( X )
Concluzie:
a) H (X q ) este entropia unei surse de informatie discrete, deci are semnificatia unei informatii
medii. La limita, cand q 0 , sursa devine continua si lim H (X (q ) ) este informtia medie a
q 0
sursei continue, ceea ce nu este acelasi lucru cu H ( X ) din cauza termenului log q . Deci,
entropia sursei continue nu are semnificatia unei cantitati medii de informatie.
b) La limita, termenul log q tinde catre infinit, de aceea, spunem ca informatia medie a
sursei continue este infinita (in timp ce entropia H ( X ) este de cele mai multe ori o marime
finita).
f (x )log f (x ) 0
R
f (x )
f (x )log g (x )
distributiilor continue. Este o marime nenegativa; ia valoarea zero cand cele doua distributii
sunt indentice.
H ( X ) = f ( x ) log 2 f (x )dx
cu restrictia
f (x )dx = 1
a
f (x )dx = 1 si media
x0
in _ rest
H max ( X ) = log m +
m
log e
f (x )dx = 1 , media
statistica m = 0 si varianta 2 .
f.
H max ( X ) = log 2e
d 1
dx
V 1
J = K
X d N 1
dx1
d N
dx1
K K
d N
K
dx N
K
ceea ce conduce la urmatoarea relatie intre entropiile semnalului inainte si dupa transformare:
U
= f ( x1 , K , x N ) logg ( 1 ,K , N ) J dx1 K dx N =
X
X
U
= f ( x1 , K , x N ) log J
X
X
dx1 K dx N g ( 1 , K , N ) logg ( 1 , K , N )d 1 K d N =
U
= f ( x1 , K , x N ) log J
X
X
dx1 K dx N + H (V )
ceea ce arata ca, in general, entropia semnalului se schimba atunci cand se aplica o
transformare.
Se poate arata ca, in cazul unei transformari ortogonale (Fourier, Cosinus, etc.) :
V
J = 1
X
si atunci
H ( X ) = H (V ) deoarece
f (x1 , K , x N )dx1 K dx N
=1.
[X ] = [x1 , x2 ,K, x N ]
unde x n = nq
si probabilitatile :
f X (x n )q
[Y ] = [ y1 , y 2 ,K, y M ]
unde y m = mq
si probabilitatile:
= f X ,Y ( x, y )q 2 log
i
p (xi , y j )
p ( xi ) p ( y j )
f X ,Y ( x, y )q 2
f X ( x)qf Y ( y )q
f X (x )
dxdy =
f X ,Y (x, y )
Observatie: Spre deosebire de entropie, care isi pierde semnificatia la trecerea de la discret la
continuu, I ( X , Y ) isi pastreaza semnificatia de cantitatea medie de informatie pe esantion.
Pe durata D a semnalului, daca esantioanele de semnal sunt independente, se transmite o
cantitate de informatie egala cu D 2W I ( X , Y ) , unde D 2W este numarul total de
esantioane transmise.
Justificare:
Ne bazam pe inegalitatea fundamentala, in cazul continuu. Considerand densitatile de
probabilitate f X ,Y ( x, y ) si f X (x ) f Y ( y ) , se poate scrie urmatoarea inegalitate:
I ( X , Y ) = f X ,Y ( x, y ) log
f X (x ) f Y ( y )
dxdy 0
f X ,Y (x, y )
f X (x )
N
q
Daca zgomotul este stationar si are o distributie uniforma, atunci nivelele de cuantizare sunt
echiprobabile, iar entropia conditionata este egala cu:
H (Y / X = x0 ) = log K = log
N
q
Daca, in plus, canalul este simetric in raport cu valorile lui X, atunci eroarea medie pentru
toate valorile lui X are expresia de mai sus. Deci, entropia conditionata nu depinde de
distributia lui X , iar capacitatea devine:
N
C = 2 W max H (Y ) log
f (x )
q
X
Py
q
Py
q
Py
= W log1 + Px
C = 2 W log
N
N
Prin trecere la limita, pentru q 0 , din relatia anterioara se obtine capacitatea canalului
continuu :
P
C = W log1 + x
N
ceea ce arata ca, in cazul canalului continuu, capacitatea creste cu banda si cu puterea
semnalului de la intrare si descreste cu puterea zgomotului.
Daca zgomotul de pe canal este alb si de densitate spectrala de putere N 0 , atunci N = WN 0 .
si:
P
C = W log1 + x
WN 0
Reprezentarea grafica a acestei relatii, arata o curba a capacitatii tinzand asimptotic spre:
P
C = lim W log1 + x
W
WN 0
Px
=
N0
Concluzie: Cresterea largimii de banda peste o anumita valoare nu mai este rationala deoarece
capacitatea canalului nu mai creste decat foarte putin.
C
(Px/N0) loge
7. CODAREA DE SURSA
Locul codarii de sursa intr-o schema de transmisiune a datelor :
CoS
CANAL
DecS
Observatii :
Simbolurile trebuie transmise pe un canal binar cu alfabetul [0,1] . De aceea, ele trebuie
transcrise in binar, inainte de transmisie. Transcrierea in binar - codarea - se poate face in
multe feluri. De exemplu:
1)
x1 0 0
x2 0 1
x3 1 0
x4 1 1
2)
x1
x2
x3
x4
0
1 0
1 1 0
1 1 1
Definitie : Codarea este operatia prin care fiecare simbol al sursei primare este inlocuit
printr-o succesiune de simboluri ale alfabetului canalului. Decodarea este operatia inversa
codarii.
Definitie : Cuvantul de cod este succesiunea finita de simboluri din alfabetul canalului, cu
care este inlocuit un simbol al sursei primare
Definitie : Codul este totalitatea cuvintelor de cod folosite in codarea unei surse.
Definitie : Lungimea unui cuvant de cod este egala cu numarul de simboluri din alfabetul
canalului, care constituie cuvantul de cod.
Observatii :
- Codarea stabileste o corespondenta biunivoca intre simbolurile sursei primare si
cuvintele codului
- O succesiune de simboluri ale alfabetului canalului, care nu corespunde niciunui
simbol al sursei, se numeste cuvant fara sens. Prin analogie, un cuvant de cod se
mai numeste si cuvant cu sens.
Exemplele de mai sus cuprind un cod de lungime fixa (exemplul 1), care are toate cuvintele
de aceeasi lungime, si un cod de lungime variabila (exemplul 2), care are cuvinte de lungime
variabila. In acest caz, se defineste notiunea de lungime medie a cuvinelor de cod.
Definitie : Lungime medie a cuvintelor de cod se calculeaza cu expresia :
N
l = pi li
i =1
14
1
1
1
1
1 + 2 + 3 + 3 =
1,7
8
8
8
4
2
Observatii :
- lungimea medie a cuvintelor de cod se numeste, pe scurt, lungime a codului
- la codurile formate din cuvinte de lungime fixa, lungimea codului este egala cu
lungimea unui cuvant de cod ( l = li = l ) .
De cele mai multe ori, prin codarea cu cuvinte de lungime variabila, se realizeaza o compresie
a datelor (reducere a volumului de date).
Definitie : Raportul de compresie obtinut prin codare cu un cod de lungime variabila l se
calculeaza cu expresia :
R=
l
l
unde cu l s-a notat lungimea unui cod de lungime fixa, obtinut cu acelasi alfabet al canalului.
Exemplu : R =
2
1,15 (compresia care se obtine in cazul sursei din exemplul de mai sus)
1,7
1
R
7.1. Clasificarea codurilor de sursa
CODURI
reversibile
de lungime variabila
unic decodabile
instantanee
neinstantanee
Exemplu :
1) Cod binar ireversibil (la decodare, codul lui x1 nu poate fi distins de cel al lui x 2 ; la fel
pentru x3 si x 4 )
x1 0
x2 0
x3 1
x4 1
Exemplu :
1) Cod care nu este unic decodabil :
x1 0
x2 1 0
x3 1 1
x3 1 1 0
Exemplu :
1) Cod neinstantaneu :
x1 0
x2 1 0
x3 1 1 0
x4 1 1 1 0
Trebuie asteptat primul simbol al urmatorului cuvat de cod pentru a face decodarea cuvantului
receptionat (acest cod se mai numeste si cod cu separator).
2) Cod instantaneu
x1 0
x2 1 0
x3 1 1 0
x4 1 1 1
Observatie:
- codurile instantanee sunt cele mai utilizate in practica.
[X ] = [x1 ,K, x N ]
si alfabetul de canal [C ] = [c1 ,K , c D ] , cu simbolurile caruia se vor forma cuvinte de cod
pentru sursa primara. O conditie necesara si suficienta pentru a construi un cod ireductibil
(instantaneu) cu cuvinte de lungime l1 , K , l N este :
N
li
<1
(Inegalitatea Kraft-McMillan)
i =1
Daca H ( X ) este entropia sursei, atunci fiecare simbol c d poarta in medie o cantitate de
informatie:
H (X )
l
Aceasta cantitate, nu poate fi mai mare decat entropia maxima a sursei secundare
H max (C ) = log 2 D :
H (X )
log 2 D
l
H (X )
log 2 D
Observatii:
daca codarea se face cu alfabet binar, atunci limita inferioara pentru l este chiar
entropia sursei primare H ( X )
rezultatele acestei sectiuni sunt valabile pentru toate tipurile de coduri, deci si
coduri ireductibile (instantanee)
aceasta relatie poate fi interpretata si ca o a doua definitie a entropiei
Definitie : Entropia unei surse este egala cu lungimea medie a unui cod binar minim cu care
sursa poate fi codata (nu totdeauna acest cod exista).
H (X )
se numesc coduri absolut optimale.
log D
Conform Sectiunii 7.4, cantitatea medie de informatie transmisa fiecarui simbol de canal prin
codare, altfel spus entropia sursei secundara H (C ) , este invers proportionala cu l :
H (C ) =
H (X )
l
Aceasta relatie arata ca l isi atinge minimul cand H (C ) este maxim, adica atunci cand, prin
codare, simbolurile c d ajung sa fie transmise echiprobabil:
p(c1 ) = K = p(c D ) =
1
D
i
1
p( xi ) = unde li este lungimea cuvantului de cod pentru xi .
D
Cum
p(x ) = 1 , rezulta ca, o conditie pentru a avea un cod absolut optimal este:
i
li
=1
i =1
Observatii:
egalitatea de mai sus este o conditie de existenta pentru codurile absolut optimale;
in cazul codarii binare, aceasta conditie se traduce prin a cere ca simbolurile sursei
primare sa aibe probabilitati care sunt puteri intregi negative ale lui 2 (exemplu:
[P] = 1 , 1 , 1 , 1
2 4 8 8
codurile absolut optimale sunt un caz limita pentru Inegalitatea Kraft-McMillan,
deci pot fi si ireductibile
Codarea unuei surse de informatie cu un cod binar absolut optimal este posibila numai daca
probabilitatile sursei satisfac conditia:
l
i
1
p ( xi ) =
D
li =
log 2 p( xi )
= log 2 p( xi )
log 2 D
De cele mai multe ori, log 2 p (xi ) este un numar zecimal. De aceea, se construiesc cuvinte
de cod cu lungimea minima posibila, adica li = log 2 p (xi ) . Aceste cuvinte satisfac
conditia:
li
log 2 p( xi )
+ 1 i
log 2 D
p(xi )li
log 2 D
+ p ( xi )
i
Deci
l
H (X )
+1
log 2 D
H (X )
+ 1.
log 2 D
Deoarece l i =
log 2 p (xi )
li
log 2 D
p ( x i ) D li
p(x ) D
li
li
Deci, acsete coduri satisfac Inegalitatea Kraft-McMillan care este conditia necesara si
suficienta pentru a avea un cod ireductibil.
Definitie: Codurile constituite din cuvinte de lungime li = log 2 p( xi ) sunt coduri
optimale.
7.7. Capacitatea, eficienta si redundanta codurilor
Definitie : Capacitatea unui cod este maximul cantitatii medii de informatie ce poate fi
transmisa de simbolurile din alfabetul canalului :
C = H max (C ) = log D
l min
1
l
H (X ) H (X )
H (C )
log D
= l
=
=
log D log D
l
= 1 = 1
H (C )
[0,1]
log D
Definitie : Extensia de ordin 2 a sursei X , este o sursa notata X 2 , care genereaza sirul:
Z 0 , Z1 ,K, Z n ,K
unde v.a. Z n sunt siruri de doua v.a. consecutive ale sirului X 0 , X 1 , X 2 , X 3 , K , X 2 n , X 2 n +1 , K
Mai precis: Z 0 = ( X 0 , X 1 ) , Z 1 = ( X 2 , X 3 ) , , Z n = ( X 2 n , X 2 n +1 )
Observatii:
- extensia de ordin m se noteaza cu X m si este o sursa ale carei simboluri sunt siruri de
lungime m
- alfabetul extensiei X m este constituit din N m simboluri (siruri).
Teorema : Entropia extensiei X m , fara memorie, este de m ori mai mare decat entropia sursei
X:
H (X m ) = mH ( X )
H (X )
H (X )
l
+1
log 2 D
log 2 D
Aceasta dubla inegalitate este valabila si pentru extensia X m , care este tot o sursa fara
memorie :
H (X m ) ( m ) H (X m )
l
+1
log 2 D
log 2 D
unde l (m ) este lungimea medie a cuvintelor de cod pentru simbolurile sursei extinse, care
sunt siruri de m simboluri ale sursei initiale. Deci, l (m ) = ml , unde l este lungimea medie a
cuvintelor de cod pentru simbolurile sursei initiale.
Aplicand rezultatul Sectiunii 7.8, dubla inegalitate devine:
H (X )
H (X m ) 1
l
+
log 2 D
log 2 D m
ceea ce reprezinta expresia matematica a Primei teoreme a lui Shannon
Prima teorema a lui Shannon sau Teorema codarii canalelor fara zgomot: Codand siruri
de simboluri suficient de lungi, ne putem apropia oricat de mult de codarea absolut optimala.
8. CODAREA DE CANAL
Locul codarii de canal intr-o schema de transmisiune a datelor :
CoS
CoC
CANAL
DecC
DecS
UU
Rolul codarii de canal : La trecerea prin canal, se produc modificari aleatoare ale
informatiei din cauza perturbatiilor. De aceea, la iesirea din canal, informatia nu poate fi
reconstituita fidel. Putem construi totusi, un Codor de canal care sa reduca probabilitatea de
eroare printr-o codare adecvata a sirului de simboluri, inainte ca acestea sa fie transmise prin
canal. La iesirea din canal, Decodorul de canal, face operatia inversa pentru a reconstitui sirul
de simboluri.
Observatie : Codarea de canal nu elimina erorile, ci doar reduce probabilitatea lor de aparitie.
1 p x j / y j
Pentru a minimiza numarul de erori, putem deci construi un decodor care sa decodeze pe y j
in simbolul xi cel mai probabil, adica simbolul pentru care p(xi / y j ) este maxima.
In medie, probabilitatea de eroare la decodare va fi:
P(E ) = (1 p (x j / y j ))p( y j )
j
Observatii:
- decodorul care lucreaza pe acest principiu se numeste Decodor cu rata minima de eroare
- aceasta probabilitate poate fi calculata daca se cunoaste matricea de zgomot a canalului si
probabilitatile simbolurilor la intrarea in canal:
)) ( )
( )
)( )
)( )
P (E ) = 1 p x j / y j p y j = p y j p y j / x j p x j = 1 p y j / x j p x j
j
p
1 p
Fie canalul cu matricea de zgomot: P(Y / X ) =
unde p este probabilitatea de
p 1 p
transmisie eronata. Pentru un p = 0,2 , simbolurile cele mai probabile, cand se receptioneaza,
y1 si y 2 , sunt x1 si, respectiv, x 2 (probabilitatile p(xi / y j ) maxime corespunzatoare sunt
0,8 ). In plus, daca inainte s-a facut o codare de sursa care a condus la simboluri
echiprobabile :
p( x1 ) = p( x 2 ) =
1
2
Exemplul 8.2 :
a) Codarea unui sir binar prin repetare de trei ori a fiecarui simbol (transmisia se face prin
canalul din exemplul anterior)
Codarea :
0 -> 000
1-> 111
Decodarea : 000->0
001->0
010->0
100->0
111->1
110->1
101->1
011->1
p( y decodat = 1 / x = 1) = ... = (1 p ) (1 + 2 p )
2
Rezulta :
1
2
P(E ) = 1 p ( y j / x j )p(x j ) = 1 2(1 p ) (1 + 2 p ) = p(2 p ) 0,1
2
j
Observatii:
-
P(E ) = 1 (1 p ) (1 + 3 p + 6 p 2 ) 0,05
3
Observatie :
- probabilitatea de eroare a scazut si mai mult, dar rata de emisie R trebuie sa fie cel
mult o cincime din capacitate de transmisie C :
R
C
5
P(E ) 2 nE ( R )
unde E (R ) este o functie nenegativa numita exponentul erorii.
E(R)
Observatii :
- Teorema a 2-a a lui Shannon este cunoscuta si sub numele de Teorema codarii
canalelor cu perturbatii
- Functia E (R ) este o caracteristica a canalului de transmisiune
- Teorema a 2-a stabileste ca pe un canal se poate face o transmisie cu probabilitate de
eroare P(E ) oricat de mica, daca rata de emisie a sursei se diminueaza suficient de mult.
- Intr-o aplicatie practica, daca se impune P (E ) , cunoscand functia E (R ) , se poate
determina rata (maxima) de emisie R a sursei sau, daca se impune R , se poate afla P (E ) cu
care se va face transmisia pe canal pentru rata impusa.
Codarea :
0 -> 000
1-> 111
Decodarea : 000->0
001->0
010->0
100->0
111->1
110->1
101->1
011->1
Definitie : Cuvintele emise de codor se numesc cuvinte cu sens, iar restul cuvintelor de
aceeasi lungime se numesc cuvinte fara sens. Impreuna, ele constituie multimea cuvintelor
de lungime n ( n = 3 in exemplul 8.2).
8.5. Reprezentarea grafica a cuvintelor
In Exemplul 8.2, s-au folosit cuvinte de lungime 3. Intr-un spatiu 3D, aceste cuvinte pot fi
reprezentate prin puncte :
Observatii :
-
d H (000,111) = 3
Observatie : In reprezentarea grafica, distanta Hamming este numarul minim de pasi necesari
pentru a trece de la un cuvant la celalalt.
R.W. Hamming (1915-1998) a lucrat la Los Alamos intre 1944 si 1946 si apoi la Bell Labs si
Univ. Princeton.
Codul din Exemplul 8.2. poate corecta o singura eroare (numai cuvintele fara sens care difera
printr-un singur bit de un cuvant cu sens sunt corectate). Daca apar doua erori, cuvantul este
decodat gresit.
Cu acelasi cod, daca nu se incearca corectare ci se doreste doar detectarea cuvantului fara sens,
atunci pot fi detectate doua erori. Spunem ca avem un cod corector de o eroare si detector de
doua erori.
Codarea :
00 -> 000
01-> 011
10-> 101
11-> 110
Observatie: este un cod detector de o eroare (de fapt, detector de orice numar impar de erori).
Exercitiu: Cate erori poate corecta/detecta urmatorul cod:
00000, 00111, 11001, 11110
Codurile bloc se obtin taind sirul de simboluri ce urmeaza sa fie codat in blocuri de lungime
fixa, numite blocuri de informatie, la care se aduaga simboluri de control, calculate pe baza
simbolurilor de informatie. Simbolurile de control contituie blocul de control.
Bloc de control
Bloc de informatie
CUVANT de COD
Coduri bloc :
-
Formalism matematic :
blocul de informatie : i = [i1 K ik ]
blocul de control : c = [c1 K c m ]
cuvantul de cod : v = [c1 K c m i1 K ik ] = [v1 K v n ]
cuvantul de eroare : = [ 1 K n ]
cuvantul de cod eronat : v' = v
- cuvintele corecte sunt cuvintele de cod ; ele se mai numesc si cuvinte cu sens
- cuvintele eronate se mai numesc si cuvinte fara sens
- cuvantul de cod este un vector de dimensiune n
- elementele vectorilor sunt numere binare
- cuvintele de cod apartin unui spatiu vectorial, care are o structura de grup in raport
cu operatiile de adunare si inmultire modulo 2 (proprietate care da numele de coduri grup):
9.1.1. Codarea
Pentru a intelege mecanismul codarii, trebuie cunoscut, mai intai, principiul corectiei/detectiei
de erori. Corectia sau detectia erorilor se fac cu ajutorul corectorilor.
Observatii :
a) daca v' este corect, atunci corectorul este nul ; daca v' este un cuvant eronat, atunci
se obtine un z 0 .
b) pentru corectie, intre multimea cuvintelor fara sens si multimea corectorilor trebuie
sa existe o corespondenta biunivoca.
c) pentru detectia de erori, este suficienta conditia z 0
Observatia b) ne da urmatoarea regula de calcul pentru lungimea blocului de control al unui
cod corector de e erori :
e
C
i =1
i
n
2m 1
Aceasta inegalitate traduce conditia Numarul total de configuratii posibile de erori trebuie
sa fie mai mic sau egal cu numarul de corectori nenuli.
Definitie : codurile pentru care inegalitatea de mai sus devine egalitate, se numesc coduri
perfecte sau coduri de redundanta minima.
k + m 2m 1
Elementele corectorului se obtin prin rezolvarea urmatorului sistem de ecuatii liniare :
(v ' ) = z
unde H este o matrice cu dimensiunea mxn. H se numeste matrice de control.
(v ) = z
care este echivalenta cu un sistem de m ecuatii liniare, suficiente pentru a determina cele m
simboluri de control necunoscute din componenta cuvantului de cod.
Observatie:
-
0 0 K 1 q m1
K q1k
K q 2 k
= [I m Q ]
K K
K q mk
este utila in obtinerea codurilor sistematice, la care simbolurile de control sunt grupate la
inceputul cuvantului de cod (fiecare ecuatie liniara are ca necunoscuta un singur simbol de
control).
[I m
c
Q ] = I m c Qi
i
c = Qi
Observatii:
-
(iG ) = 0
G i = 0
rezulta G = 0
Q
Q] = Q Q = 0
I k
cu forma canonica a lui G se obtine un cod sistematic cu simbolurile de control
grupate la inceputul cuvantului; blocul de control se calculeaza cu relatia c = iQ .
Demonstratie:
v = i [Q I k ] = [iQ iI k ] = [c i ]
Ik
Demonstratie: [I m
9.1.2. Decodarea
La receptie, decodarea cuvintelor se face conform urmatoarelor etape:
a) calculul corectorului
-
z = Hv '
z = Hv ' = H c '
] = [I
'
c '
Q ] ' = I m c ' Qi ' = c ' c ''
i
v = v'
Observatii :
- c '' este blocul de corectie calculat pe baza simbolurilor de informatie receptionate
(care pot fi gresite)
- c ' este blocul de corectie receptionat
= [ 1 K n ]
si cuvantul eronat
v' = v
Corectorul calculat la receptie este :
z = Hv ' = H v = H
Daca notam h1 , h2 , K , hn , coloanele matricii de control, atunci corectorul este:
z = hi i
i
Proprietati :
- sumele oricaror e coloane ale matricii de control trebuie sa fie diferite intre ele
(deoarece corectorii trebuie sa fie diferiti intre ei)
- ponderea cuvintelor de cod este minim 2e + 1 (exceptie cuvantul constituit numai din
0)
Cazuri particulare:
- la codul detector de o eroare, matricea H trebuie sa aibe toate coloanele nenule.
- cu matricea
H = [1 1 K 1]
se poate obtine un cod detector de un numar impar de erori (suma modulo 2 a unui nr
impar de 1 este 1). Acest cod este cunoscut sub numele de bit de paritate.
Observatii :
-
0 h1 K hn
H '=
1 1 1 1
- cu aceasta matrice extinsa, se calculeaza un simbol de control suplimentar, care se
numeste bit de paritate.
c2
i3
c4
i5
i6
i7 ]
Observatii :
-
C
i =1
i
n
2m 1
v = [v0 K v n 1 ] v( x ) = v0 + v1 x + K + v n 1 x n 1
Observatie :
- la codurile ciclice, numerotarea elementelor binare care constituie cuvantul se face cu
indici cuprinsi intre 0 si n 1 pentru a avea o notatie congruenta cu gradul polinomului ;
aceasta schimbare de notatie nu modifica lungimile blocurilor de informatie si control.
Blocurile de informatie si de control sunt polinoame de grad k 1 si, respectiv, m 1 :
i(x ) = i0 + i1 x + K + ik 1 x k 1
c( x ) = c0 + c1 x + K + c m 1 x m 1
v( x ) = p( x ) .
v( x ) = p( x ) + 1 .
v( x ) = p( x ) + 1 + x ..
1 + x + K + x n 1
Observatie :
-
h( x ) = h0 + h1 x
v( x ) = v0 + v1 x + v 2 x 2
x3 + 1 = 0
x3 = 1
Deci
h0 v0 + h1v 2 = 0
h0 v1 + h1v0 = 0
h0 v 2 + h1v1 = 0
unde fiecare ecuatie contine produsul scalar dintre v = [v0
circulara a lui h = [h0 h1 0] .
v1
v 2 ] si o permutare
0
h0
h1
h1 v0
0 v1 = 0
h0 v 2
g ( x ) = g 0 + g1 x + K + g m x m
Polinomul g ( x ) trebuie sa fie un divizor al lui p( x ) :
p( x ) = g ( x )h( x )
9.3.5. Codarea
v( x ) = i( x )g ( x )
Observatii :
- gradul lui v( x ) este k 1 + m = n 1
v( x ) = c( x ) + x m i ( x )
Calculul polinomului de control c( x ) se bazeaza pe faptul ca orice cuvant cu sens este
multiplu al lui g ( x ) :
rest
v( x )
c( x ) + x m i ( x )
x m i(x )
= c( x ) + rest
=0
= 0 rest
g (x )
g (x )
g (x )
Deci :
c( x ) = rest
x m i(x )
g (x )
9.3.6. Decodarea
(x ) = 0 + K + n 1 x n 1
Corectarea se face, ca si in cazul codurilor grup, calculand un corector. La codurile ciclice,
corectorul este un polinom z (x ) , de grad m 1 .
a) Etapele decodarii la codurile nesistematice
-
calculul corectorului:
z ( x ) = rest
v' ( x )
(x )
= rest
g (x )
g (x )
identificarea pozitiilor eronate se face prin cautare intr-un tabel predefinit, in care
pe o coloana avem toate polinoamele (x ) posibile si pe cealalta, corectorii z (x )
corespunzatori. Acest tabel se numeste Tablou al claselor de resturi.
corectarea cuvantului:
v( x ) = v' ( x ) + ( x )
i( x ) =
v(x )
g (x )
x m i' (x )
g (x )
se corecteaza cuvantul:
v( x ) = v' ( x ) + ( x )
Observatii :
-
Cuvinte cu sens
Cuvinte fara sens
Cuvinte eroare
0
Cuvinte receptionate
v1 (x )K v 2 k (x )
1 (x )
1 (x ) + v1 (x )K 1 (x ) + v 2 k (x )
2 (x )
2 (x ) + v1 (x )K 2 (x ) + v 2 k (x )
...........
............
corectori
0
rest
1 (x )
g (x )
(x )
rest 2
g (x )
.............
x m i' (x )
g (x )
c' (x ) fiind de grad < m , relatia anterioara se poate scrie:
z ( x ) = c' (x ) + c' ' ( x ) = c' (x ) + rest
z ( x ) = rest
c' (x ) + x m i' ( x )
v' (x )
(x )
= rest
= rest
g (x )
g (x )
g (x )
h( x ) = h0 + h1 x + K + hk x k
si
h(x )v( x ) = h( x )i( x )g (x ) = 0
Observatie:
- in calculul produsului h( x )v(x ) trebuie tinut seama de faptul ca h( x ) si v(x ) sunt
clase de resturi modulo p( x ) si ca rezultatul este tot o clasa de resturi.
v( x ) = i0 g ( x ) + i1 xg ( x ) + Kik 1 x k 1 g ( x )
Daca notam
g (x ) g 0
xg ( x ) 0
G = K = K
K K
x k 1 g (x ) 0
v = [v0
i = [i0
g1 K g m
g 0 g1 K
K K K
K K K
K 0 g0
0
gm
K
K
g1
K
0
K
K
K
0
K
K
K
g m
v1 K K v n 1 ]
i1 K K i k 1 ]
K 0 hk K K h0
K K 0 hk K h1
h1 v0
h2 v1
K K = 0
0 K
h0 v n 1
Daca v sunt cuvinte de cod sistematice, numai m elemente trebuie determinate (simbolurile
de control). In acest caz, se lucreaza cu o matrice redusa la m linii:
hk hk 1
0 h
k
H = K K
K 0
K K
K
hk 1
K
hk
0
K
K
K
K
hk
K 0 0
K 0 0
K K K
K h0 0
K h1 h0
Observatie:
- ecuatia matriceala este echivalenta celei de la codarea codurilor grup folosind
matricea de control H
Hv = 0
GH = HG = 0
Proprietatea 2: Orice combinatie liniara de cuvinte de cod este tot un cuvant de cod.
Justificare:
Fie doua cuvinte de cod reprezentate prin polinoamele v( x ) si u ( x ) . Cuvantul
w( x ) = av( x ) + bu ( x ) - cu a si b avand valori binare - este un cuvant de cod deoarece
h( x )w(x ) = h(x )[av(x ) + bu ( x )] = ah(x )v( x ) + bh(x )u ( x ) = 0
Observatie:
- numele de coduri ciclice este dat de Proprietatea 1
9.3.10. Exemplu: Codarea si decodarea folosind un cod ciclic corector de o eroare, pentru
blocuri de informatie de lungime k = 4 .
Calculul lungimii blocului de control :
Din conditia m + k 2 m 1 , rezulta m = 3 si n = 7
)(
Divizorii lui p( x ) = x 7 + 1 : p( x ) = (x + 1) x 3 + x + 1 x 3 + x 2 + 1
Dintre divizorii lui p( x ) , se alege un polinom g (x ) de grad m = 3 . De exemplu,
g (x ) = 1 + x 2 + x 3
Calculul blocului de control :
Pentru fiecare polinom de informatie, se calculeaza polinomul de control cu relatia
x 3i(x )
c( x ) = rest
. De exemplu, pentru i = [0 0 1 0] , rezulta i ( x ) = x 2 si c( x ) = 1 + x ,
g (x )
deci c = [1 1 0]
Asamblarea cuvantului de cod:
v( x ) = c( x ) + x 3 i ( x ) = 1 + x + x 5
deci v = [1 1 0 0 0 1 0]
Constituirea cartii de cod:
Se construieste un tabel cu 2 4 linii (numarul de blocuri de informatie posibile) si doua
coloane : bloc de informatie si cuvant de cod corespunzator.
Constituirea Tabloului claselor de resturi pentru corectia erorilor:
Se construieste un tabel cu n + 1 = 8 linii (numarul de corectori distincti) si doua
(x )
.
coloane: eroarea ( x ) si corectorul z (x ) . Corectorul se obtine cu relatia z ( x ) = rest
g (x )
10.1. Codarea
Exemplu: cod cu k=3 si m/n=1/2. Polinoamele generatoare sunt (1,1,1) si (1,0,1). Acest cod
se mai noteaza si (7,5).
Codorul este un automat finit, cu 4 stari in cazul exemplului de mai sus. Starea este data de
iesirile celor doua bistabile (FF = Flip Flop). Bistabilele sunt reprezentate simplificat: o iesire,
o intrare (cealalta este pusa la masa) si fara intrare pentru semnalul de ceas.
Tabelul urmator se numeste tabel al tranzitiilor starilor ( state transition table) sau tabel al
starii urmatoare ( the next state table):
Next State, if
Current
State
Input = 0:
Input = 1:
00
00
10
01
00
10
10
01
11
11
01
11
Tabelul iesirilor descrie rezultatul celor doua sumatoare, in functie de starea curenta si de
intrare:
Output Symbols, if
Current
State
Input = 0:
Input = 1:
00
00
11
01
11
00
10
10
01
11
01
10
Diagrama trellis pentru secventa de 15 biti. Secventa se continua cu doi de zero pentru a putea
incheia codarea.
Capacitatea de corectie
Distanta libera (free distance) d este Distanta Hamming minima dintre toate secventele de
aceeasi lungime. Numarul de erori care pot fi corectate se determina din ecuatia:
d=2e+1
Daca d este par, atunci e se obtine prin rotunjirea inferioara a rezultatului.
Spre deosebire de codurile bloc, condurile convolutionale pot corecta si trenuri de erori, nu
numai erori disparate. Capacitate se mai exprima si ca lungimea maxima a trenului de erori,
aparut la inceputul codarii, ce poate fi corectat.
10.2. Decodarea
Exista mai multi algoritmi de decodare a codurilor convolutionale.
Pentru valori relativ mici ale lui k, algoritmul Viterbi de decodare este universal
folosit deoarece permite gasirea secventei celei mai probabile si se preteaza la
calculul paralel. Codurile decodabile Viterbi, concatenate cu coduri ReedSolomon de lungime mare, duc la probabilitati de eroare foarte scazute. Aceasta
solutia fost folosita de programul spatial Voyager.
Cand lungimea de constrangere este mare, sunt mai potriviti algoritmii de
decodare secventiala. Dintre acestia, cel mai cunoscut este algoritmul lui Fano.
Spre deosebire de decodarea Viterbi, algoritmii secventiali nu ajung la secventa
optimala, dar au avantajul unei complexitati care creste incet cu lungimea de
constrangere (complexitatea algoritmului Viterbi creste exponential cu lungimea
de constrangere). Acesti algoritmi au fost au fost folositi in programul spatial
Pioneer, de la inceputul anilor 70.
Principiu: se cauta traseul cel mai apropiat de traseul corespunzator semnalului receptionat.
Traseul cel mai apropiat ne conduce la secventa corectata.
Diagrama trellis a semnalului codat si secventa eronata de la receptive (RECEIVED):
Decodarea se face construind traseele posibile, pas cu pas, si calculand eroarea acumulata.
Dupa primii 3 pasi, se intra intr-un regim in care, la fiecare pas, intr-un nod ajung doua trasee.
Se renunta la cel care are eroarea acumulata cea mai mare.
Tabelul urmator contine erorile ecumulate la fiecare pas, in fiecare stare, pentru secventa de
15 biti.
t=
State
002
10
11
12
13
14
15
16
17
State
012
State
102
State
112
Secventa decodata corespunde traseului care conduce la cea mai mica eroare acumulata.
Eroarea acumulata coincide cu numarul de erori corectate.
Tabelul urmator prezinta secventa starilor corespunzatoare traseului cu cea mai mica eroare
acumulata:
t=
10
11
12
13
14
15
16
17
002 = 0
012 = 1
102 = 2
112 = 3
002 = 0
012 = 1
102 = 2
112 = 3
t=
10
11
12
13
14
15
1. Al. Sptaru, Teoria Transmisiunii Informaiei, Editura Didactic i Pedagogic, Bucureti, 1983.
2. Al. Sptaru, Fondaments de la Theorie de la Transmission de l'Information, Presses Polytechnique
Romandes, 1987.
3. A.T. Murgan, Principiile Teoriei Informaiei n Ingineria Informaiei i a Comunicaiilor, Editura
Academiei Romane, Bucureti, 1998.
4. Valeriu Munteanu, Teoria Transmiterii Informaiei, Editura Gh. Asachi, Iai, 2001.
5. A.T. Murgan, Iulia Spanu, Inge Gavat, I. Sztojanov, V.E. Neagoe, Adriana Vlad, Teoria
Transmisiunii Informaiei. Probleme, Editura Didactic i Pedagogic, Bucureti, 1983.
BIBLIOGRAFIE in LIMBI STRAINE