You are on page 1of 44

Universidad Nacional de Ingeniera Comunicaciones II

Conferencia 3: Codificacin Fuente. Generalidades y Algoritmos populares.


UNIDAD II: FORMATEO DE SEALES Y CODIFICACIN FUENTE
Instructor: Israel M. Zamora, P.E., MS Telecommunications Management
Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones. Universidad Nacional de Ingeniera

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Contenido

Modelo sistema comunicacin banda base Codificacin fuente Fuente Textual Objetivo de la codificacin fuente Diferentes Cdigos en uso hoy en da Casos especiales:
El cdigo Huffman Cdigo Lempel Ziv
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 2

Codificacin fuente
Consiste en codificar (asignar) cdigos binarios a informacin cuyo origen es textual/caracteres o analgico. La informacin digital binaria por naturaleza es generada en formato binario por lo que no requiere de este proceso, sino mas bien de entramado.

La informacin analgica requiere de un proceso de conversin Analgico-a-Digital (A/D) antes que pueda ser codificada. Este tema se desarrollar cuando tratemos en detalle la modulacin PCM, DM, etc. Esta conferencia se enfoca en el caso de informacin de tipo textual (smbolos alfanumricos) en la cual abordamos el esquema de codificacin de Huffman.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Sistema de comunicacin banda base


Secuencia binaria
Informacin Digital Binaria

...10110110001...

Pulsos digitales de voltaje/corriente

Informacin Textual o Caracteres

Muestreador Informacin Analgica

Cuantificador

Codificador Binario

Codificador de lnea

Transmisor

Codificacin Fuente
Formas de Onda de pulsos Informacin Analgica Medio de transmisin

Filtro pasabajos

Decodificador Binario

Detector de lnea

Receptor

Informacin Textual o Caracteres

Informacin Digital Binaria

La Codificacin de Lnea la estudiaremos en conferencias posteriores. Uni II - Conf3: Cod. fte y Fmteo 4

COM II- I. Zamora

Codificacin fuentes de texto/caracteres


En la transmisin de datos, los mismos son previamente arreglados (formateados) de acuerdo a a varios cdigos que se han desarrollado a travs de los aos. Es a menudo aconsejable seleccionar cdigos ya disponibles para propsito de desarrollo y solucin de fallas.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Codificacin fuentes de texto/caracteres


Corresponde a los mensajes o smbolos alfanumricos que generamos por medios electrnicos Algunos ejemplos: Cdigo Binario Natural Cdigo Binario Gray Cdigo Morse Cdigo BAUDOT Cdigo EBCDIC Cdigo ASCII Cdigo de Barras Cdigo Huffman Cdigo Lempel-Ziv Etc.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 6

Cdigo binario natural


Son los cdigos definidos por 1s y 0s que normalmente representan smbolos que son parte de un alfabeto de comunicacin. El alfabeto puede ser alfanumrico, o de otra ndole (ej: nivel de voltaje de un cuatizador) que sea finito. Consiste en asignar de forma creciente (natural) cdigos binarios a cada smbolo.

Nivel/Smbolo A B C D

Cdigo Natural 00 01 10 11

Se guarda la relacin:

b = log2 L
b: nmero de bits del cdigo L: Nmero de smbolos

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Cdigo Gray
Una desventaja de los cdigos binarios naturales es que varios bits pueden cambiar de estado simultneamente entre cuentas adyacentes. Ej: cuando en un sistema BCD (binario natural) se cambia la cuenta de 7 (0111) a 8 (1000), todos los bits permutan
El cdigo GRAY es nico en que las cuentas sucesivas resultan en solamente un cambio en un solo bit, reduciendo errores de bits y errores de permutacin en los bits.

Se basa en el uso de la funcin OR Exclusiva o EXOR.

