Sunteți pe pagina 1din 65

Bazele tehnologiei

informaţiei

Teoria transmisiei informaţiei

Prof. univ. dr. Fl. NĂSTASE


Cuprins

1. Entropia informaţională
2. Sistem de transmisie a informaţiei
3. Codificarea informaţiei în sistemele de calcul
4. Coduri numerice şi alfanumerice
5. Coduri detectoare şi corectoare de erori

2
Entropia informaţională
Fie un experiment, având repartiţia:

⎛ x1 x 2 ... x n⎞
X = ⎜ ⎟
⎝ p1 p 2 ... p n⎠
unde:
xi: eveniment
pi: probabilitatea de apariţie a evenimentului xi

⎧ pi ≥ 0 ∀ i = 1, n

⎨ n

⎪ ∑ pi = 1
⎩ i=1 3
Entropia informaţională

• În urma realizării unui experiment se obţine


informaţie dacă şi numai dacă rezultatul
experimentului înlătură o anumită nedeterminare;
• Informaţia şi nedeterminarea sunt mărimi direct
proporţionale;
• Informaţia înlocuieşte nedeterminare.

4
Entropia informaţională
Se notează cu H măsura gradului de nedeterminare,
pentru experimentul X:

H(X) = H(p1, p2, .…, pn)

În 1948, C. Shannon a folosit formula pentru entropia


experimentului X sau entropia informaţională:

n
H( p1 , p2 ... pn ) = - ∑ pi log2 pi
i=1
5
Entropia informaţională
Unitatea de măsură a informaţiei se numeşte bit (binary digit) şi
reprezintă cantitatea de informaţie obţinută prin realizarea unui
eveniment din două egal probabile.
Multipli:
1 octet (byte) = 8 biţi
1 Kilo octet = 210 B
1 Mega octet = 210 KB = 220 B
1 Giga octet = 210 MB
1 Tera octet = 210 GB
1 Peta octet = 210 TB
1 cuvânt = 16 / 32 / 64 biţi, lungimea variază în funcţie de tipul
calculatorului.
6
Entropia informaţională
Principalele propietăţi ale entropiei informaţionale sunt:
P1. H(p1, p2, .…, pn) ≥ 0.

P2. H(p1, p2, .…, pn) = 0 - dacă pentru un indice i ∈{1, 2, .., n} avem pi =1

P3. H(p1, p2, .…, pn) ≤ H(1/n, 1/n, 1/n,…, 1/n).

P4. H(p1, p2, .…, pn, 0) = H(p1, p2, .…, pn).

P5. H(X1 x X2 x…Xn) = H(X1)+ H(X2)+.. H(Xn).

P6. H(X x Y) = H(X) + H(Y/X).

P7. H(Y/X) ≤ H(Y)

P8. H(X x Y) ≤ H(X) + H(Y)

P9. H(X/Y) = H(Y/X) + H(X) - H(Y)


7
Sistem de transmisie a informaţiei

Schema generală a unui sistem de transmisie a informaţiei fără


codificare este:

8
Sistem de transmisie a informaţiei

Fie:
• X mulţimea mesajelor emise de o sursă de informaţie (intrarea
sistemului);
• Y mulţimea mesajelor care se recepţionează (ieşirea sistemului);

• p(y/x) probabilitatea de a recepţiona mesajul y ∈ Y când s-a


emis x ∈ X.

9
Sistem de transmisie a informaţiei

Sistemul de transmisia informaţiei este format din două mulţimi


finite X, Y şi o probabilitate condiţionată p(y/x), definită pe Y
pentru orice x ∈ X şi se notează cu [X, p(y/x), Y].

Sursa sistemului de transmisie a informaţiei este reprezentată prin


câmpul de probabilitate {X, x, p(x)}, fiind dată probabilitatea de
emisie p(x) pentru ∀ x ∈ X, astfel încât

∑ p( x ) = 1
x ∈X
10
Sistem de transmisie a informaţiei

Recepţia sistemului de transmisie a informaţiei este reprezentată


prin câmpul de probabilitate {Y, y, p(y)}, fiind dată probabilitatea
de emisie p(x) pentru ∀ x ∈ X, iar probabilitatea de recepţie se
calculează prin relaţia:

