Documente Academic
Documente Profesional
Documente Cultură
Germán-Salló Zoltán
Transmisia datelor
Partea I
2011
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Cuprins
1. Introducere
1.1 Modelul unui sistem de transmisie a informaţiei
1.2 Sarcina unui sistem de transmisie a informaţiei
2.Elemente de teoria transmisiunii informaţiei
2.1 Măsura informaţiei în semnale discrete
2.1.1 Unitatea de măsură a informaţiei
2.2 Surse discrete de informaţie
2.2.1 Surse discrete de informaţie fără memorie
2.2.2 Entropia informaţională a unei surse discrete fără memorie
2.2.3 Redundanţa si eficienţa sursei
2.2.4 Momente. Debit de momente
2.2.5 Debit de informaţie. Debit de decizie
2.3 Canale de transmisiune discrete.
2.3.1 Probabilităţi şi entropii în canale discrete
2.3.1.1 Entropie condiţionată
2.3.1.2 Relaţii între entropii
2.3.2 Transinformaţia
2.3.3 Capacitatea, redundanţa şi eficienţa canalului discret
2.3.4 Capacitatea canalului prin bandă (B) şi raport semnal/zgomot (ξ)
2.3.4.1 Rezoluţia în timp
2.3.4.2 Rezoluţia în amplitudine
2.3.4.3 Capacitatea canalului de transmisie
2.4 Codarea surselor pentru canale fără perturbaţii
2.4.1 Coduri unic decodabile
2.4.2 Coduri instantanee
2.4.3 Lungimea medie al unui cuvânt de cod
2.4.4 Capacitatea , eficienţa si redundanţa codului
2.4.5 Teorema codării canalelor fără zgomot (Shannon I)
2.4.6Metode de codare compactă
2.4.6.1 Metoda Shannon-Fano de codare binară
2.4.6.2 Codarea Huffmann binară
2.4.6.3 Codarea Huffmann M-ară
2.5 Codare pentru canale cu perturbatii
2.5.1 Teorema lui Shannon pentru canale cu perturbaţii
2.5.2 Coduri grup
2.5.3 Codul Hamming
2
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
1.Introducere
In transmisii de date este foarte important ca informaţia să ajungă de la sursă la utilizator fără să fie deteriorată în timpul
trecerii prin canal.
De aceea informaţia este codată apoi modulată inainte ca ea să ajungă pe canalul de transmisie. După ce semnalul ajunge
prin canalul de transmisie la destinaţie (utilizare), semnalul este demodulat iar apoi decodat.Deci rolul codării este, ca informaţia să
nu fie distrusă în timpul transmisiei, de perturbaţii , zgomote.
Cel mai simplu model al unui sistem de transmisiune a informaţiei este prezentat în figura 2.
În acest caz se presupune că mesajul sub forma în care este dată de sursă poate fi transmis direct prin canal fără a suferi
transformări.Sursa de perturbaţie este un element ce apare în mod inevitabil în orice sistem de transmisiune a informaţiei.
Modelul din figura 2 corespunde în general cazurilor când informaţia trebuie transmisă la distanţă mică şi erorile pricinuite
de zgomot sunt mici. Dacă mesajul nu poate fi transmis ca atare prin mediu (din cauza dificultăţilor de propagare sau din cauza
necesiăţii de a realiza transmisiuni multiple) se introduc elementele de modulare si demodulare asa cum se arată in figura 3.
3
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Marea majoritate a sistemelor de transmisie a informaţiei utilizate în prezent au structura prezentată in figura 3. În cazurile
in care se caută mărirea eficienţei, respectiv a posibilităţii transmiterii unor cantităţi cât mai mari de informaţie în prezenţa
perturbaţiilor, se utilizează si elemente de codare şi decodare cum se prezintă în figura 4.în care se includ uneori procedee de decizii
statistice.
Sarcina unui sistem de transmisie a informaţiei este de a pune la dispoziţia utilizatorului informaţia generată de sursă cu un
grad de deteriorare specificat admis.În tehnicile de comunicaţii se obişnuieşte să se introducă un criteriu de fidelitate, pentru
aprecierea reproducerii semnalului generat de sursă, la corespondent. In sistemele de transmisiune analogice criteriul de fidelitate
este ales uneori eroarea medie pătratică:
ε = [ x (t ) − y (t )]2
Unde, x(t)-este mesajul transmis; y(t)-este mesajul receptionat, n(t)-este semnalul perturbator iar media se face în raport cu
timpul; alteori se alege drept criteriu de fidelitate raportul semnal/perturbaţie
[ x (t )]2
ρ=
[n(t )]2
La sistemele numerice criteriul de fidelitate ales este probabilitatea recepţionării unui simbol eronat. Majoritatea sistemelor
de comunicaţii utilizate în prezent se caracterizează prin faptul că la capetele terminale ale canalului sunt fiinţe umane.În cazul
acesta mijloacele de comunicaţii pot fi considerate că ar fi de fapt o prelungire a simţurilor: telefonul, de exemplu, face posibilă
convorbirea a două persoane ca şi când ele ar fi prezente in acelaşi loc. Perturbaţiile prezente in majoritatea sistemelor de
comunicaţii sunt asemănătoare perturbaţiilor naturale la care simţurile umane s-au adaptat. Acesta este motivul pentru care
sistemele clasice de comunicaţii dau rezultate satisfăcătoare cu un echipament terminal redus.
Se ştie din experienţă că în cazul unei convorbiri telefonice în care intervin perturbaţii foarte puternice, se vorbeşte mai
tare, mai rar şi se utilizează un vocabular mai redus de cuvinte uzuale.Prin acesta se adaptează sursa de informaţie la cablul de
comunicaţie disponibil (existent).
Comunicaţia de la maşină la maşină se dezvoltă în prezent din ce în ce mai mult pe lângă mijloacele tradiţionale de
comunicaţie.Automatizările complexe ale proceselor de producţie, schimbul de date cu calculatoarele fac ca sistemele de
comunicaţie maşină-maşină să se dezvolte vertiginos.
Spre deosebire de comunicaţia de la om la om, în comunicaţia de la maşină la maşină nu mai are loc o codare naturală pe
care o efecuează creierul în vederea adaptării la canalul de informaţie.Acest fapt conduce la mărirea complexităţii echipamentului
terminal în vederea obţinerii la procesul de transmisiune a fidelităţii cerute.
Îmbunătăţirea calităţii transmisiunii se poate face şi prin îmbunătăţirea canalului. În alegerea metodei de imbunătăţire a
calităţii a transmisiunii trebuie să se facă o comparaţie între preţul echipamentului terminal şi cel al canalului.
Tendinţele actuale de dezvoltare indică o tendinţă spre creşterea complexităţii echipamentului terminal al cărui preţ devine din
ce în ce mai scăzut datorită utilizării circuitelor integrate pe scară largă şi foarte largă(LSI, VLSI), a căror producţie de masă se face
la un preţ scăzut.
Nu acelaşi lucru se poate spune despre costul canalelor de transmisiune Deşi în acest domeniu se fac progrese mari, prin
faptul că ele nu se pretează la o producţie de masă, probabil că preţul lor nu va scădea nici in viitor. Acest fapt explică tendinţa spre o
utilizare mai raţională a canalului de transmisie prin mărirea complexităţii echipamentului terminal, astfel ca acesta să poată efectua
operaţiile necesare măririi eficienţei transmisiunii.
4
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Una din problemele fundamentale ale teoriei informaţiei este măsurarea cantităţii de informaţie pe care o furnizează un
câmp de probabilitate produs de un experiment sau de o variabilă aleatoare. Mărimea intuitivă de “cantitate de informaţie” trebuie să
posede proprietăţile naturale pe care le impune noţiunea de cantitate, ca de exemplu aditivitatea, asociativitatea, etc. Aceste
proprietăţi constituie axiomele fireşti cu ajutorul cărora se defineşte noţiunea de cantitate de informaţie
Măsura informaţiei este o măsură a nedeterminării asupra unui sistem de evenimente, respectiv o măsură a incertitudinii
asupra rezultatului alegerii printr-un mecanism aleator a unui eveniment din mulţimea evenimentelor posibile, distincte
Pentru precizare se consideră mulţimea discretă şi finită a tuturor evenimentelor posibile, ale unui experiment care se va
numi spaţiul esantioanelor şi se va nota sub următoarea formă matricială:
n
[X ] = [x1 x 2 ...xn ] în care Ux i =E şi xi ∩ x j = Φ i≠ j
i =1
unde E este evenimentul sigur.Fiecărui element al mulţimii [X ] îi este asociată o probabilitate dată de matricea:
[Px ] = [ p(x1 ) p(x 2 )... p(xn )] = [ p1 p 2 ... pn ]
n
în care ∑ p(x ) = 1
i =1
i
Măsura incertitudinii asupra realizării unui eveniment xi pe care o notăm cu U ( xi ) este o funcţie F ( pi ) a probabilităţii
apriori pi = p( xi ) de realizare a acestui eveniment:
U (xi ) = F ( pi )
şi reprezintă incertitudinea iniţială (apriori) asupra realizării evenimentului xi . când evenimentul xi se realizează, această
incertitudine este înlăturată şi se poate spune că s-a obţinut o informaţie i ( xi ) asupra realizării lui xi . Aceasta poate fi definită ca:
- informaţia obţinută asupra lui xi prin realizarea lui xi ; sau ca:
- anularea incertitudinii asupra realizării lui xi , după ce xi s-a realizat
Prin urmare:
i ( xi ) = U ( x i ) i ( xi ) = F ( p i )
U (xi y j ) = F p (xi y j ) [ ]
Această funcţie reprezintă incertitudinea aposteriori asupra realizării evenimentului xi dacă s-a realizat y j , adică după
observarea evenimentului y j rămâne totuşi o incertitudine asupra evenimentului care s-a realizat. Această incertitudine se
5
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
datorează perturbaţiilor existente, în lipsa acestor perturbaţii s-ar putea afirma cu probabilitatea maximă (unu) ca observând
evenimentul y j s-a realizat xi .
Informaţia obţinută asupra realizării lui xi când se observă y j reprezintă de fapt scăderea incertitudinii apriori asupra
realizării lui xi din starea iniţială, înainte de observarea lui y j , la starea finală când s-a observat y j şi când rămâne o
incertitudine aposteriori, adică:
i (xi , y j ) = U ( xi ) − U (xi y j )
i (xi , y j ) = U ( xi )
Dacă perturbaţiile sunt foarte mari atunci nu se mai poate face nici o legătură între y j recepţionat şi xi realizat şi xi şi
y j sunt evenimente independente, in această situaţie:
[ ]
U (xi y j ) = F p(xi y j ) = F [ p( xi )] = U ( xi ) → i (xi , y j ) = 0
i ( xi ) = i ( xi1 ) + i ( xi 2 ) → U ( xi ) = U ( xi1 ) + U ( xi 2 )
rezultă:
F [ p( xi )] = F [ p(xi1 ) + p( xi 2 )] x → F [ p( xi1 ) ⋅ p( xi 2 )] = F [ p( xi1 )] + F [ p( xi 2 )]
i 1 , xi 2 independente
p(xi y j )
i (xi , y j ) = −λ ⋅ log p( xi ) + λ ⋅ log p(xi y j ) = λ ⋅ log informaţia mutuală
p ( xi )
Informaţia mutuală se obţine prin realizarea evenimentului xi şi recepţionarea evenimentului y j
6
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Deoarece informaţia este o măsură a incertitudinii, în procesul alegerii la întâmplare dintr-un număr de evenimente posibile,
cea mai simplă alegere este aceea dîntre două evenimente posibile. Astfel s-a convenit să se aleagă ca unitate de informaţie,
informatia ce se obţine prin alegerea la întâmplare, a unui eveniment din două egal probabile. În acest caz, având:
[X ] = x1
x2 [P] = 1 1
2 2
1
i ( x1 ) = i ( x 2 ) = −λ ⋅ log = 1 sealege
baza 2
→ log 2 2 = 1 bit
2
Unitatea de informaţie astfel definită se numeşte bit. În acest caz relaţiile anterioare devin:
p(xi y j ) p (xi y j )
i ( xi ) = − log 2 p( xi ) = ldp( xi ) respectiv i (xi , y j ) = log 2 = ld
p ( xi ) p(xi )
În unele cazuri se lucrează cu logaritm în baza e sau baza zece, în aceste situaţii avem relaţiile:
1
1 nit = − ln = log 2 e = 1,44 bit (se alege 1 din e)
e
1
1 dit = − lg = log 2 10 = 3,32 bit (se alege 1 din 10)
10
Aplicaţie
Dacă simbolurile A, B, C, D apar cu probabilităţile 1/2,1/4,1/8,1/8 atunci un mesaj format din trei simboluri X=BDA conţine
informaţia:
1 1 1
I x = I B + I D + I A = − log 2 − log 2 − log 2 = 2 + 3 + 1 = 6 bit
4 8 2
Aplicaţie
Să determinăm cantitatea de informaţie dintr-o carte de 450 de pagini care are 500 de cuvinte pe pagină a câte 5 simboluri.
Simbolurile se aleg din 26 de litere, 10 cifre şi un spaţiu (alfabet cu 37 de simboluri)
O aplicaţie din biologie. ADN-ul este o moleculă ce conţine informaţia genetică a vieţii. Informaţia este stocată ca o
succesiune de nucleotide.
7
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
Să se calculeze cantitatea de informaţie necesară pentru precizarea poziţiei unei figuri pe o tablă de şah.
a. o primă posibilitate pentru precizarea poziţiei unei figuri constă în numerotarea fiecărui pătrat. În total sunt necesare
m = 64 cifre, figura putând ocupa oricare din aceste pătrate, deci pentru precizare va fi necesară o cantitate de informaţie:
1
I fig = − log 2 = log 2 64 = 6 bit
m
b. o a doua posibilitate ar fi precizarea poziţiei figurii de şah prin coordonate. Astfel sunt necesare 8 cifre pe orizontală şi 8
cifre pe verticală. Cantitatea de informaţie necesară pentru precizarea poziţiei figurii va fi:
8
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
Fie 12 monede dintre care una este falsa (mai usoara sau mai grea decat celelalte). Se cere sa se deterrmine numarul minim de
cantariri necesar depistarii monedei false si precizarii daca ea este mai usoara sau mai grea. Se foloseste pentru cantariri o balanta
fara mase marcate.
Solutie
1
• cantitatea de informatie necesara determinarii monedei false este I1 = log 2 = log 2 12
1
12
1
• cantitatea de informatie necesara pentru a decide daca moneda este mai grea sau mai usoara este I 2 = log 2 = log 2 2
1
2
• cantitatea de informatie totala necesara a fi determinata I = I1 + I 2 = log 2 24
1
• cantitatea de informatie furnizata de o cantarire (exista 3 stari ale balantei) I 3 = log 2 = log 2 3 ⇒ numarul minim
1
3
de cantariri I ≤ kI 3 ⇒ 24 ≤ 3 ⇒ k = 3.
k
Aplicaţie
Se considera o trasmisie fax : 2,25⋅106 pixeli cu 12 tonuri de gri, echiprobabile. Care este cantitatea de informatie transmisa ?
Solutie
I=nr.elemente ⋅ informatie per element=
1
= 2 ,25 ⋅ 106 ⋅ − log 2 = 2 ,25 ⋅ 106 ⋅ log 2 2 2 ⋅ 3 = 2 ,25 ⋅ 106 ( 2 + log 2 3) [ biti]
12
Aplicaţie
Solutie
9
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Fie o sursă de informaţie discretă, care generează un număr de n simboluri distincte. Mulţimea simbolurilor discrete
generate de sursă formează alfabetul sursei.Sursa discretă este fără memorie dacă emisia unui simbol nu depinde de simbolurile
anterior emise.
Pornind de la o sursă discretă fără memorie ( X ) , putem forma o nouă sursă, în care fiecare mesaj este o succesiune de
m simboluri ale sursei primare. Această nouă sursă, notată X m , se numeşte extensia de ordinul m a sursei ( X ) .
x n
X : i , i = 1, n, ∑p i =1
pi i =1
mj mn
X m : , i = 1, m, ∑p j =1
pj j =1
m j = x j1 x j2 ...x jm
unde
p j = p( x j1 ) p( x j2 )... p( x jm )
Sursa Xm conţine un număr de mesaje m j distincte ce se pot forma cu alfabetul sursei X.
Aplicaţie
x1 x 2 x1 x1 x1 x 2 x 2 x1 x 2 x 2
X cu p1 + p 2 = 1 → X
extensia de ordinul 2 2
p p p2 p p p p p2
1 2 1 1 2 2 1 2
10
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Informaţia proprie corespunzătoare unui simbol xi al unei surse discrete fără memorie am văzut că se determină cu :
1
i ( xi ) = log 2 = − log 2 pi = −ldpi
pi
Cantitatea medie de informaţie pe simbol emis de o sursă discretă fără memorie poartă denumirea de entropie informaţională şi se
notează cu H(X):
m m m
H ( X ) =: ∑ p ( xi )i ( xi ) = −∑ p i ldp i = − ∑ p i ⋅ log 2 pi
i =1 i =1 i =1
Observaţie
Formula anterioară ( ) stabilită de Claude Shannon în 1948 în lucrarea “A mathematical theory of communications” prezintă
o analogie perfectă cu formula entropiei termodinamice stabilită de Boltzmann, fapt pentru care H ( X ) s-a numit entropie
informaţională. Entropia termodinamică exprimă gradul de dezordine al particulelor într-un sistem fizic, pe când entropia
informaţională (formula lui Shannon) exprimă gradul de nedeterminare din punct de vedere informaţional al unui sistem. Ambele
noţiuni au în comun faptul că măsoară gradul de nedeterminare al unui sistem, dar aplicarea lor se găseşte în sfere de cunoaştere
complet diferite
Proprietăţile entropiei:
∑p
i =1
i =1
Folosind metoda multiplicatorilor lui Lagrange, rezultă:
m
m
max H ( X ) = max Φ ( pi ) = −∑ pi ldpi + λ ∑ pi − 1
i =1 i =1
Condiţia necesară de extem se obţine din:
δΦ ( pi )
= 0, ∀i = 1, m sau
δpi
δΦ( pi )
δp = −ldpi − lde + λ = 0
i
δΦ ( p )
j
= −ldp j − lde + λ = 0
δp j
de unde rezultă că ldpi = ldp j , deci p i = p j , ∀i, j = 1, m
11
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
Abaterea entropiei unei surse de la valoarea sa maximă se numeşte redundanţă. Această abatere poate fi dată in valoare
absolută sau relativă de unde şi exprimarea redundanţei ca redundanţă absolută sau relativă.
Redundanţa absolută :
R X =: D( X ) − H ( X )
Redundanţa relativă:
R( X ) H(X )
ρ X =: = 1−
D( X ) D( X )
Se numeşte eficienţă a unei surse (η x ) raportul dîntre entropia sursei şi cantitatea de decizie a acesteia
H(X )
η X =:
D( X )
Aplicaţie
[S ] = [s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 ] ; τ = [2,2,3,3,4,4,4,4] ; P = [1 4,1 4,1 8,1 8,1 16,1 16,1 16,1 16]
12
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
1 1 1 1 1 1 11
− log 2 − log 2 − log 2 = bit / simbol
16 16 16 16 16 16 4
b. Deoarece
n 8
1 1 1 11
τ = ∑ p (s i ) ⋅ τ i = ∑ p (s i ) ⋅ τ i = 2 ⋅ 2 ⋅ + 2 ⋅ 3 ⋅ + 4 ⋅ 4 ⋅ = sec/ simbol rezultă
i =1 i =1 4 8 16 4
H t (S ) = 1 bit / simbol
c. În conformitate cu relaţia ( )
11 1
H max (S ) = log 2 8 = 3 bit / simbol → R(S ) = 3 − = bit / simbol
4 4
d. conform relaţiei ( )
H (S ) 11 4 11
η (S ) = = = = .0.91
H max (S ) 3 12
Semnalele utilizate pentru a putea transporta informaţia numerică sunt compuse din suite de semnale elementare în timp,
numite momente (intervale elementare). Parametrul caracteristic al momentului (amplitudine, frecvenţă, fază, etc) rămâne constant
pe durata momentului ( TM ) şi reprezintă informaţia numerică transportată de acel moment. Acest parametru poate lua m valori.
În figura de mai jos sunt date câteva exemple de surse de informaţie cu punerea în evidenţă a momentelor.
fig ( ) Momente
13
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
H (X )
H& =: = M& H ( X )
TM
Unitatea de masură: [ H& ] = bi t i / sec unda
'
Debitul de decizie (D ) al unei surse este cantitatea de decizie a sursei generată în unitate de timp
D
D& =: = M& D = M& ldm
TM
[ D& ] = biti / sec
Observaţie
Canalul de transmisiune este mediul prin care se transmite informaţia de la sursa la destinatar. Canalul este discret dacă
simbolurile care-l străbat sunt discrete.
Un canal de transmisie se caracterizează prin următoarele mărimi:
- Alfabetul de intrare: X = {xi }, constituit din totalitatea simbolurilor emise de sursă şi care pot fi acceptate de canal; P ( X )
reprezintă matricea probabilităţilor de emisie
x n
X : i , i = 1,n ∑p i = 1 ; P( X ) = [ pi ]
pi i =1
-Alfabetul de ieşire: Y = ( y j ) constituit din totalitatea simbolurilor obţinute la ieşirea canalului; Cele două alfabete nu sunt
întotdeauna identice.
yj m
Y : , j = 1, m, ∑q j = 1 ; P(Y ) = [q j ]
qj j =1
Prin q j s-a notat probabilitatea recepţionării simbolului y j : q j = p( y j ). P(Y ) este matricea probabilităţilor de receptie.
-Matricea de trecere: a canalului, formată din probabilităţile simbolurilor de ieşire condiţionate de simbolurile de intrare: P ( X Y ).
n
P(Y / X ) = [q j ,i ], ∑qj =1
j/i = 1, ∀i = 1, m
Elementul q ij aflat la intersecţia liniei i si a coloanei j, reprezintă probabilitatea recepţionării lui y j condiţionată de emisia lui
xi : q j / i = p ( y j / xi ) .
Matricea de tecere este o matrice stocastică, având proprietatea ca suma elementelor orcărei linii este 1:
n
∑q
j =1
j/i = 1, ∀i = 1, m
14
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
ceea ce intuitiv reprezintă recepţia cu certitudine a unui simbol y j,∀j = 1, n dacă s-a emis un simbol x i,∀i = 1, m .Matricea
P( X Y ) reprezintă modelarea din punct de vedere probabilistic a canalului si ea se determină experimental.
Dacă câmpul de evenimente la ieşirea din canal este cunoscut datorită efectelor pertur-baţiilor, ramâne totuşi o oarecare
incertitudine a supra câmpului la intrare. Valoarea medie a acestei incertitudini se numeşte entropia câmpului X condiţionată de
câmpul Y şi se notează cu H ( X Y ) , ea reprezintă o incertitudine reziduală medie. Incertitudinea asupra realizării eveni-mentului
xi dacă s-a realizat y j conform relaţiilor
U ( xi / y j ) = F [ p( xi / y j )]
E ( p) = −λ log p
este:
U ( xi / y j ) = − log p ( xi / y j )
Entropia asociată cu recepţionarea simbolului y j este:
n n
H ( X / y j ) = ∑ p ( xi / y j )U ( xi / y j ) = −∑ p ( xi / y j ) log p ( xi / y j )
i =1 i =1
Entropia H ( X Y ) se numeşte echivocaţie fiindcă este o măsură a echivocului ce există asupra câmpului de la intrare când se
cunoaşte câmpul la ieşire.
n m
H (Y / X ) = −∑∑ p( xi , y j ) log p ( y j / xi )
i =1 j =1
Entropia H ( X / Y ) se numeşte eroare medie fiindcă este o măsură a incertitudinii câmpului la ieşire când se cunoaşte câmpul la
intarre.
H ( X / Y ) = H (Y / X ) = 0
2.3.1.2 Relaţii între entropii
H ( X , Y ) = H ( X ) + H (Y )
Care rezultă din faptul că incertitudinea medie aposteriori este mai mică cel mult egală cu incer-titudinea apriori. Pentru aceleaşi
motive
H (Y ) ≥ H (Y / X )
După cum s-a văzut informaţia obţinută asupra evenimentului xi când la ieşire din canal se observă evenimentul y j este conform
relaţiei:
P( xi , y j )
i ( xi ; y j ) = log
p( xi )
Aceasta este informaţia mutuală ce se obţine asupra evenimentului xi când se recepţionează y j
În absenţa perturbaţiilor recepţionând simbolul y j se poate afirma cu certitudine că a fost transmis simbolul xi deci:
p ( xi / y j ) = 1 iar relaţia
P( xi , y j )
i ( xi ; y j ) = log devine i ( xi , y j ) = − log p ( xi )
p( xi )
adică informaţia mutuală este egală în cazul acesta cu informaţia proprie.
( )
In cazul general din cauza zgomotelor p xi y j < 1 şi în consecinţă informaţia mutuală este mai micădecât informaţia proprie şi
este dată de expresiile :
16
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
I(X;Y) este valoarea medie a informaţiei mutuale adică a informaţiei ce se obţine asupra alfabetului de la intrare prin recepţionarea
alfabetului de la ieşire Y, cu alte cuvinte a informaţiei transmise prin canal. Din aceasta cauza ea se numeşte transinformaţie.
Pentru a defini o măsură a eficienţei cu care se transmite informaţia şi a găsi limita superioară a acesteia, Shannon a
introdus noţiunea de capacitate a canalului.
-Capacitatea canalului este definită ca fiind valoarea maximă a transinformaţiei:
C = max I ( X ;Y ) = max[H ( X ) − H ( X / Y )] = max[H (Y ) − H (Y / X )]
Maximalizarea se face în raport cu setul de probabilităţi cu care se presupune că sunt utilizate simbolurile x1 , x 2 , x3 ...x n
ale canalului. Valoarea maximă a transinformaţiei are loc pentru anumite valori bine determinate ale acestor probabilităţi care
definesc în felul acesta o anumită sursă pe care o numim secundară. Pentru a transmite prin canal transinformaţia cu valoarea
maximă este necesară ca sursa primară sa fie transformată in sursă secundară specificată de probabilităţile care determină valoarea
maximă din relaţia (2.85). Capacitatea canalului poate fi însă raportată şi la timp.În acest caz se defineşte:
C max I( X; Y)
Ct = =
τ τ
I( X; Y)
unde τ este durata medie a unui simbol iar este transinformaţia pe unitate de timp respectiv debitul de transinformaţie:
τ
I ( X ;Y )
I t ( X ;Y ) =
τ
Capacitatea canalului definită de relaţia (2.86) se măsoară in biti pe secundă . Dacă se face convenţia ca τ =1 atunci:
Ct = C
adică numeric cele două mărimi sunt egale.
-Redundanţa canalului prin analogie cu redundanţa sursei este definită ca fiind diferenţa între capacitatea canalului si transinformaţie:
Rc = C − I ( X ; Y )
17
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
-Capacitatea canalului binar simetric (CBS). Se numeşte canal simetric canalul la care probabilitatea de eronare a oricărui simbol
este aceeaşi. Un canal binar oarecare este caracterizat de matricea numită matricea de zgomot:
p( y1 / x1 ) p( y 2 / x1 ) 1 − p p
[ P] = [ P(Y / X )] = → PCBS (Y X ) =
p( y1 / x 2 ) p( y 2 / x 2 ) p 1 − p
Capacitatea se poate determina pornind de la relaţia de definiţie în care transinformaţia se înlocuieşte cu expresia favorabilă:
C = max I ( X ; Y ) = max[H (Y ) − H (Y / X )]
p 0 1 − p p p1 (1 − p ) p1 p
P( X , Y ) = P( X )P(Y X ) = 1 =
0 p 2 p 1 − p p 2 p
p 2 (1 − p )
Se observă că pentru un canal binar simetric eroarea medie H (Y X ) nu depinde de sursă P( X ) ci numai de zgomotul din
canal P(Y X ) . Scriind expresia capacităţii canalului , obţinem:
18
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
ξ)
2.3.4 Capacitatea canalului prin bandă (B) şi raport semnal/zgomot (ξ
A fost definită capacitatea unui canal de transmisie modelat prin matricea de zgomot P (Y X ) . În majoritatea situaţiilor
practice nu se cunoaşte matricea de zgomot, canalul fiind precizat prin parametrii mult mai uşor de determinat experimental cum ar fii
banda (B) si raportul semnal-zgomot (ξ).
Pe un canal, teoretic este posibil să transmitem orice cantitate de informaţie; ceea ce este limitată într-o transmisiune este
debitul maxim de informaţie transmisibilă în “timp real”, limita ce defineşte capacitatea canalului. Această limitare este determinată de
caracteristicile canalului, ea producându-se atât în transmisiunile digitale cât şi în cele analogice. Determinarea capacităţii (fără a fi o
demonstratie riguroasă în adevăratul înteles al cuvântului ) se va face pentru transmisiuni digitale, dat fiind caracterul mai concret al
noţiunii în acest caz; de altfel transmisia informaţiei analogice poate fi considerată ca un caz limită a informaţiei numerice.
La intrarea canalului vom considera o sursă de informaţie discretă, caracterizată prin:
•
debitul de decizie : D [biti/s], deci sursa se presupune echiprobabilă (în cazul situaţiilor reale după codare se
obţine şi acest deziderat)
•
debitul de momente : M [Db], ce caracterizează viteza de variaţie fizică a semnalului
purtător de informaţie.
alfabetul sursei, format din cele m stări specifice unui moment (aceste pot fi nivele,
frecvente sau faze).
Cele trei mărimi sunt legate prin relaţia:
• •
D = M ldm
Fizic, receptorul va trebui să poată distinge, în prezenţa zgomotului, două momente succesive al căror parametru
caracteristic ia, în situaţia cea mai defavorabilă, două valori consecutive din cele m posibile. În consecinţă pentru a putea transmite
un debit de decizie D, canalul va trebui sa asigure :
-O rezoluţie în timp, adică să permită variaţia parametrului caracteristic al semnalului de la un moment la altul sau pe
durata unui moment.
-O rezoluţie in amplitudine, astfel încât să poată fi efectiv distinse cele m valori posibile ale parametrului caracteristic şi în
prezenţa zgomotului.
O ilustrare grafică ale celor două cerinţe este dată in figura următoare:
fig
Ne interesează legătura ce trebuie să existe între cei doi parametrii ai sursei (M şi m) şi parametii canalului (B si ξ) astfel
încât transmisia să asigure rezoluţia necesară în timp şi în amplitudine.
Orice canal real de transmisiune conţine reactanţe ce se opun variaţiilor bruşte ale semnalului, ceea ce duce la un
comportament inerţial al canalului. Acest fenomen se poate observa atât în frecvenţă cât şi in timp.In frecvenţă: atenuarea canalului
este funcţie de frecvenţă, acesta comportându-se ca un filtru trece jos (FTJ).
În timp: răspunsul la semnalul treaptă unitate :σ(t) al canalului are o pantă finită, definită de timpul de creştere ( t c ). În
cazul canalelor reale sau ideale între t c si B există următoarea relaţie empirică:
Bt c ≅ 0,35 ÷ 0,45
care arată că în cazul unui canal având banda B nu este posibilă variaţia parametrilor semnalului cu orice viteză, aceasta
fiind limitată de t c . În consecinţă şi durata unui moment Tm = 1 M este limitată de t c :
19
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
1 0,4 •
TM ~ t c ⇒ •
~ ⇒ M ~ B ⋅ 2,5
B
M
Nyquist în 1928 a determinat teoretic relaţia dintre M si B necesară rezoluţiei în timp:
M MAX = 2 B pentru canalul ideal.Această relaţie, cunoscută în literatură ca teorema lui Nyquist ,a fost dedusă in ipoteza unei FTJ
ideal de bandă B.
În cazul canalelor reale, care nu sunt FTJ ideale, se consideră că :
TM ≅ 2t c
Avind t c =0,4 /B avem:
0,8
TM =
B
•
De unde rezultă: M max =1,25*B , pentru canale reale.
În afara inerţiei canalului, ce determina comportarea acestuia, ca un FTJ, intr-o transmisiune apare insa un fenomen
nedorit, dar inevitabil: prezenta perturbatiilor in special al zgomotului, care se suprapune peste semnalul transmis ducând la
ingreunarea procesului de recunoastere la receptie a celor m valori corespunzatoare unui moment, cu atit mai mult cu cit m este mai
mare.
Puterea semnalului (Ps) fiind limitată este imposibilă recunoasterea unui număr de ∞ de valori diferite ale lui m, în prezenţa
zgomotului a carui putere este PN in punctul de măsură considerat.
In 1948 Shannon a demonstrat că limita teoretică pentru m, în ipoteza unui zgomot alb gausian este:
PS + PN
mmax = = 1+ξ
PN
unde: ξ = PS PN este raportul semnal / zgomot.
Se numeşte capacitatea (C) a unui canal de transmisie considerat ca un FTJ ideal având lărgimea de bandă B şi raportul semnal-
zgomot ξ (zgomot gausian), valoarea maximă a debitului de decizie transmisibilă prin canal:
• •
C =: Dmax = M max ⋅ ldmmax = 2 Bld 1 + ξ
Observaţie: În practica inginerească raportul semnal-zgomot se exprimă în dB: ξ[dB]=10lgξ
1
În acest caz se poate exprima într-o formă foarte comodă pentru aplicaţii: C≅ Bξ [ dB ]
3
Relaţia ,stabilită de Shannon în 1948, arată că limita teoretică a debitului maxim transmisibil pe un canal. La această viteză
maximă de transmitere a informaţiei este posibilă o recepţie fără erori Pe → 0 , în cazul unei prelucrări optime a semnalelor
(teorema a II-a a lui Shannon pentru canale cu perturbatii). Relaţia, deşi este o limită teoretică, imposibil de atins în transmisiuni
reale, este deosebit de utilă in aplicaţii, permiţând o comparare si o evaluare a diferitelor sisteme de transmisiune.
Reprezentarea grafică a relaţiei anterioare este dată în figura de mai jos:
20
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
C~B şi C~ld(1-ξ), ceea ce înseamnă că reducerea benzii, prin păstrarea valorii C=ct.,implică necesitatea unei serioase
imbunatăţiri a ξ, dată fiind dependenţa logaritmică a lui C de ξ . Dependenţa direct proportională a capacităţii de bandă impune
întrebarea : Dacă C poate fii crescută oricât pe seama creşterii lui B ? Răspunsul este negativ, justificarea fizică aparând evidentă :
prin creşterea benzii, creşte creşte implicit puterea zgomotului PN , ceea ce va duce la scăderea raportului semnal-zgomot, pentru
PS =ct.
Demonstraţia afirmaţiei de mai sus se face imediat : calculele se desfaşoara în ipoteza unui zgomot alb gausian de
densitate spectrală de putere unilaterală N O =ct.:
PS P
C ∞ = lim C = lim Bld (1 + ) = S lde = ct.
B →∞ B →∞ BN 0 N0
Variaţia capacităţii cu banda este reprezentată in figura următoare:
Rezultă că nu este raţională creşterea capacităţii pe seama ceşterii benzii peste o anumită limită, deoarece sporul in
capacitate este foarte scazută.Aceeaşi capacitate poate fii obţinută cu valori diferite ale lui ξ si B :folosind o banda mica B1 si un
canal cu raport semnal-zgomot foarte bun ξ 1 (situatie corespunzatoare sistemului 1 din figura) sau un canal puternic perturbat , cu
ξ 2 mic di o banda mai larga B 2 (sistemul 2 din figura).
Relaţia lui Shannon este o relaţie ce dă o limită teoretică a debitului de decizie maxim transmisibil. Pe canale reale
•
: D max real <C . Această limită în trasmisiune nu se obţine automat; pentru atingerea ei este necesară prelucrarea sursei inainte de
transmisiune, pentru a o adapta canalului, dat prin B si ξ, Aceste operatii fiind codarea si modularea.O reprezentare grafica sugestiva
•
a relatiilor ditre sursa de informaţie si canal, este data in figura urmatoare.Dacă D >C, transmisiunea nu mai este posibila in timp
•
real; in acest caz se poate transmite aceeasi cantitate de decizie D = D⋅ T a sursei printr-o prelucrare prealabila, cantitatea de
•
decizie D va fi intr-o memorie si apoi va fi transmisa intr-o forma compatibila cu canalul ( D ≤ C ). Evident durata transmisiei T va
creste, transmisiunea nemaifiind in timp real. In practica aceasta situatie apare in cazul transmisiilor unor imagini fixe de la sonde
spatiale, situatie in care capacitatea canalului este mult mai slaba decit debitul real de informaţie al surei.
21
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
fig
În general alfabetul sursei diferă de alfabetul canalului şi ca urmare primul obiectiv al codării surselor este de a trece de la
alfabetul sursei la alfabetul canalului . Mai mult decât atât dorim ca transinformaţia să fie maximă şi în acest scop prin codare trebuie
să asigurăm ca sursa secundară să genereze simbolurile cu probabilităţile care asigură acest maxim. Dacă am realizat acest lucru
spunem că am făcut adaptarea statistică a sursei la canal.
În cazul canalelor fără perturbaţii acest obiectiv se atinge când sursa secundară este o sursă de entropie maximă:
C=max H(X)=log D
unde D este numărul de simboluri din alfabetul canalului.
Deci obiectivul codării surselor este de a transforma o sursă dată cu un set de probabilităţi determinat pe care o numim sursa primara
intr-o sursa de entropie maximă.Cu alte cuvinte prin codare se cauta sa se anuleze redundanta sursei.
Fie o sursă discretă fără memorie furnizând simboluri îuntr-o mulţime [S] numită alfabetul sursei:
[ S ] = [ s1 s 2 ...s N ]
având probabilităţile:
[ P] = [ p( s1 ) p( s 2 )... p( s N )]
Fie [X] alfabetul finit al codului:
[ X ] = [ x1 x 2 ...x D ]
Cu aceste litere se formeaza un numar N de cuvinte de cod:
[C] = [c1c2 ... c N ]
Totalitatea cuvintelor c k formează un cod .
Între codurile B si C din tabelul de mai sus există o măsură importantă : la codul B , pe măsură ce se recepţionează
succesiunea de litere din alfabetul codului se pot determina cuvintele codului fără referinta la literele următoare.Astfel:
0 10 110 0 1110 0
s1 s2 s3 s1 s4 s1
22
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Adică dacă succesiunea de litere din alfabetul codului formează un cuvânt din vocabularul codului acesta este unic fiindcă prin
adăugarea unor litere la un cuvânt de cod nu se poate obţine un nou cuvânt . Un astfel de cod se numeşte instantaneu.
Condiţia necesară şi suficientă ca un cod să fie instataneu este ca nici un cuvânt al codului să nu fie un prefix al unui alt cuvânt de
cod.
In general prin codare se urmăreşte mărirea “eficienţei” transmisiunii informaţiei.In cazul canalelor fără zgomot se spune
că se măreşte eficienţa referindu-se în general la minimizarea unei anumite functii de cost.Una din cele mai simple funcţii de cost se
obţine dacă fiecărui cuvânt i se asociază un anumit coeficient de cost ti. Coeficientul de cost ti in particular poate sa fie durata
cuvintului ci in conformmitate cu faptul ca ca pretul exploatarii unui sistem de transmisiune poate fii considerat aproximativ liniar
crescator cu timpul.
N N
In acest caz costul mediu pe mesaj devine: C = ∑ t i p (ci ) = ∑ t i p ( si )
i =1 i =1
Evident cea mai eficientă transmisie este aceea care minimizează costul mediu C.Costul mediu in cazul considerat este egal cu
durata medie al unui cuvânt de cod.Mărirea eficienţei transmisiunii se poate obţine atribuind in mod convenabil fiecărui mesaj si dat
de sursa un cuvint de cod ci in care numarul literelor li să fie astfel ales incit lungimea medie l al unui cuvânt să fie cât mai mică.
-Limita inferioară a lungimii medii a unui cuvânt de cod.
Informaţia medie pe un cuvânt de cod este dată de produsul dintre numărul mediu de litere l şi informaţia medie pe litera H(X) deci:
H ( S ) = H (C ) = lH ( X )
Valoarea maximă a entropiei H(X) se obţine atunci când probabilităţile p(xi) sunt egale adică:
1
p ( x1 ) = p ( x 2 ) = ... = p ( x D ) =
D
Aceasta valoare este log D deci:
H ( X ) ≤ log 2 D
Ţinând seama de această inegalitate relaţia devine:
H ( S ) = H (C ) = l H ( X ) ≤ l log D
de unde:
23
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
H (S )
l≥ = l min
log D
Relaţia arată ca lungimea medie l a unui cuvânt de cod are o margine inferioara egal cu entropia sursei imparţită la valoarea maximă
H (S )
a entropiei alfabetului codului, sau ca informaţia medie pe o litera din alfabetul codului nu poate fi mai mare decit valoarea
l
maximă a entropiei alfa-betului codului log D.
H (S)
≤ log D
l
2.4.4 Capacitatea , eficienţa si redundanţa codului
Tinind seama de cele precedente se poate defini eficienta codului ca fiind raportul dîntre lungimea medie minima a unui cuvint de cod
:
l min
η=
l
Asa cum s-a arătat , marginea inferioara a cuvintului de cod este:
H (S ) H (S )
l min = =
log D C
iar lungimea medie a unui cuvânt de cod este :
H (S )
l=
H(X )
Din relaţia anterioară rezultă :
H (S )
η=
l log D
sau ţinând seama de relatie se obţine :
H (X )
η=
log D
Se numeşte redundanţa codului mărimea complementară eficienţei.Ea este definită de relaţia :
l log D − H ( S ) log D − H ( X )
ρ = 1−η = sau ρ=
l log D log D
Dacă probabilităţile mesajelor sursei au anumite valori particulare care satisfac relaţia după cum s-a văzut eficienţa codului
este maximă. În acest caz din relaţia anterioara rezulta:
− log p ( s i )
li = −
log D
Urmează să se studieze ce se întâmplă când mesajele ce trebuie sa fie codate au un set arbitrar de probabilităţi. In acest caz
raportul:
− log p ( si )
ri =
log D
nu este in general un numar întreg care sa poata fi onsiderat ca fiind lungimea li a cuvintului ci.Lungimea cuvintului ci din codul [C] in
acest caz poate fi aleasa astfel incit sa satisfaca inegalitatea :
24
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
− log p i − log pi
≤ li < +1
log D log D
∑D
i =1
−li
≤1
adică este un cod ireductibil având cuvinte de lungime l i .Înmulţind inegalitateacu pi şi însumând toţi indicii i se obţine:
H (S ) H (S )
≤l< +1
log D log D
Entropia a două cimpuri de evenimente independente reunite este suma entropiilor corespunzatoare:
Dacă câmpul [X] este egal cu cimpul [Y] şi egal cu câmpul [S] al simbolurilor sursei se obţine:
H (S , S ) = H (S 2 ) = 2H (S )
Dacă în loc să se asocieze cite doua simboluri din multimea [S] se asociaza cite n simboluri si se obţine relaţia anterioară. În felul
acesta in loc sa se faca codarea simbol cu simbol ea se face pe grupe de n simboluriSe noteaza cu ln lungimea medie a unui cuvint
de cod ce corespunde grupului de n simboluri ale sursei.În cazul acestei codări se poate aplica relaţia care capătă forma
H (S n ) H (S n )
≤ ln < +1
log D log D
H (S) l n H (S) 1
sau tinind seama de relaţia anterioară se obţine: ≤ < +
log D n log D n
Dacă n este foarte mare, la limită se obţine:
ln H (S )
lim n = =l
n→ ∞ log D
25
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Simbolurile sursei se aranjează în ordine descrescătoare a probabilităţii de aparitie şi se împart în două grupuri de aceeaşi
probabilitate, sau, dacă nu este posibil, de probabuilităţi cât mai apropiate. Dacă alfabetul codului este binar
X = {0,1} , D = 2
se atribuie litera 0 fiecărui simbol al sursei din grupul superior şi litera 1 fiecărui simbol din grupul inferior. Atât grupul superior cât şi
cel inferior sunt împărţite , la rândul lor, în două subgrupuri având probabilităţile totale cât mai apropiate între ele. Fiecărui subgrup
superior I se atribuie litera 0 şi fiecărui subgrup inferior I se atribuie litera 1. Fiecare subgrup obţinut se împarte din nou în alte
subgrupuri şi procesul continuă până când fiecare subgrup rămâne cu câte un singur element, epuizând astfel simbolurile sursei.
În cadrul acestei metode de codare, se caută ca fiecare simbol ales din alfabetul codului să conţină o cantitate de
informaţie cât mai mare atunci când este recepţionat. De aceea, împărţirea simbolurilor sursei în grupuri se face astfel încât
probabilitatea ca un simbol iniţial să aparţină grupului superior să fie c mai apropiată de probabilitatea ca simbolul să aparţină
grupului inferior. Prin cunoaşterea simbolului codului 0 sau 1, care indică apartenenţa la grupul superior şi respectiv la cel inferior, se
obţine cea mai mare cantitate de informaţie în etapa respectivă a identificării simbolului sursei transmis.
Un exemplu este prezentat în cadrul aplicaţiei ce urmează:
Aplicaţie
s4 0.2 1 0 1 0 2
s5 0.2 1 1 0 1 1 0 3
s6 0.1 1 1 1 0 1 1 1 0 4
s2 0.07 1 1 1 1 0 1 1 1 1 0 5
s1 0.03 1 1 1 1 1 1 1 1 1 1 5
Se obţine un cod neuniform, caracterizat prin cuvinte de cod de lungimi diferite. Simbolurilor de probabilităţi mai mari le
corespund cuvinte de cod mai scurte decât simbolurilor iniţiale mai puţin probabile. În acest fel lungimea medie a cuvintelor de cod
rămâne totuşi mică.
6
Entropia sursei: H (S ) = −∑ p (s i ) ⋅ log 2 p (si ) = 2.21 bit / simbol
i =1
_ 6
Lungimea medie: l = ∑ l i ⋅ p (s i ) = 2.3 simboluri
i =1
lU 3
Definind un factor de compresie: γ = _
= = 1.304
2.3
l
26
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
O sursă binară furnizează trei simboluri S = {s1 , s 2 , s3 } ; P = {0.60,0.30,0.10}. În cazul unei codări individuale,
lungimea medie a cuvântului de cod ar fi:
_ 3 _
H (S ) 1.2955
l = ∑ li ⋅ p (si ) = 1.40 ; l min = = H (S ) = 1.2955 → η = = 0.925
i =1 log 2 2 1.40
s4 0.30 1 0 1 0 2
s5 0.10 1 1 1 1 2
Pentru obţinerea unui cod mai eficient, în conformitate cu prima teoremă fundamentală a lui Shannon şi cu teorema Shannon-Fano,
codăm blocurile de câte două simboluri iniţiale, cum se vede în tabelul de mai jos:
s1 s 2 0.18 0 1 0 1 2
s 2 s1 0.18 1 0 0 1 0 0 3
s2 s2 0.09 1 0 1 1 0 1 2
s1 s3 0.06 1 1 0 0 1 1 0 0 4
s3 s1 0.06 1 1 0 1 1 1 0 1 4
s 2 s3 0.03 1 1 1 0 1 1 1 0 4
s3 s 2 0.03 1 1 1 1 0 1 1 1 1 0 5
s3 s 3 0.01 1 1 1 1 1 1 1 1 1 1 5
_
1 _ 1 3 3 2.69 1.2955
l= ⋅ l 2 = ⋅ ∑∑ l ij ⋅ p (si , s j ) = = 1.345 → η = = 0.963
2 2 i =1 j =1 2 1.345
27
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Dacă codăm în continuare blocuri 3-dimensionale de simboluri iniţiale, ne vom apropia şi mai mult cu lungimea medie a cuvintelor de
cod de valoarea minimă. Codurile din tabelele anterioare sunt coduri optimale având cea mai mică lungime medie a cuvintelor de cod
în clasa codurilor obţinute prin codarea simbolurilor individuale ale fiecărei surse date. Ele nu sunt însă coduri absolut optimale,
lungimea medie neatingând marginea inferioară , deoarece nu este îndeplinită condiţia din inegalitatea lui Kraft.
Deşi este, în general, satisfăcător, conducând la eficienţe ridicate, algoritmul Shannon-Fano nu asigură, în cazul codării simbol cu
simbol, obţinerea celei mai mari eficienţe (cele mai reduse lungimi medii a cuvintelor de cod) în raport cu alţi algoritmi posibili.
Algoritmul propus de D. A. Huffman este optimal în sensul că nici un alt algoritm de codare nu conduce la o lungime medie a
cuvintelor de cod mai mică, în cazul codării simbolurilor individuale. Cu ajutorul acestui algoritm se sintetizează un cod optimal.
Având o sursă S = {s i } ; P = {pi } al cărei alfabet are N simboluri, codarea Huffman binară ai acestei surse
comportă următoarele etape:
♦ Simbolurile sursei se ordonează în sens descrescător al probabilităţilor corespunzătoare
♦ Se grupează ultimele două simboluri cu cele mai mici probabilităţi ; acest grup constituie un nou mesaj r1
de probabilitate:
p(r1 ) = p(s N ) + p(s N −1 )
Având o sursă S = {s i } ; P = {pi } al cărei alfabet are N simboluri, codarea Huffman D -ară ai acestei surse cu
X = {x1 , x 2 ,..., x D } comportă aproximativ aceeaşi etape ca şi codarea binară, restrângerile făcându-se
un alfabet constituit din
până ce se obţine o sursă n-ară care furnizează D simboluri, cărora li se asignează simbolurile codului x1 , x 2 ,..., x D
În acest caz, se observă că după prima restrângere se obţine o sursă cu N − (D − 1) = N − D + 1 simboluri, iar
după n restrângeri, o sursă cu N − n(D − 1) simboluri. Pentru ca operaţia de codare să fie posibilă, ultima sursă (rezultată în
urma a n restrângeri) trebuie să furnizeze D simboluri, deci D = N − n(D − 1) , de unde rezultă un număr de restrângeri:
N −D
n=
D −1
Pentru N , D date se verifică ca n să fie număr întreg, dacă această condiţie nu este satisfăcută va trebui să adăugăm
sursei S = {s i } un număr de simboluri cu probabilitate de apariţie nulă, care să asigure un n întreg.
Aplicaţia următoare prezintă o codare ternară pentru sursa discretă din aplicaţia precedentă.
28
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
unde: n este lungimea cuvintului de cod, E (R ) este o funcţie nenegativă numită exponentul erorii. Teorema afirmă existenţa unor
coduri a căror probabilitate de decodare eronată este arbitrar de mică, dar nu arată cum pot fi construite asemenea coduri. Această
teoremă afirmând un lucru cu totul surprinzător şi anume că indiferent de nivelul perturbaţiilor dintr+un canal, se pot face transmisiuni
cu o probabilitate a erorii oricât de mică – a dus la o puternică dezvoltare a teoriei codurilor
Codurile grup sunt coduri bloc în care cele n simboluri care formează un cuvânt sunt considerate ca fiind componentele unui vector n
dimensional. Să prezentăm sub forma matricială componentele unui cuvânt:
w = [a1a2 ...a n ]
Deoarece ne ocupăm numai de coduri binare , elementele ai sunt elementele unui câmp cu două elemente notate (0,1) câmpul fiind
notat cu GF(2) Regulile de operare numite adunare modulo 2 şi multiplicare in GF(2) sunt:
+ 0 1 · 0 1
0 0 1 0 0 0
1 1 0 1 0 1
In spaţiul n-dimensional al cuvintelor se introduce funcţia distanţă D( v i , v j ) care setisface postuletele unui spatiu metric . Prin
definiţie această funcţie este:
D(vi , v j ) = (a i1 ⊕ a j1 ) + (a i 2 ⊕ a j 2 ) + ... + (ain ⊕ a jn )
unde s-a notat cu ⊕ adunarea modulo 2 in corpul finit cu două elemente ale coordonetelor şi cu + adunarea obişnuită in corpul
numerelor reale. Sub o formă concisă se poate scrie:
n
D(vi , v j ) = ∑ (aik ⊕ a jk )
k =1
Din relaţia de definiţie rezultă că distanţa dintre două cuvinte de cod este egală cu numărul de simboluri prin care cele două cuvinte
se deosebesc.
Ponderea unui cuvânt de cod este egal cu numărul elementelor nenule din cuvântul respectiv
29
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Se presupune o transmisie binară printr-un canal binar simetric fără memorie, fiecare cuvânt de cod se transmite cu
aceeaşi probabilitate. Se notează cu p probabilitatea ca un simbol să fie transmis eronat şi cu q probabilitatea ca el să fie transmis
corect, avem, evident:
p+q =1
'
Dacă se recepţionează cuvântul v ,probabilitatea ca el să provină din v i este:
i
p v i v 'i = p D (v i , v i )q n − D (v i , v i )
( ) , ,
Deoarece în majoritatea canalelor utilizate probabilitatea p << 1 , respectiv q ≈ 1 , relaţiile precedente se pot scrie:
( )
p(v i v 'i ) ≅ p ( ) ( )
D v ,i , v i D v ,i , v j
respectiv p v j v i' ≅ p
Dacă:
Cu alte cuvinte, dacă distanţa de la cuvântul recepţionat v ,i la cuvântul de cod v i este mai mică decât distanţa la oricare alt cuvânt
v ,i să provină din v i este mai mare ca probabilitatea ca el să provină din oricare alte cuvinte de
de cod, atunci probabilitatea ca
,
cod. Pe baza acesteia se poate decide că s-a transmis cuvântul v i când s-a recepţionat v i . Această schemă de decizie se
,
numeşte a observatorului ideal sau a probabilităţii maxime, ea stabileşte o corespondenţă între cuvintele recepţionate v i şi
cuvintele transmise v i pe baza criteriului probabilităţii condiţionate maxime ( p(v j v 'i ) ). În consecinţă, putem afirma că
posibilităţile de detecţie şi corecţie ale unui cod depind de distanţa minimă dintre cuvintele de cod
Pentru a elabora mecanismul de detecţie şi corecţie a erorilor este necesar ca în prealabil să se analizeze modul în care se
introduc erorile ce trebuie corectate/detectate. Într-un cadru general, acţiunea perturbaţiilor poate fi caracterizată printr-un operator
aleator P care face transformarea :
P{v i } = v ,i
Cuvântul de eroare se defineşte ca un cuvânt care are simboluri din acelaşi alfabet cu cuvintele de cod v i şi aceeaşi lungime n,
definit sub forma matricială (generat de canalul cu perturbaţii):
ε = [ε 1ε 2 ...ε n ]
unde simbolurile pot lua în cazul binar valorile 0 sau 1, concret, εi ia valoarea 1 dacă perturbaţiile introduc eroare, respectiv 0 dacă
nu se introduc erori. Într-o alta formă, cuvântul de eroare poate fi scris sub forma:
P{v i } = v i + ε = v ,i
Pentru a stabili o modalitate de detecţie sau corecţie a erorii se consideră un spaţiu m-dimensiomal care se numeste
m
spaţiul de corecţia Z si care are 2 elemente z aparţinând Z numite corectori.Corectorii se reprezinta prin matrice.
In literatura de specialitate corectorul se mai numeste si vector de control de paritate si sindrom.
Corectorii sunt destinati sa indice pozitiile din cuvintul de cod in care s-au introdus erori. In acest scop se stabileste o corespondent
univoca intre multimea tuturor cuvintelor receptionate si multimea corectorilor.Aceasta corespondenta se poate stabili definind un
operator H astfel ca:
Η{v′i } = z
Daca vi′ = vi adica daca tansmisia s-a facut fără erori z trebue sa fie acelasi pentru orice I indicind astfel faptul ca un sunt erori. Se
alege in acest caz pentru z o valoare 0 si ca urmare relatia devine:
H {vi } = 0
K
pentru orice I de la 1 la S = 2
Pentru a putea corecta erorile introduse in procesul de transmisie este necesar ca pentru fiecare cuvint eroare care poate fi generat
de perturbatiile din canal sa existe un singur corector distinct diferit de zero.
Din cele precedente rezulta ca operatorul H determina o tansformare care este numai univoca de la spatiul de cuvinte receptionate la
spatiul corector. Cea mai simpla structura a operatorului H se obtine daca se considera o transformare lineara care este numai
univoca de la spatiul cuvintelor receptionate la sprtiul corectorilor, definite de ecuatiile:
Relatiile se pot scrie compact sub forma matriciala.In acest scop se introduce matricea:
h11 h12 h1n
H = h21 h22 h2 n
hm1 hm 2 hmn
Matricea H se numeste matricea de control. Prin transformari elementare matricea H poate fi pus sub forma echivalenta:
1 0 0 q11 q12 q1k
H = 0 1 0 q21 q 22 q 2 k = [ I m Q]
0 0 1 q m1 qm 2 qmk
in care I m reprezintă matricea unitate de ordinul m , iar Q este:
q11 q12 q1k
Q = q 21 q22 q2 k
qm1 qm2 qmk
In cele ce urmeaza se vor nota cuvintele sub forma de matrici linie :
31
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
v′ = [a1′a ′2 ... a ′n ]
iar corectorii sub forma de matrice coloana:
c1
c
z= 2
...
c m
să fie simboluri generate de sursă pe care le numim simboluri de informaţie. Cu notaţiile anterioare avem:
v = c i
Pentru a determina cele m simboluri de control în funcţie de k simboluri de informaţie, facem apel la relaţia de corecţie:
c
T
T
Hv = 0 → I m Q T = 0 → c T + Qi T = 0 → c T = Qi T
i
Operaţia de determinare a simbolurilor de control în funcţie de simbolurile de informaţie se numeşte codare. Relaţia anterioară se
poate scrie:
q11 q12 ... q1k a m +1 a1
q q 22 ... q 2 k a m+ 2 a 2
21 = =
... ... ... ... . .
q m1 qm2 ... q mk a m+ k a m
de unde rezultă:
k
a j = ∑ qij ⋅ a m +i j = 1, m
i =1
adică simbolurile de control se obţin din combinaţii liniare (însumare modulo 2) ale simbolurilor de informaţie. Cuvintele de cod astfel
formate pot fi recunoscute datorită faptului că au corectorul corespunzător nu. Dacă în procesul de transmisie se introdc erori,
corectorul va fi diferit de zero şi prin mecanismul indicat se pot corecta erorile.
Dacă simbolurle de informaţie şi de control sunt plasate în grup la începutul sau la sfârşitul cuvântului de cod, codul se
numeşte sistematic.
Pentru a putea fi corectată orice combinaţie a e erori, matricea H trebuie să satisfacă anumite condiţii:
32
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
v, = v + ε
unde ε este un cuvânt de eroare cu e simboluri egale cu 1, respectiv e erori:
ε = [...α i ...α i ...]
1 e
= H (v + ε ) = Hv T + Hε T
, ,T T
Corectorul corespunzător cuvântului v este: z = Hv
... h1n
.
h11 h12
h h22 ... h2 n i1
α
z = 21 .
... ... ... ... α
ie
hm1 hm 2 ... hmn
Pentru simplitate se notează coloanele matricei H cu h i , relatia anterioară se poate scrie:
.
α
i1
[ ] [
z = [h 1h 2 ...h n ] ⋅ . = ...α i1 h i1 + ... + α ie h i e + ... = h i1 + ... + h i e ]
α ie
Pentru a corecta e erori indiferent de poziţiile în care intervin este necesar ca sumele modulo 2 a câte e coloane oarecare din
matricea de control H să fie distincte. În felul acesta se obţin corector distincţi pentru fiecare cuvânt de eroare.
Dacă coloanele matricei H sunt astfel alese încât sumele modulo 2 a câte e coloane sunt distincte, respectiv:
h i1 + ... + h ie ≠ h j1 + ... + h je
pentru orice valori i1 ,...ie distincte, cuprinse între 1 şi n şi j1 ,... j e distincte cuprinse între 1 şi n (care pot fi egale cu unele numere
i1 ,...ie dar nu cu toate), atunci adunând în ambii membrii coloanele h j1 ...h je se obţine:
pentru orice valori i1 ,...i 2e cuprinse între 1 şi n. Dacă coloanele matricei de control satisfac condiţia dată de ecuaţia anterioară,
atunci există posibilitatea corectării a e erori oarecare.
Se poate arăta că în acest caz distanţa minimă între două cuvinte de cod este egală cu 2e+1.
Observaţie
Din relaţia anterioară rezultă că distanţa dintre două cuvinte de cod este ponderea unui alt cuvânt de cod (numărul
elementelor nenule într-un cuvânt de cod)
Simbolurile astfel obţinute sunt şi ele simbolurile unui cuvânt de cod w, deoarece satisfac relaţia:
w = [b1b2 ...bn ] = v i + v j → Hw T = H (v i + v j ) = Hv Ti + Hv Tj = 0 →
T
Hw T = 0
33
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Rezultă că distanţa minimă dintre două cuvinte de cod (care este şi ponderea minimă a cuvintelor de cod) va determina
capacităţile de corecţie a unui cod.
Dacă se presupune că w este un cuvânt de cod cu pondere egală cu 2e+1 atunci:
[ ]
w = ...α i1 ...α i2 e +1 ... → Hw T = 0 respectiv α i1 h i1 + ... + α i2 e +1 h i 2e +1 = 0
sau h i1 ... + ...h i 2e +1 = 0
Dacă suma a 2e coloane oarecare este diferită de zero, atunci nu există nici o relatie de forma:
h i1 ... + ...h i 2e = 0
Deci, condiţia necesară şi suficientă pe care trebuie să o îndeplinească distanţa dintre cuvinte pentru ca să se poată corecta e erori
este ca:
d min = Pmin = 2e + 1
Pentru a detecta e erori, condiţia este:
d min = Pmin = e + 1
Observaţie. Se observă că un cod corector de e erori este detector de 2e erori
Ţinând seama de notaţiile precedente, se defineşte o matrice G numită matrice generatoare care satisface relaţia:
v = iG
Pentru a vedea legătura între matricea G şi matricea H , facem înlocuirile:
H ⋅ v T = 0 → H (iG ) = H ⋅ G T i T = 0
T
T
deoarece această relaţie este valabilă pentru orice simboluri de informaţie, rezultă: H ⋅ G = 0 , unde matricea H conform unor
relaţii anterioare este de forma:H = [I m Q ] unde matricea Q este o matrice cu m linii şi k coloane.
T
[ ]
Dacă matricea G ar fi de forma: G = Q I k atunci relaţia anterioară este satisfăcută:
Q
HG T = [I m Q ]⋅ = [Q + Q ] = 0
I k
Notând cu P matricea Q T : P = Q T , respectiv
p11 p12 .. p1m p11 ... p1m 10...0
p 21 p 22 ... p 2 m p12 ... p 2 m 01...0
P= deci G = [PI k ] sau G =
.....................
........................
p k1 ... p km 00...1
p k 1 p k 2 .. p km
având în vedere relaţiile existente, avem : v = [ci ] = i[PI k ] = [iPi ] de unde rezultă c = iP o altă relaţie pentru obţinerea
simbolurilor de control
[ ]
z = H ⋅ v ′ T → z T = v ′ ⋅ H T = [c ′i ′]⋅ I m P T = [c ′ + i ′P ] = [c ′ + c ′′] → z T = [c ′ + c ′′]
unde c ′′ = i ′P reprezintă simbolurile de control ce rezultă din operaţia de codificare a simbolurilor de informaţie recepţionate.
34
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
1
h 1 + h 2 = 1 = h 3 + h 4
0
10 1 1 0
[
H = [I 3 Q ] → G = Q T I k = ]
11 0 0 1
Se poate verifica relaţia :
1 1
1 0 0 1 1 0 1 0 0
HG T = 0 1 0 0 1 ⋅ 1 0 = 0 0 = 0
0 0 1 1 0 1 0 0 0
0 1
c.Pentru a scrie cuvintele de cod cu ajutorul matricii de control H se utilizează următoarea relaţie, în care cuvântul de cod este
sistematic:
35
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
c1
1 0 0 1 1 c 2 c1 + i4 + i5
v = [ci ] = [c1c 2 c3i 4 i5 ] → Hv = 0 → HG = 0 1 0 0 1 ⋅ c3 = c 2 + i5 = 0
T T
0 0 1 1 0 i 4 c3 + i4
i
5
de unde rezultă → c1 = i4 + i5 ; c 2 = i5 ; c3 = i 4
C1 C2 C3 I4 I5
V1 0 0 0 0 0
V2 1 0 1 1 0
V3 1 1 0 0 1
V4 0 1 1 1 1
Codurile Hamming constituie prima clasă de coduri bloc liniare corectoare de erori şi au fost propuse de R. Hamming în
anul 1950.
Caracteristicile codului:
k
- lungimea cuvântului de cod se determină cu relaţia: n = m + k + 1 = 2 − 1 , relaţie ce
reprezintă condiţia de existenţa a unui cod perfect, satisfăcută pentru o eroare
- codul este separabil dar nu este sistematic , structura unui cuvânt de cod este:
v = [c1c 2 i3 c 4 i5 i6 i7 c8 i9 ...i n ]
2 i , i = 0, k − 1
- simbolurile de control sunt situate pe poziţiile
- matricea de control H este de forma : H [ mxn ] = [h 1 ...h i ...h n ] unde fiecare coloană reprezintă în cod binar natural (BN)
numărul de ordine al coloanei respective, cu bitul cel mai puţin semnificativ în linia a m-a. Din structura matrici de control se observă
că toate coloanele sunt distincte deci este îndeplinită condiţia pentru corecţia unei erori
- relaţiile de codare se determină cu condiţia: H ⋅ v T = 0 de unde rezultă exprimarea simbolurilor de control în funcţie de cele de
informaţie
- sindromul se determină cu relaţia : H ⋅ r T = s , unde r T este transpusa cuvântului recepţionat
.
.
H ⋅ r T = H[v + ε ] = Hε T = [h1h 2 ...h i ...h n ]⋅ α i = h i
T
.
.
- corectorul corespunzător este: z = h i adică reprezentarea binară a numărului i care reprezintă poziţia în care este o eroare,
decodarea se face foarte simplu prin conversie binar-zecimal.
36
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Codul Hamming corector de o eroare nu poate corecta nici o eroare dublă, motiv pentru care este un cod perfect. În general codurile
care pot corecta e erori în orice poziţii, dar nu pot corecta e + 1 erori sau mai multe, se numesc coduri perfecte.
Codarea
Cele m poziţii ale simbolurilor de control corespund vectorilor coloană h i cu un singur element diferit de zero. Simbolurile de control
sunt date de relaţiile:
c1
c
2 0 0 0 1
i3 . . . .
c 4 = 0 . . . .
H ⋅ vT = 0 respectiv [h 1 h 2 ...h i ...h n ] ⋅ sau c1 + c 2 + i3 + ... + in = 0
i5
. . . .
. 0 1 1 1
.
1 0 1 1
in
relaţie cu m ecuaţii în care simbolurile de control intervin o singură dată , deci pot fi exprimate în funcţie de simbolurile de informaţie,
ce se pot scrie începând cu ultima linie:
c1 = i3 + i5 + ... + in
c 2 = i3 + i6 + ... + i n
c 4 = i5 + i6 + ... + i n
..............................
Decodarea
La recepţie, cuvântul recepţionat se introduce într-un dispozitiv cu celule binare de memorie şi se calculează corectorul:
e1 c1,
. ,
c 2
z = Hv = . = [h 1h 2 ...h n ] .
'T
. .
em i,
n
Numărul binar astfel calculat (e1e2 ...em ) este introdus într-un convertor binar-zecimal, iesirea căruia indică poziţia erorii, permiţând
astfel corecţia ei, prin însumarea modulo 2 a cuvântului recepţionat cu cuvântul de eroare obţinut.
37
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
Aplicaţie
Un număr de 20 de mesaje se transmit pe un canal cu perturbaţii utilizând un cod Hamming corector de o eroare. Se cere:
a. numărul simbolurilor de de informaţie k , al celor de control m şi lungimea fiecărcuvânt de cod
b. să se scrie matricea de control al codului H
c. să se scrie cuvintele de cod
d. cât este distanţa minimă ? cât este ponderea minimă ?
e. să se stabilească expresia corectorului pentru cazul în care se eronează c 4
f. să se stabilească ce se întâmplă în cazul în care apar două erori pe poziţiile 2 şi 7
a. Pentru a transmite 20 mesaje este necesar un număr de k = 5 simboluri de informaţie. Numărul
simbolurilor de control rezultă din expresia marginii Hamming:
2m − 1 ≥ n = m + k = m + 5 → m = 4 → n = 9
b. matricea de control este o matrice de n = 9 coloane şi m = 4 linii, fiecare coloană reprezintă codul binar al numărului de
coloană:
0 0 0 0 0 0 1 1
0
0 0 1 1 1 1 0 0
0
H =
0 1 0 1 1 0 0 0
1
1 0 1
0 1 0 1 0 1
c. cuvântul de cod Hamming este nesimetric şi are structura v = [c1 c 2 i3 c 4 i5 i6 i7 c8 i9 ] . Orice cuvânt de cod satisface relaţia:
H ⋅ vT = 0
care permite determinarea simbolurilor de control c1 , c 2 , c 4 , c8 în funcţie de simbolurile de informaţie i3 , i5 , i6 , i7 , i9 cu ajutorul
sistemului:
c 8 = i9
c 4 = i5 + i 6 + i 7
c 2 = i3 + i6 + i 7
c1 = i3 + i5 + i7 + i9
Se poate face un tabel în care să se reprezinte cele 20 de cuvinte de cod, pe baza relaţiei de mai sus.
C1 C2 I3 C4 I5 I6 I7 C8 I9
V0 0 0 0 0 0 0 0 0 0
V1 1 1 1 0 0 0 0 0 0
V2 1 0 0 1 1 0 0 0 0
V3 0 1 1 1 1 0 0 0 0
V4 0 1 0 1 0 1 0 0 0
V5 1 0 1 1 0 1 0 0 0
V6 1 1 0 0 1 1 0 0 0
V7 0 0 1 0 1 1 0 0 0
V8 1 1 0 1 0 0 1 0 0
V9 0 0 1 1 0 0 1 0 0
V10 0 1 0 0 1 0 1 0 0
V11 1 0 1 0 1 0 1 0 0
V12 1 0 0 0 0 1 1 0 0
V13 0 1 1 0 0 1 1 0 0
V14 0 0 0 1 1 1 1 0 0
V15 1 1 1 1 1 1 1 0 0
V16 1 0 0 0 0 0 0 1 1
V17 0 1 1 0 0 0 0 1 1
V18 0 0 0 1 1 0 0 1 1
V19 1 1 1 1 1 0 0 1 1
38
Transmisia datelor -curs 2011 zgerman@engineering.upm.ro
d. după inspectarea tabelului rezultă că ponderea minimă Pmin = 3 şi d min = 3 pentru o eroare e. în acest caz cuvântul de
eroare este: ε = [0 0 0 1 0 0 0 0 0] , corectorul se calculează:
0
1
( )
z = H v , = Hε T = h 4 =
T
0
şi reprezintă codul binar al poziţiei eronate.
0
f. în acest caz cuvântul de eroare este: ε = [0 1 0 0 0 0 1 0 0] , iar corectorul
0
1
z = [h 2 + h 7 ] = [h 5 ] =
0
1
Decodorul ar acţiona ca şi cum eroarea ar fi pe poziţia a 5-a şi efectuează “corecţia” presupusei erori, introducând de fapt o eroare
suplimentară pe poziţia a 5-a, pe lângă cele deja existente.
Pentru a depăşi dezavantajul codului Hamming corector de o eroare (acela de a erona suplimentar la depăşirea capacităţii
de corecţie a codului), acest cod poate fi modificat în sensul creşterii distanţei minime de la 3 la 4 ceea ce permite detecţia erorilor
duble. Acest lucru este posibil atât prin extinderea cât şi prin scurtarea codului iniţial
Creşterea distanţei minime se obţine prin adăugarea unui simbol de control suplimentar numit şi simbolul de control al
parităţii c0 , structura cuvântului de cod devenind astfel:
v = [c0 c1c 2 i3 c 4 i5 i6 i7 c8 i9 ...i n ]
Matricea de control capătă forma:
0 H 0 h 1 h2 ... h n
H∗ = =
1 1 1 1 1 ... 1
unde [h 1h 2 ...h i ...h n ] ⋅ este matricea de control a codului Hamming corector de o eroare.
Corectorul pentru acest cod va fi:
z
z∗ = H∗ v, ( ) T
= H ∗ε T =
z0
unde z îşi păstrează semnificaţia de la codul Hamming corector de o eroare iar z 0 este un simbol binar ce poate lua valoarea 0
sau 1 cu ajutorul căruia se poate face detectia erorilor duble( z 0 = 0 )
Putem avea următoarele situaţii:
z 0 = 0 şi z = 0 atunci nu apar erori
z 0 = 0 şi z ≠ 0 atunci sunt două erori detectabile
z 0 = 1 şi z ≠ 0 atunci există o eroare corectabilă
z 0 = 1 şi z = 0 atunci simbolul c0 este eronat
distanţa de cod este 4 şi ea corespunde condiţiei de corecţie a unei erori şi detecţie de erori duble.
39