FUNCIN EXOR: Complemento 2

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Cdigo Gray
CONVERSIN BINARIO-GRAY
el primer bit, iniciando con el MSB de un cdigo binario dado, se vuelve el de la posicin ms a la izquierda del cdigo Gray Aplique funcin EXOR al primer y segundo bit del cdigo binario dado, para generar el segundo bit del cdigo Gray. El tercer bit del cdigo Gray se encuentra al aplicar EXOR al segundo y tercer bits de un cdigo binario dado. El proceso contina hasta que los ltimos 2 bits del cdigo binario han sido sujetos de la operacin EXOR para producir el ltimo bit del cdigo Gray equivalente.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

Cdigo Gray
CONVERSIN GRAY-BINARIO
El primer bit, iniciando con el bit ubicado mas a la izquierda del cdigo Gray dado, se convierte en el MSB cdigo binario. Se aplica EXOR al segundo bit del cdigo Gray con el MSB del cdigo binario para producir el segundo bit binario. Se aplica EXOR al tercer bit del cdigo Gray con el segundo bit del cdigo binario para producir el tercer bit binario. Se aplica EXOR al cuarto bit del cdigo Gray con el tercer bit del cdigo binario para producir el cuarto bit binario, y as mismo sigue el proceso.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

10

Cdigo Morse
Uno de los mas antiguos cdigos de transmisin Desarrollado y patentado en 1840 por Samuel F.B. Morse. Fue el primer cdigo usado por el sistema de telgrafo. Usualmente usado en radioaficionados. Formados por puntos y guiones. Un guin dura tres veces lo que un punto.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

11

Cdigo Morse

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

12

Cdigo BAUDOT

Desarrollado en 1874 por el ingeniero francs Emile Baudot. Es usado en el campo de la telegrafa y RTTY (Radio teletipo). La versin estandarizada de UIT se usa mundialmente en las redes internacionales de Tlex, las que se interconectan a travs de las redes telefnicas pblicas (PSTN).

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

13

Cdigo BAUDOT

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

14

Cdigo BAUDOT

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

15

Cdigo EBCDIC
Dearrollado por IBM en 1962, como un cdigo extendido de 8 bits. EBCDIC significa: Extended Binary-Coded Decimal Interchange Code. Se usa intensamente en computadoras de gran escala (Mainframes) y equipos perifricos. Es una mejora sobre el antiguo cdigo BAUDOT.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

16

Cdigo EBCDIC

IBM Mainframe

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

17

Cdigo EBCDIC

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

18

Cdigo EBCDIC

Tarjeta perforada

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

19

Cdigo EBCDIC
Foto de tarjeta impresa EBCDIC

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

20

Cdigo ASCII
La American Standard Code for Information Interchange (ASCII) es el cdigo de mayor uso a nivel mundial para la transmisin y procesamiento de datos.
ASCII fue desarrollado en 1962 especficamente para sistemas de comunicacin por computadoras. ASCII es un cdigo de 7 bits que puede representarse como dos caracteres hexadecimales para simplicidad. Generalmente se provee de un octavo bit que sirve de paridad, haciendo que el cdigo sea igual a un byte (8 bits).

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

21

Cdigo ASCII

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

22

Cdigo de Barras

Surgieron a principio de los aos 70. Es una serie de barras negras y blancas, consistentemente dimensionadas que son anchas y angostas. Las barras blancas que separan las negras, son denominadas espacios Se componen de modo que contengan un cdigo cifrado que es identificado por una computadora digital en forma de 1s y 0s. Suelen usarse en aplicaciones comerciales, en productos que se venden al pblico.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

23

Cdigo de Barras
Esta tecnologa ha avanzado hasta convertirse en una industria multimillonaria que automatizado la tarea de verificacin en los puestos de venta. Algunas de las aplicaciones mas comunes son:
Gestin y control de inventario Seguridad de Acceso (Autenticacin) Envo y recepcin Conteo de productos Procesamiento de documentos y rdenes (servicio, venta, etc.) Chequeo y facturacin en la renta de vehculos Gestin del avance del trabajo Cdigos postales (ZIP codes) Programacin funcional Introduccin de datos Facturacin automtica Rastreo y seguimiento de garantas y servicios

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