p( y) = ∑ p( x ) p( y / x )
x ∈X

11
Sistem de transmisie a informaţiei

Canalul unui sistem de transmisie a informaţiei reprezintă mediul


prin care se propagă semnalele purtătoare de informaţie, de la sursă
la recepţie. Dacă:
• p(y/x) = 0 [sau 1] pentru orice x ∈ X şi y ∈ Y - asupra canalului nu
acţionază perturbaţii.
• p(y/x) ≠ 0 [sau 1] pentru oricare ar fi x ∈ X şi y ∈ Y - asupra canalului
acţionază perturbaţii.

12
Sistem de transmisie a informaţiei

Într-un sistem de transmisia informaţiei [X, p(y/x), Y]


expresiile:

H( X ) = − ∑ p(x) log
x ∈X
2 p( x )

H( Y ) = − ∑ p( y) log
y ∈Y
2 p( y)

reprezintă entropiile câmpului de evenimente de la intrare şi


câmpului de evenimente de la ieşire.
13
Sistem de transmisie a informaţiei

Expresia H(X/y) reprezintă cantitatea de informaţie care trebuie


emisă de către sursă pentru a recepţiona mesajul y ∈ Y. Dacă p(x/y)
este probabilitatea de a se emite mesajul x ∈ X când se
recepţionează y ∈ Y, atunci:

H( X / y) = − ∑ p( x / y) log 2 p( x / y )
x ∈X

14
Sistem de transmisie a informaţiei

Entropia H(X/Y) reprezintă cantitatea medie de informaţie emisă


de sursă, necesară pentru a recepţiona întreaga mulţime a mesajelor
y ∈ Y (echivocaţie):

H( X / Y ) = ∑ p( y ) H ( X / y )
y ∈Y

15
Sistem de transmisie a informaţiei
Reprezentarea grafică a echivocului:

Expresia: I(X,Y) = H(X) - H(X/Y) reprezintă informaţia transmisă


prin canal şi se mai numeşte transinformaţie.

16
Codificarea informaţiei în sistemele de
calcul

Codificarea informaţiei permite:


• transmisia în sistemele de calcul - pentru procesarea datelor;
• detectarea şi corectarea erorilor - se asigură integritatea
datelor;
• compresia - pentru minimizarea cantităţii de date;
• criptarea - pentru a se garanta securitatea datelor.

17
Codificarea informaţiei în sistemele
de calcul

Fie:
• X={x1, x2, x3,..., xN} - mulţimea simbolurilor
primare emise de o sursă de informaţie
• A={a1, a2,..., aD} - mulţimea simbolurilor codului
folosit.

Cu simbolurile: a1, a2,..., aD se formează un număr N de


cuvinte de cod:
C = {c1, c2,..., cN}
18
Codificarea informaţiei în sistemele
de calcul

Codificarea este operaţia de stabilire a unei corespondenţe


biunivoce între simbolurile xi ∈ X şi ci ∈ C (pentru ∀i = 1÷N).
De exemplu:
c1: a1 a2 a3 → x1
c2: a2 a1 a3 → x2
c3: …

Totalitatea cuvintelor ci (i = 1÷N) formează un cod.


19
Codificarea informaţiei în sistemele
de calcul

Dacă există funcţia cod:


f: X → C
trebuie să existe şi funcţia inversă:
f-1: C → X.
Operaţia de revenire, din mulţimea secvenţelor de cod în
mulţimea simbolurilor primare, se numeşte decodificare.

20
Codificarea informaţiei în sistemele
de calcul

• Numărul de simboluri elementare dintr-un cuvânt de cod


reprezintă lungimea acestuia.
• Codificarea este uniformă dacă toate cuvintele de cod au aceeaşi
lungime.
• Numărul de secvenţe distincte (NR) de lungime m, care se pot
crea cu D simboluri elementare, se determină prin formula:

NR = Dm

21
Codificarea informaţiei în sistemele
de calcul

• În sistemele de calcul mulţimea simbolurilor codului este:


A = {0,1}
• Ţinând cont de relaţia anterioară avem:
N ≤ 2m (N numărul simbolurilor primare)
• Prin logaritmarea relaţiei se va obţine:
log2 N ≤ m
• Într-o codificare uniformă, lungimea m a secvenţelor de cod
trebuie să fie cel puţin egală cu entropia maximă a sursei.
22
Codificarea informaţiei în sistemele
de calcul

