Sunteți pe pagina 1din 11

1

§9. Algoritmul de codare Shannon-Fano


9.1. Esenţa codării surselor discrete
- STI discret fără codarea sursei:

Sursă Canal Utilizator

- STI discret cu codarea sursei:

Sursă Codor Canal Decodor Utilizator


2
La codarea surselor discrete se pot utiliza 2 tipuri de coduri:

• Coduri uniforme – codul ASCII


• Coduri neuniforme (compacte) – codurile Shannon-Fano şi Huffman

Codul ASCII (American Standard Code for Information Interchange)

Codul ASCII conţine opt simboluri binare, ceea ce permite codarea a


256 de simboluri discrete
Exemplu:

Simbol Cod zecimal Cod binar

= 61 00111101

A 65 01000001

B 66 01000010

Z 90 01011010

a 97 01100001

DELETE 127 01111111

A (rus) 128 10000000

Б 129 10000001
3
9.2. Parametrii codului compact
- Lungimea codului ni

- Lungimea medie a cuvintelor de cod:


M
n   pi ni (9.1)
i 1
- Lungimea medie minimă a cuvintelor de cod:
H (S )
nmin  (9.2)
log 2 N
dacă N=2 atunci
nmin  H ( S ) (9.3)
- Eficienţa codului:

nmin H (S )
  (9.4)
n n logN
- Redundanţa codului:
  1  (9.5)
4
9.3. Codarea Shannon-Fano

1. Simbolurile se aranjează în ordine descrescătoare a probabilităţilor


p( S1 )  p( S 2 )  p( S3 )  ... p( S n ) (9.6)
Exemplu:
Fie sursa: S = [S1; S2; S3; S4; S5; S6]
P = [0,1; 0,3; 0,15; 0,2; 0,05; 0,2]

Simbolurile Probabilitatea,
sursei, Si p(Si)
S2 0,3
S4 0,2
S6 0,2
S3 0,15
S1 0,1
S5 0,05
5
2. Simbolurile se împart în două grupuri de probabilitate egală
sau cât mai apropiate

Exemplu:

P(S2+S4)= 0,5
P(S6+S3+S1+S5)= 0,5

Simbolurile Probabilitatea,
sursei, Si p(Si)
S2 0,3
S4 0,2
S6 0,2
S3 0,15
S1 0,1
S5 0,05
6
3. Se atribuie 0 fiecărui simbol din grupul superior şi 1 fiecărui
simbol din grupul inferior.

Exemplu:

Simbolurile Probabilitatea, Etapele atribuirii


sursei, Si p(Si) I

S2 0,3 0
S4 0,2 0
S6 0,2 1
S3 0,15 1
S1 0,1 1
S5 0,05 1
7
4. Grupurile obţinute se împart la rândul lor în câte două subgrupe
având probabilităţile totale cât mai apropiate între ele.

Exemplu:

P(S6+S3) - P(S1+S5) = 0,35 - 0,15 = 0,2


P(S6) - P(S3+S1+S5) = 0,2 - 0,3 = - 0,1

Simbolurile Probabilitatea, Etapele atribuirii


sursei, Si p(Si) I

S2 0,3 0
S4 0,2 0
S6 0,2 1
S3 0,15 1
S1 0,1 1
S5 0,05 1
8
5. Fiecărui simbol al subgrupe superioare i se atribuie 0 şi fiecăruia din
subgrupa inferioară - 1.

Exemplu:

Simbolurile Probabilitatea, Etapele atribuirii


sursei, Si p(Si) I II

S2 0,3 0 0
S4 0,2 0 1
S6 0,2 1 0
S3 0,15 1 1
S1 0,1 1 1
S5 0,05 1 1
9
6. Procesul de divizare şi atribuire continuă până când rămâne
câte un singur simbol în fiecare subgrupă.

Exemplu:

Simbolurile Probabilitatea, p(Si) Etapele atribuirii


sursei, Si I II III

S2 0,3 0 0
S4 0,2 0 1
S6 0,2 1 0
S3 0,15 1 1 0
S1 0,1 1 1 1
S5 0,05 1 1 1
10
6. Procesul de divizare şi atribuire continuă până când rămâne
câte un singur simbol în fiecare subgrupă.

Exemplu:

Simbolurile Probabilitatea, p(Si) Etapele atribuirii


sursei, Si I II III IV

S2 0,3 0 0
S4 0,2 0 1
S6 0,2 1 0
S3 0,15 1 1 0
S1 0,1 1 1 1 0
S5 0,05 1 1 1 1
11
7. Se formează codul fiecărui simbol discret prin citirea din stânga spre
dreapta a simbolurilor 0 şi 1 atribuite la fiecare etapă

Exemplu:

Etapele atribuirii
Simbolurile Probabilitatea, Codul Lungimea
sursei, Si p(Si) I II III IV simbolului codului

S2 0,3 0 0 00 2
S4 0,2 0 1 01 2
S6 0,2 1 0 10 2
S3 0,15 1 1 0 110 3
S1 0,1 1 1 1 0 1110 4
S5 0,05 1 1 1 1 1111 4

S1S5S2S4→111011110001

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