24

Cdigo de Barras

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

25

Cdigo de Barras

Posible seal de la bestia?

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

26

Objetivo de la Codificacin Fuente


Teorema de la codificacin fuente:
Uno de los tres teoremas fundamentales introducidos por Shannon en 1948. Establece un lmite fundamental en la tasa a la cual la salida de una fuente de informacin puede ser comprimida sin causar probabilidades de error grandes.

El principal objetivo es construir un conjunto de cdigos que representen a cada smbolo del alfabeto fuente y cuya longitud media sea la menor posible. En principio, los smbolos ms frecuentes en la transmisin se le asigna los cdigos de menor longitud (no. de bits), y a los smbolos menos frecuente se le asigna los cdigos de mayor longitud. Algunos de algoritmos utilizados en la codificacin fuente son el cdigo Huffman y el Lempel-Ziv.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 27

Cdigo Huffman
En 1951, a David Huffman y sus compaeros de clase de la asignatura Teora de la Informacin se les permiti optar entre la realizacin de un examen final o la presentacin de un trabajo. El profesor Robert. M Fano asign las condiciones del trabajo bajo la premisa de encontrar el cdigo binario ms eficiente. Huffman, ante la imposibilidad de demostrar qu cdigo era ms eficiente, se rindi y empez a estudiar para el examen final. Mientras estaba en este proceso vino a su mente la idea de usar rboles binarios de frecuencia ordenada y rpidamente prob que ste era el mtodo ms eficiente.
Con este estudio, Huffman super a su profesor, quien haba trabajado con el inventor de la teora de la informacin Claude Shannon con el fin de desarrollar un cdigo similar. Huffman solucion la mayor parte de los errores en el algoritmo de codificacin Shannon-Fano. La solucin se basaba en el proceso de construir el rbol desde el fondo hasta la raz en vez de al contrario.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 28

Cdigo Huffman

Se basa en el principio indicado en la diapositiva anterior


Mtodo:
1. Ordenar las probabilidades de los smbolos en orden decreciente 2. Fusionar los dos smbolos de menor probabilidades 3. Si el nmero de elementos = 2, entonces: A. Asignar 0 y 1 a los cdigos y pasar a 4. B. Si no es as, volver a 1. 4. Si algn elemento es resultado de la fusin de dos elementos: A. Agregar al cdigo un 0 y un 1 y pasar a A. B. Si no es as entonces parar.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

29

Cdigo Huffman

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

30

Ejemplo

A

Disee un cdigo de Huffman para el alfabeto {A, B, C, D, E} con probabilidades de ser transmitidos de {1/2,1/4,1/8,1/16,1/16} respectivamente. Solucin:
1/2
Cdigo Especular Cdigo Real

A:
1.0

0 01

0 10 110 1110 1111

1/4

0
1/2

B:

C: 011 C
1/8

0
1/4

D: 0111

1
1

E: 1111

0
D
1/16 1/8

1/16

1 1
Uni II - Conf3: Cod. fte y Fmteo 31

COM II- I. Zamora

Ejercicio en casa 1

Disee el cdigo binario para el alfabeto {a1, a2, a3} con probabilidades {1/3, 1/3, 1/3}. Cul es su comentario a este caso?

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

32

Ejercicio en casa 2

Disee el cdigo binario para el alfabeto {A, B, C, D, E, F, G, H, I} con probabilidades {2/9, 1/9, 1/9, 1/9, 2/9, 1/27, 1/27,1/27, 1/9}.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

33

Longitud media del cdigo