• Pentru realizarea unei codificări se ţine seama de:


9 Lungimea secvenţelor de cod
9 Capacitatea codului - valoarea maximă a entropiei
alfabetului codului: Ccod = max H(A) = log2D
9 Eficienţa codului - raportul dintre lungimea medie minimă
şi lungimea medie a unui cuvânt de cod
9 Redundanţa codului este mărimea complementară
eficienţei.
23
Codificarea informaţiei în sistemele
de calcul
Schema generală a unui sistem de transmisie a informaţiei
devine (include codificarea primară):

24
Coduri numerice şi alfanumerice

Coduri alfanumerice
• Codul BCD (Binary Coded Decimal);
• Codul EBCDIC (Extended Binary Coded Decimal
Information Interchange Code) – cod elaborat de
IBM, foloseşte 8 biţi;
• Standardul ASCII (American Standard Cod for
Information Interchange) – standard de codificare pe 7
sau 8 biţi (elaborat în 1968);
• Standardul Unicode – standard de codificare pe 16 biţi
(elaborat în perioada 1988-1991).

25
Coduri numerice şi alfanumerice
Caracterul Codul ASCII Codul Codul
EBCDIC UNICODE
0 0011 0000 1111 0000 (0030)H

1 0011 0001 1111 0001 (0031)H

…….

9 0011 1001 1111 1001 (0039)H

a 0110 0001 1000 0001 (0061)H

…….

z 0111 1010 1010 1001 (007A)H


26
Coduri numerice şi alfanumerice

Caracterul Codul ASCII Codul Codul


EBCDIC UNICODE
A 0100 0001 1100 0001 (0041)H

B 0100 0010 1100 0010 (0042)H

…..

Z 0101 1010 1110 1001 (005A)H

LF(lineFeed) 0000 1010 0010 0101 (000A)H

27
Coduri numerice şi alfanumerice

Codurile numerice: ponderate şi neponderate


Coduri numerice ponderate
Fie N un număr zecimal:

N=zkzk-1zk-2….z0 zi ∈{0, 1, 2, …9} pentru ∀i = 1÷k


n
zi = ∑aj Pj
j=1

P j ∈{0, ± 1, ± 2, ....±9} - ponderea asociată rangului j;

aj∈{0,1};
n - numărul de simboluri din secvenţa binară asociată cifrei zecimale.
28
Coduri numerice şi alfanumerice

Coduri numerice ponderate (I)


Cifra Codul Codul
zecimală Codul 8421 Codul 2421 8421 Codul 4221 bichinar
50 43210
0 0000 0000 0000 0000 01 00001

1 0001 0001 0111 0001 01 00010

2 0010 0010 0110 0010 01 00100

3 0011 0011 0101 0011 01 01000

4 0100 0100 0100 0110 01 10000

29
Coduri numerice şi alfanumerice

Coduri numerice ponderate (II)


Cifra Codul Codul 4221 Codul
zecimală Codul 8421 Codul 2421 8421 bichinar
50 43210
5 0101 1011 1011 1001 10 00001

6 0110 1100 1010 1100 10 00010

7 0111 1101 1001 1101 10 00100

8 1000 1110 1000 1110 10 01000

9 1001 1111 1111 1111 10 10000

30
Coduri numerice şi alfanumerice

Coduri numerice neponderate (I)

Cifra Codul Codul Codul 2 din 5


zecimală Exces 3 Gray (74210)
0 0011 0000 11 000

1 0100 0001 00 011

2 0101 0011 00 101

3 0110 0010 00 110

4 0111 0110 01 001

31
Coduri numerice şi alfanumerice

Coduri numerice neponderate (II)

Cifra Codul Codul Codul 2 din 5


zecimală Exces 3 Gray (74210)
5 1000 0111 01 010

6 1001 0101 01 100

7 1010 0100 10 001

8 1011 1100 10 010

9 1100 1101 10 100

32
Coduri numerice şi alfanumerice
Codul de bare 2/5

Caracter Linia 1 Linia 2 Linia 3 Linia 4 Linia 5


