Está en la página 1de 4

Codificacin de una fuente:

Cdigos de longitud constante:


log n DL n L log D Donde: D es el nmero de smbolos de la fuente. L es la longitud de las palabras-cdigo de la fuente. n nmero de mensajes a transmitir. m log n Para codificar una m-pla de mensajes, la longitud a elegir ser: L log D Cdigos de longitud variable:

Longitud media: Consideremos el conjunto S = {a1 , a 2 ,.., a n } y Pk = prob{a k sea transmitid o}, k = 1,2...n
L=

p L
k k =1

Donde: Lk es la longitud del mensaje a k Cdigo instantneo: Un cdigo se denomina instantneo si ninguna palabra-cdigo es el inicio (prefijo) del otra palabra-codigo de longitud mayor. Nota: Un cdigo instantneo es un cdigo de decodificacin nica, aunque el recproco no siempre es cierto

Desigualdad de Kraft: (existencia de cdigos de longitud variable)

D
k =1

LK

Construccin de cdigos instantneos: EJEMPLO: Si S = {a1 , a 2 , a3 ,..., a 6 } son los mensajes que cierta fuente tiene que transmitir: Es posible construir un cdigo binario de longitudes variables: 2,2,3,4,4,5 ? Efectivamente, ya que:

2
k =1

Lk

25 < 1 , y la desigualdad de Kraft asegura la existencia. 32

Tomamos L=5 y siguiendo el algoritmo de construccin de cdigos instantneos.


0 1

tenemos: a1=00 a2=01 a3=100 a4=1010 a5=1011 a6=11000

0 a1

1 a2 0 a3 0 a4

1 a5

0 a6

www.eresvago.net

Teorema 2.5 Para todo cdigo instantneo (de decodificacin nica), asociado al conjunto S = {a1 , a 2 ,..., a n } de mensajes producidos por una fuente, la longitud media del cdigo cumple que:
L H (S ) , la igualdad se consige pi = D Li log D

La capacidad del cdigo es log D Eficacia de un cdigo: Es el cociente entre la longitud media mnima que puede conseguir un cdigo, utilizado para codificar los mensajes de una fuente S , y la longitud media L correspondiente a este cdigo.
eficacia = H (S ) L log( D)

Redundancia: Est definida como el complemento a uno de la eficacia.


redundancia = 1

Teorema 2.9: Siempre podremos construir un cdigo instantneo, de decodificacin nica, de tal forma que su longitud media verifique:
H (S ) H (S ) L +1 log D log D

Primer Teorema de Shannon: Sea S = {a1 , a2 ,..., an } el conjunto de los mensajes a codificar mediante un alfabeto de D smbolos. Siempre es posible encontrar un cdigo instantneo, de decodificacin nica, para la fuente S m , tal que su longitud media L m cumpla:
H (S ) L m H (S ) 1 + log D log D m m

Algoritmos de construccin de cdigos instantneos: 1. Mtodo de Shannon: binarios, posiblemente no ptimos. 2. Mtodo de Huffman: D-rios y ptimos. 3. Mtodo de Shannon-Fanno: D-rios y segn como se aplique puede ser ptimo. Mtodo de Shannon para construccin de cdigos instantneos EJEMPLO: Supongamos que queremos codificar, mediante un cdigo instantneo binario, la fuente S = {a1 , a2 , a3 , a4 , a5 , a6 } con una distribucin de prob p1 = 0.3, p2 = 0.25, p3 = 0.2, p4 = p5 = 0.1, p6 = 0.05 Utilizando el algoritmo de Shannon, resulta: Obtener Lk : 2 Li
1 2 Li 1 pi

1 = 0 2 = 1 + p (a1 ) ..... Obtener k : i+1 = i + p (ai ) ..... n = 1 p (an )

www.eresvago.net

Obtener el cdigo: Pasar a binario k (decimales) y coger las Lk primeras cifras.

S a1 a2 a3 a4 a5 a6

pk 0.30 0.25 0.20 0.10 0.10 0.05

Lk 2 2 3 4 4 5

k
0.00 0.30 0.55 0.75 0.85 0.95

cdigo 00 01 100 1100 1101 11110

pk Lk 0.60 0.50 0.60 0.40 0.40 0.25 L = 2.75

pk log pk 0.521 0.500 0.464 0.332 0.332 0.216 H ( S ) = 2.365

Eficacia =

H (S ) = 0.86 L

Cdigo instantneo ptimo: Un cdigo instantneo es ptimo, para un conjunto de mensajes dado, si no existe otro cdigo instantneo con una longitud media menor.

Mtodo de Huffman para construccin de cdigos instantneos EJEMPLO: (Caso binario). Construir un cdigo ptimo para la fuente S = {a1 , a2 , a3 , a4 , a5 , a6 } , con una distribucin de probabilidades tal como se indica a continuacin p1 = 0.3, p2 = 0.25, p3 = 0.2, p4 = p5 = 0.1, p6 = 0.05 Sinopsis del algoritmo: ordenar las probabilidades en orden decreciente (de mayor a menor). atribuir como ltimos simbolos: an1 = 0, an = 1 . fusionar a' = an.1 y an . asignar la probabilidad de p(a ' ) = p (an1 ) + p (an ) . volver a paso 1) hasta cubrir todas las ai para obtener los cdigos recorrer desde la raiz hacia el simbolo ai .

a1 0.3 0

a2 0.25 1
0.55

a3 0.2

a4 0.1

a5 0.1 0

a6 0.05 1
0.15

1 1 0 1 0
0.45

0
0.25

www.eresvago.net

As tenemos: mensajes
a1 a2 a3 a4 a5 a6

cdigo 00 01 11 101 1000 1001

pi 0.3

pi Li 0.6

pi log pi 0.521

0.25 0.2 0.1 0.1 0.05

0.5 0.4 0.3 0.4 0.2


L = 2.4

0.500 0.464 0.332 0.332 0.216


H ( S ) = 2.365 bits

Eficacia =

H (S ) 2.365 2.365 = = = 0.985 2.4log 2 2.4 Llog D

EJEMPLO: (caso general). Construir un cdigo ptimo con el alfabeto {0,1,2} para la fuente S = {a1 , a2 , a3 , a4 , a5 , a6 } , con una distribucin de probabilidades p1 = 0.3, p2 = 0.25, p3 = 0.2, p4 = p5 = 0.1, p6 = 0.05 La diferencia respecto al caso binario reside en: Atribuir los r + 2 primeros smbolos del alfabeto {0,1,..., D 1} , como ltimos smbolos de los r + 2 ltimos mensajes a codificar. n2 Donde r es el resto de la divisin: D 1

n = 6, D = 3 r = 0 a1 0.3 a2 0.25 a3 0.2 a4 0.1 a5 0.1 0 a6 0.05 1


0.15

0 1 As tenemos: mensajes
a1 a2 a3 a4 a5 a6

2 0

1
0.45

cdigo 1 2 00 02 010 011

pi 0.3

pi Li 0.3

pi log pi 0.521

0.25 0.2 0.1 0.1 0.05

0.25 0.4 0.2 0.3 0.15


L = 1.6

0.500 0.464 0.332 0.332 0.216


H ( S ) = 2.365 bits

Eficacia =

H (S ) 2.365 = = 0.931 Llog D 1.6log 3

www.eresvago.net