Para un cdigo correspondiente al alfabeto de K smbolos AX=(x0, x1,...,xK-1) con probabilidad de ocurrencia PX=[p0, p1, ... , pK-1] y longitud de palabra por smbolo LX=[(l0, l1, ... , lK-1], se define la longitud media del cdigo como:

LX pk l k
k 0
Como una medida de la variabilidad de las longitudes de palabra de un cdigo fuente, definimos la Varianza de la longitud promedio de palabra de cdigo L sobre el conjunto de smbolos fuente como: 2

K-1

pk lk L
2 X k 0

K-1

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

34

Ejercicio en casa 3

Calcule la longitud media para los ejercicios en casa 1 y 2

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

35

Desventaja del Cdigo Huffman


Requiere de un conocimiento previo de las estadsticas de los smbolos transmitidos. No considera ni aprovecha la memoria de los eventos encontrados. La necesidad de conservar el cdigo para que pueda ser utilizado por el decodifcador en el momento de la decompresin. El importante nmero de comparaciones de bits necesarios para decodicar la sucesin recibida Un error en algn bit se propaga produciendo errores importantes en la decodifcacin. Los resultados pueden variara segn el idioma.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 36

Cdigo Lempel-Ziv
Es muy popular. Lo podemos encontrar usado en UNIX por la orden compress y la utilidad de MSDOS arc. Fue ideado por Jacob Ziv y Abraham Lempel, y publicado en el IEEE Transactions on Information Theory, vol. IT-23, No 3 de Mayo de 1977. El factor de compresin medio es 2 en un fichero largo: reduccin del 50% (til tanto para almacenar como para transmitir informacin) La idea bsica es no repetir trozos de texto, sino indicar la localizacin de inicio de la primera instancia de ese texto y la longitud. Por ejemplo, si este tema comenzara con Es muy popular se sustituira el principio de esta pgina con {1,14}
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 37

Cdigo Lempel-Ziv
Para sustituir un texto dado se busca en todo el texto precedente la cadena ms larga que coincide con la que vamos a sustituir. Por ejemplo, si Es muy popular. Lo podemos est antes en el texto (en la posicin 200) se sustituye por {200,26}.

El ancla y el indicador ocupan menos que el texto en s mismo.


La eficiencia aumenta con la longitud del texto, pues existen cadenas ms largas repetidas.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

38

Ejemplo 1: Cdigo Lempel-Ziv


Ejemplo: Comprimir usando LZ el texto the other one is the oldest

Resultado the o{1,3}r{4,2}n{3,2}is{4,1}{1,5}ld{3,1}{16,1}{1,1} Las implementaciones reales difieren un poco para hacerlo fcil de codificar al coste de que comprima un poco menos.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 39

Algorimo de codificacin Lempel-Ziv


1. Inicializar un diccionario que contenga todos los bloques de longitud unitaria. Busque el mas grande bloque W que haya aparecido en el diccionario. Codifique W por su ndice de entrada en el diccionario. Agregue al diccionario el cdigo de W seguido del primer smbolo del prximo bloque Regrese al paso 2.

2.
3. 4. 5.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

40

Ejemplo 2: Cdigo Lempel-Ziv

http://www.data-compression.com/lempelziv.html COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 41

Ejemplo: Cdigo Lempel-Ziv


En lugar de buscar en todo el texto la secuencia ms larga que encaja se mantiene un diccionario con las cadenas ya encontradas Se busca en el diccionario la cadena ms larga que encaja y se aaden a l las cadenas ms largas cuando se encuentran.

BONIFICACIN 2: INVESTIGUE HAGA UN RESUMEN DE LOS ALGORITMO DE COFICACIN: HUFFMAN ADAPTATIVO LEMPEL-ZIV-WELSH SE ENTREGA EN UNA SEMANA.

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

42

Simuladores de Cdigos

Visite el sitio Web indicado abajo y descargue los simuladores (freewares)

http://www.cs.sjsu.edu/faculty/khuri/animation.html

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

43

METODO DE EVALUACIN

COM II- I. Zamora

Uni II - Conf3: Cod. fte y Fmteo

44

You might also like