1 1 0 0 0 1
2 0 1 0 0 1
3 1 1 0 0 0
4 0 0 1 0 1
5 1 0 1 0 0
6 0 1 1 0 0
7 0 1 0 1 1
8 1 0 0 1 0
9 0 1 0 1 0
0 0 0 1 1 0
start 1 1 0 0 0
stop 1 0 1 0 0

1: linie lată 0: linie îngustă


33
Coduri numerice şi alfanumerice
Codul de bare 2/5

1: linie lată 0: linie îngustă

34
Coduri detectoare şi corectoare de erori

• Distanţa de cod (Hamming)


• Codul Hamming
• Coduri liniare cu control încrucişat
• Coduri polinomiale ciclice

35
Coduri detectoare şi corectoare de erori

Schema generală a unui sistem de transmisie a informaţiei


devine (include codificarea redundantă):

36
Coduri detectoare şi corectoare de erori

După modul de prelucrare:


• coduri bloc – prelucrările, necesare obţinerii proprietăţilor de
detecţie sau de corecţie, se fac în blocuri de n simboluri;
• coduri convoluţionale (recurente) – prelucrarea simbolurilor
generate de sursă se realizează în mod continuu.
Din categoria codurilor bloc se disting:
• codurile grup, secvenţele de cod sunt considerate ca fiind
elemente dintr-un spaţiu vectorial;
• codurile ciclice, secvenţele de cod sunt considerate ca fiind
elemente într-o algebră.
37
Coduri detectoare şi corectoare de erori
Distanţa Hamming

În spaţiul n dimensional al cuvintelor de cod se introduce


funcţia distanţă:
n
D( vi, vj ) = ∑ ( aik ⊕ ajk )
k =1

vi = [ai1, ai2, …, ain] şi vj = [aj1, aj2,…, ajn]

38
Coduri detectoare şi corectoare de erori
Distanţa Hamming

• Probabilitatea unui cod de a detecta şi corecta erori depinde de


distanţa minimă între două cuvinte de cod.
• Un cod poate detecta un număr de e erori existente în una din
secvenţele sale dacă:

Dmin ≥ e + 1
• Un cod poate detecta e erori şi corecta c erori, având c ≤ e,
dacă:

Dmin ≥ e + c + 1

39
Coduri detectoare şi corectoare de erori
Distanţa Hamming

• Realizarea unor structuri de cod va ţine seama de :


9 numărul secvenţelor ce aparţin codului;
9 lungimea cuvintelor de cod;
9 distanţa minimă de cod.

• Operaţia de determinare a simbolurilor de control în funcţie de
simbolurile de informaţie se numeşte codificare redundantă.

40
Coduri detectoare şi corectoare de erori
Codul Hamming

• Se consideră un spaţiu m-dimensional - spaţiu de corecţie


(2m corectori z).

• Se defineşte operatorul ℋ: ℋ{vi′} = z


• Dacă vi′= vi se consideră ℋ{vi′} = 0 ⇒ ℋ{vi} = 0.

41
Coduri detectoare şi corectoare de erori
Codul Hamming

• Structura cea mai simplă pentru operatorul ℋ se obţine dacă se


va considera o transformare liniară, definită prin ecuaţiile:

h11 a1′ + h12 a2′ + …. h1n an′ = em

h21 a1′ + h22 a2′ + …. h2n an′ = em-1

hm1 a1′ + hm2 a2′ + …. hmn an′ = e1

hij - parametri care determină transformarea ℋ (i = 1÷m, j = 1÷n)


aj′ - simboluri ale cuvântului recepţionat (j = 1÷n)

ei – elemente ale corectorului (i = 1÷m) 42


Coduri detectoare şi corectoare de erori
Codul Hamming

• Dacă se vor utiliza notaţiile:


⎡ h11 h12 h1n ⎤
⎢ h 21 h 22 h 2n ⎥ - matricea de control;
H =⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ hm 1 hm 2 hmn ⎦ ⎡em ⎤
⎢ ⎥
v′ = [ a1′ a2′ … an′ ] - cuvântul recepţionat; z = ⎢ ⎥ - cuvânt corector.
⎢ e2 ⎥
⎢ ⎥
⎣ e1 ⎦

H v′T = z
când v = v′ relaţia se consideră: H v′T = 0 ⇒ H vT = 0
(relaţia prin care se determină cele m simboluri de control) 43
Coduri detectoare şi corectoare de erori
Codul Hamming

• Codul Hamming asigură detecţia şi corecţia unei singure erori.


• Pentru a indica poziţia erorii - unul din cele n simboluri ale
cuvântului de cod, sau pentru a indica absenţa erorilor este
necesar ca numărul corectorilor 2m ≥ n + 1.

Cum n = k + m, o să avem că:


2m ≥ m + k + 1
– m numărul simbolurilor de control;
– k numărul simbolurilor folosite pentru codificarea primară
a informaţiei.

44
Coduri detectoare şi corectoare de erori
Codul Hamming

• Codul Hamming este caracterizat de o matrice de control Hm,n,


unde coloana hk este reprezentarea binară a numărului k:

H = [h1h2....hn]

• Se consideră cuvântul eroare, cu o singură eroare:


e = [0,...,αk,...0] (αk=1)

• Dacă se transmite mesajul v se va recepţiona:

v`= v ⊕ e (perturbaţie aditivă)


45
Coduri detectoare şi corectoare de erori
Codul Hamming

• Corectorul corespunzător va fi:


T T
z=Hv ′
⇒ z = H (v ⊕ e ) T
⇒ z = H v ⊕ H eT
T este relaţia care se foloseşte pentru determinarea celor m
Cum Hv =0
simboluri de control, vom avea:
⎡0⎤
⎢.⎥
⎢ ⎥
⎢.⎥
⎢ ⎥
z = H eT ⇒ z = [h1 h 2 ..... h k .... h n ] ⎢αk ⎥ ⇒ z = hk
⎢.⎥
⎢ ⎥
⎢.⎥
⎢0⎥
⎣ ⎦ 46
Coduri detectoare şi corectoare de erori
Codul Hamming

• Pentru emisia unui cuvânt de cod este necesar să se determine


simbolurile de control. Vom nota:

cm simbolurile de control

ak simbolurile de informaţie

vectorul cuvânt de cod va fi: v=[c1c2a3c4....an].

• Tinând seama de relaţia:


T
H v =0
47
Coduri detectoare şi corectoare de erori
Codul Hamming

⎡ c1 ⎤ ⎡ 0 0 . . . . 1⎤ ⎡ c1 ⎤
⎢c ⎥ ⎢ 0 . . . . . 1⎥ ⎢ ⎥
⎢ 2⎥ ⎢ ⎥ ⎢c2 ⎥
⎢ a3⎥ ⎢........⎥ ⎢.⎥
[h1 h 2 .... h n ] ⎢ ⎥ = 0 sau ⎢ ⎥ ⎢ ⎥ = 0
⎢.⎥ ⎢........⎥ ⎢.⎥
⎢.⎥ ⎢0 1 . . . . . ⎥ ⎢.⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣a n ⎦ ⎣1 0 . . . . 1⎦ ⎣a n ⎦

48
Coduri detectoare şi corectoare de erori
Codul Hamming

⎧ c1 ⊕ a3 ⊕ a5 ⊕.....⊕ a n = 0 ⎧ c1 = a 3 ⊕ a 5 ⊕ ..... ⊕ a n
⎪ ⎪ = ⊕ ⊕ ..... ⊕
⎪⎪c2 ⊕ a3 ⊕ a6 ⊕.....⊕ a n = 0 ⎪⎪c2 a 3 a 6 an

⎨ . ⎨ .
⎪ . ⎪ .
⎪ ⎪
⎪⎩ cm ⊕ a m+1 ⊕.......⊕ a n = 0 ⎪⎩ cm = a m+1 ⊕ ....... ⊕ a n

49
Coduri detectoare şi corectoare de erori
Codul Hamming

La recepţionarea cuvintelor de cod v' se calculează corectorul:

⎡ c1' ⎤
⎡e m ⎤ ⎢ '⎥
⎢. ⎥ ⎢c2 ⎥
z=Hv ,T
⇒ ⎢ ⎥ = [h1 ...... h n ] ⎢ . ⎥
⎢ e2 ⎥ ⎢ ⎥
⎢ ⎥ ⎢.⎥
⎣ e1 ⎦ ⎢a ' ⎥
⎣ n⎦

50
Coduri detectoare şi corectoare de erori
Codul Hamming

⎧ e1 = c1' ⊕ a 3' ⊕.....⊕ a 'n



⎨ .................
⎪e ' ⊕ a'
⎩ m = c m m +1 ⊕ ...+ a '
n

Numărul binar (em.....e2,e1) se decodifică şi se obţine poziţia


erorii.

51
Coduri detectoare şi corectoare de erori
Codul Hamming

• Vom particulariza pentru k = 4 - numărul simbolurilor de informaţie


• Din relaţia:
2m ≥ m + k + 1 ⇒ 2m ≥ 5 + m ⇒ m ≥ 3
• Considerând m=3 :
n = m + k ⇒ n= 7
• Vom avea:
v=[c1c2a3c4a5a6a7] - vectorul cuvânt de cod
H3,7=[h1h2.....h7] - matricea de control

52
Coduri detectoare şi corectoare de erori
Codul Hamming

Aplicând relaţia:

HvT=0
pentru determinarea celor m simboluri de control, vom avea:
⎡ c1 ⎤
⎢ ⎥
⎢c 2 ⎥
⎡0 0 0 1 1 1 1⎤ ⎢ a 3⎥
⎢ ⎥⎢ ⎥
⎢0 1 1 0 0 1 1⎥ ⎢c 4⎥ = 0
⎢⎣1 0 1 0 1 0 1⎥⎦ ⎢a 5⎥
⎢ ⎥
⎢a 6 ⎥
⎢a ⎥
⎣ 7⎦
53
Coduri detectoare şi corectoare de erori
Codul Hamming

Efectuând calculele:

⎧c4 ⊕ a5 ⊕ a 6 ⊕ a 7 = 0 ⎧c4 = a5 ⊕ a 6 ⊕ a 7
⎪ ⎪
⎨c2 ⊕ a3 ⊕ a 6 ⊕ a 7 = 0 ⇒ ⎨c2 = a3 ⊕ a 6 ⊕ a 7
⎪c ⊕ a ⊕ a ⊕ a = 0 ⎪c = a ⊕ a ⊕ a
⎩ 1 3 5 7 ⎩ 1 3 5 7

54
Coduri detectoare şi corectoare de erori
Codul Hamming

La recepţie, determinarea corectorului se obţine prin relaţia:

⎡ c1' ⎤
⎢ ⎥
⎢c '2 ⎥
⎢ ⎥
⎡e 4 ⎤ ⎡0 0 0 1 1 1 1⎤ ⎢ a '3 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ' ⎥
⎢e 2 ⎥ = ⎢0 1 1 0 0 1 1⎥ ⎢c 4 ⎥
⎢⎣ e1⎥⎦ ⎢⎣1 0 1 0 1 0 1⎥⎦ ⎢ ' ⎥
⎢a 5 ⎥
⎢ ' ⎥
⎢a 6 ⎥
⎢ ' ⎥
⎢⎣a 7 ⎥⎦
55
Coduri detectoare şi corectoare de erori
Codul Hamming

Efectuând calculele vom avea:

⎧e4 = c '4 ⊕ a '5 ⊕ a '6 ⊕ a '7



⎨e2 = c '2 ⊕ a '3 ⊕ a '6 ⊕ a '7
⎪ e = c' ⊕ a ' ⊕ a ' ⊕ a '
⎩ 1 1 3 5 7

Combinaţia binară (e4,e2,e1) decodificată indică poziţia eronată.

56
Coduri detectoare şi corectoare de erori
Coduri liniare cu control încrucişat

Se va emite blocul de informaţie codificată:


Paritate laterală sau transversală:
Simboluri Control
informaţionale linie ⎧ n
⎪⎪⊕ a ik − paritatea pară
a11 a12 ....a1n l1 li = ⎨
k =1
n
⎪ a ik ⊕ 1 − paritatea impară
⎪⎩⊕
............ … (i =1, m )

k =1
am1 am2 ....amn lm
Control c1 c2....... cn Paritate longitudinală:
lm+1
coloană ⎧m
⎪⎪⊕ a kj − paritatea pară
k =1
cj = ⎨m
⎪ a kj ⊕ 1 − paritatea impară
⎪⎩⊕
(j=1, n )

k =1
57
Coduri detectoare şi corectoare de erori
Coduri liniare cu control încrucişat

Informaţia recepţionată este:


Paritate laterală calculată la recepţie:
Simboluri Control
informaţionale linie
n
a'11 a'12 …..a'1n l'1 licalc = ⊕ a 'ik [ ⊕ 1] , i = 1, m
............ … k =1

l'm
a'm1 a'm2 …..a'mn Paritate longitudinală calculată la
Control c'1 c'2....... c'n l'm+1 recepţie:
coloană m
c jcalc = ⊕ a 'kj [⊕1] , j = 1, n
k =1

58
Coduri detectoare şi corectoare de erori
Coduri liniare cu control încrucişat

Prin compararea parităţilor recepţionate cu cele calculate, se poate


afirma că blocul de informaţie a fost transmis:

• fără erori, dacă l'i = l icalc pentru ∀i = 1÷m şi c'j = cjcalc


pentru ∀j = 1÷n ;

• cu erori, dacă ∃ i∈{1, 2,…, m} astfel încât l'i ≠ licalc sau


∃ j∈{1, 2,…, n} astfel încât c'j ≠ cjcalc

59
Coduri detectoare şi corectoare de erori
Coduri polinomiale ciclice

Codurile polinomiale ciclice - simbolurile care formează o secvenţă


de cod sunt considerate ca fiind coeficienţii unui polinom:

M(x) = anxn +an-1xn-1 +……+a0


unde ai ∈{0, 1} , i = 0÷n

60
Coduri detectoare şi corectoare de erori
Coduri polinomiale ciclice

Algoritmul de codificare prin împărţire este:


• Fie mesajul M: (an,an-1,.....,a0) - n+1 cifre binare informaţionale.
Se asociază un polinomul:
M(x) = anxn +an-1xn-1 +……+a0 ( ai ∈{0, 1}, i = 0÷n )
• Se alege polinomul G(x) de grad r, acesta fiind polinomul de
genarare a codului:
G(x) = brxr + br-1xr-1 +…..+ b0 (bj ∈{0, 1}, j = 0÷r )

61
Coduri detectoare şi corectoare de erori
Coduri polinomiale ciclice

• Se înmulţeşte M(x) cu xr:


M'(x)=M(x)⋅xr
• Se împarte M'(x) la G(x):

M ′(x) R(x)
= C(x) ⊕
G(x) G(x)
• Se adună R(x) cu M'(x):
T(x) = M'(x) ⊕ R(x)
• Coeficienţii polinomului T(x) constituie mesajul emis:
T: (anan-1....a0cr-1.....c0)

unde ai ∈{0, 1}, i = 0÷n ; cj ∈{0, 1}, j = 0÷r-1 62


Coduri detectoare şi corectoare de erori
Coduri polinomiale ciclice

Polinomul ataşat mesajului transmis este un multiplu al polinomului


de generare:
T(x) M ′(x) ⊕ R(x) M ′(x) R(x)
= = ⊕
G(x) G(x) G(x) G(x)

Cum
M ′(x) R(x) se va obţine:
= C(x) ⊕
G(x) G(x)

T(x) R(x) R(x)


= C(x) ⊕ ⊕ = C(x) Criteriul pentru
G(x) G(x) G(x) detectarea erorilor
144244 3
=0
63
Coduri detectoare şi corectoare de erori
Coduri polinomiale ciclice

• Mesajului recepţionat se asociază polinomul T'(x):


T'(x)=T(x) ⊕ E(x)
unde E(x) este polinomul erorilor;
• Se verifică dacă T'(x) este divizibil prin G(x) (criteriul de
detectare a erorilor):

T ′ (x) T(x) ⊕ E(x) T(x) E(x) E(x)


= = ⊕ = C(x) ⊕
G(x) G(X) G(x) G(x) G(x)

• E(x) este multiplu al lui G(x) - mesajul recepţionat este validat


• E(x) nu este multiplu al lui G(x) - mesaj cu eroare 64
Bibliografie

1. Năstase Fl., Zota R., TimofteC., Constantinescu R., Bazele


tehnologiei informaţiei, Ed. InfoMega, Bucureşti, 2007

65

S-ar putea să vă placă și