Codificador de Fuente

14
ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRÓNICA ESCUELA DE INGENIERÍA ELECTRÓNICA EN TELECOMUNICACIONES Y REDES COMUNICACIONES II PROYECTO FINAL CODIFICADOR DE FUENTE 1. DATOS GENERALES: NOMBRES CÓDIGOS Alex Yunga 346 Carla Raza 485 Erika Zúñiga 443 José Recalde 340 GRUPO No.: 3 FECHA DE ENTREGA: 23/12/2014 PROFESOR: Ing. Neiser Ortiz

description

definición, introducción, aplicación con trevis, proceso con microcode

Transcript of Codificador de Fuente

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZOFACULTAD DE INFORMTICA Y ELECTRNICA ESCUELA DE INGENIERA ELECTRNICA EN TELECOMUNICACIONES Y REDES

COMUNICACIONES II

PROYECTO FINAL

CODIFICADOR DE FUENTE

1. DATOS GENERALES:

NOMBRESCDIGOSAlex Yunga346Carla Raza485Erika Ziga 443Jos Recalde340GRUPO No.: 3

FECHA DE ENTREGA:23/12/2014

PROFESOR:Ing. Neiser Ortiz

CURSO:Sexto A

2. OBJETIVO(S):2.1. GENERAL Implementar la codificacin de fuente mediante la codificacin de Huffman que nos permita visualizar el cdigo perteneciente de cada smbolo (S0, S1, S2, S3 y S4) a travs de sus probabilidades.2.2. ESPECFICOS Realizar la codificacin de fuente a travs del cdigo de Huffman. Simular e Implementar el codificador de fuente.

3. INTRODUCCIONEste proyecto se realiz mediante la codificacin de la fuente que consiste en codificar o asignar cdigos binarios a cierto tipo de informacin cuyo origen es de forma textual, carcter o analgico. Una de las formas ms habituales de realizar la codificacin de fuente es mediante la codificacin de Huffman que utiliza las probabilidades de cada smbolo alfanumrico y cada smbolo es nico, por lo cual tambin lo es su codificacin, esto se da a que la palabra con mayor probabilidad tendr un menor nmero de bits y la de menor probabilidad tendr un mayor nmero de bits, lo que da como resultado una transmisin eficiente.Para el desarrollo de este proyecto se utiliz un microcontrolador (PIC 16F628A), un potencimetro, un LCD de 2X16, un oscilador de 4 MHz, pulsadores, resistencias y algunos software (MicroCode, Proteus y PICkit 2) los cuales sern utilizados para su respectiva programacin, simulacin y grabacin de la codificacin de la fuente.

4. MATERIALES Y SOFTWARE:Materiales 5 resistencias de 220 5 pulsadores Microcontrolador PIC16F628A Oscilador 4 MHz LCD de 2x16 Potencimetro de 5K Quemador de PICs

Software

Proteus MicroCode PICkit 2

5. MARCO TERICO:

CODIFICACIN DE FUENTELacodificacin de fuentetambin denominado cdigo, es elprocedimientoque permite convertir uncarcterde unlenguaje natural en un smbolo de otro sistema de representacin, como un nmero o una secuencia de pulsos elctricos en un sistema electrnico, en donde se aplican normas o reglas de codificacin.Una fuente de informacin es un objeto, que produce a su salida un evento; dicha salida es seleccionada aleatoriamente de acuerdo a una probabilidad. El reemplazo de los eventos ocurridos es una representacin binaria a la cual se conoce como cdigo de fuente. En cualquier operacin de codificacin se reemplaza el evento con una secuencia cdigo. El propsito del cdigo de fuente es reducir el nmero de bits requerido para llevar la informacin proporcionada por la fuente de informacin [4].La cantidad de informacin por smbolo generada por una fuente viene medida por su entropa y esta proporciona el nmero de bits por muestra necesarios para transmitir la informacin de la fuente sin prdidas. Cuando la tasa de transmisin es mucho mayor que la entropa de la fuente, entonces es posible que algunas de las propiedades de las modulaciones (por ejemplo su anchura espectral) no sean idnticas a los valores tericos, lo que puede dar lugar a interferencias con otros sistemas de comunicaciones. La codificacin de fuente se encarga de eliminar dicha correlacin de tal forma que los bits que aparecen a su salida estn incorrelados, y todas las cadenas de cualquier longitud son igualmente probables, obtenindose un espectro similar al terico y una cadena de bits a transmitir lo ms corta posible; y una de las formas ms habituales de realizar la codificacin de fuente es hacerla mediante la codificacin de Huffman [2].Codificacin de HuffmanEl algoritmo de codificacin/compresin Huffman se propuso en 1952 como una forma sencilla y ptima de mapear cada smbolo de un alfabeto con un cdigo (codeword) de longitud ptima [1].Caractersticas del algoritmo de codificacin de Huffman [5].Se trata de un algoritmo que puede ser usado para compresin o encriptacin de datos.Este algoritmo se basa en asignar cdigos de distinta longitud de bits a cada uno de los caracteres. La comprensin es mayor cuando la variedad de caracteres diferentes que aparecen es menor.Para recuperar el fichero original es necesario conocer el cdigo asignado a cada carcter.La codificacin de Huffman se basa en que a cada smbolo o cadena de bits de idntica longitud se le asigna otra cadena de bits de longitud variable. Cuanto mayor sea la probabilidad de aparicin de un smbolo (o cadena de bits) menor ser la longitud de la cadena asignada, de tal forma que la longitud media de las cadenas resultantes sea menor que la de las cadenas de bits originales [2]. El resultado de la codificacin de Huffman proporciona el cdigo de longitud media ms pequea de todos los mtodos de codificacin estadsticos. La sistemtica de la codificacin de Huffman de mayor a menor probabilidad consiste en los siguientes pasos [3]:1. Ordenar los smbolos de la fuente de mayor a menor probabilidad.2. Combinar los dos smbolos de menor probabilidad, para obtener un nuevo smbolo de probabilidad igual a la suma de probabilidades de los smbolos agrupados.3. Combinar smbolos o pares de smbolos de menor probabilidad hasta llegar hasta un nico smbolo.4. A partir de la raz del rbol construido, se asigna un cero (0) a cada rama superior y un uno (1) a cada rama inferior en cada uno de los nodos del rbol.Ejemplo

Figura 1. Codificacin de HuffmanEntropaLa entropa denota el mnimo nmero de bits por smbolo necesarios para representar una cadena. Es un ndice que denota la cantidad de informacin que existe en una fuente de datos (la cadena a codificar). Tambin representa los lmites de la codificacin basada en la entropa, en la que se codifican los datos sin necesidad de conocer la naturaleza de los mismos, Huffman es un ejemplo de codificacin basada en la entropa y viene definida como [1]:

donde Pk es la probabilidad de cada uno de los smbolosEficienciaLa eficiencia de es aquella que mide lo cercana que se encuentra su longitud media del lmite terico dado por la entropa. La longitud media se define como la longitud en promedio de una palabra del mismo, y est definida mediante la siguiente frmula [2]:

donde lk es el nmero de bits usados para codificar el smbolo i-simo.

6. PROCEDIMIENTO

1. Se realiz la codificacin de Huffman mediante el uso de las probabilidades ; donde se encontr un cdigo de salida nico para cada simbolo al ordenar cada una de las probabilidades de mayor a menor. VER ANEXO A2. Utilizando las probabilidades de cada simbolo se calcul la eficiencia del sistema.VER ANEXO B3. Para el microcontrolador se hizo un programa en MicroCode Studio.VER ANEXO C4. Para poder ver los resultados de la programacion hecha en MicroCode, se realiz su respectiva implementacion en Proteus; en donde se puede vizualizar en un LCD la codificacion de Huffman.VER ANEXO D5. Antes de la implementacion fisica con el quemador de PICs y PICkit 2 se procedi a grabar el archivo.HEX en el microcontrolador PIC 16F628A.VER ANEXO E6. Por ultimo se realiz la implementacin fisica del codificador de fuente y se verific su respectivo funcionamiento.VER ANEXO F

7. CONCLUSIONES La codificacin de fuente se basa en la codificacin de Huffman que utiliza las probabilidades de cada smbolo para transformar en cdigos binarios un determinado tipo de informacin (pulsos de tecla).

La codificacin de fuente es muy empleada en muchos sistemas de comunicacin tal es el caso de las computadoras que utilizan un lenguaje de ceros y unos.

Los cdigos de cada smbolo son diferentes y dependen de las probabilidades que tengan cada uno; cuando dos smbolos tienen la misma probabilidad, el cdigo de los dos va variar dependiendo del orden que se los ubique.

El smbolo con mayor probabilidad tiene un menor nmero de bits y a la de menor probabilidad mayor nmero de bits.

8. RECOMENDACIONES Se debe realizar correctamente la codificacin de Huffman ya que una simple equivocacin puede cambiar el cdigo de todos los smbolos y esto puede producir una transmisin errnea.

Tener en cuenta que en la codificacin de Huffman se debe ordenar las probabilidades de manera descendentemente para obtener el cdigo de cada smbolo ya que estos deben ser nicos y diferentes.

9. BIBLIOGRAFA

[1] Introduccin a la compresin: Huffman y Entropa.http://www.grc.upv.es/docencia/tdm/practicas/P1.pdf[2] Codificacin de fuente y canal.http://www.tsc.uc3m.es/~hmolina/wpcontent/uploads/2010/02/lsyc_ittst_p7.pdf[3] Fandez Zanu, Marcos (Primera Edicion) 2001 pag. 269. Sistemas de Comunicaciones. Espaa, Editores Marcombo[4] Codificacinhttp://www.virtual.unal.edu.co/cursos/sedes/manizales/4040051/html/capitulos/cap_iii/comunicacion_confiable.pdf[5] Anlisis de algoritmos.http://docencia.izt.uam.mx/pece/pagina_academica/AA/Docum/Huffman.pdf

ANEXOSANEXO A

Figura 2. Codificacin de Huffman

ANEXO B

Figura 3. Datos de la codificacin de Huffman

Figura 4. Informacin de cada una de las probabilidades

Figura 5. Entropa

Figura 6. Longitud media

Figura 7. Eficiencia del sistema

ANEXO C

Figura 8. Programacin en MicroCode Studio (Parte 1)

Figura 9. Programacin en MicroCode Studio (Parte 2)

Figura 10. Programacin en MicroCode Studio (Parte 3)

ANEXO D

Figura 11. Simulacin realizada en Proteus

Figura 12. Comprobacin de resultados en Proteus

ANEXO E

Figura 13. Quemador de PICs

Figura 14. Grabacin del archivo.HEX con PICkit 2 en el microcontrolador

ANEXO F

Figura 15. Implementacin fsica del codificador de fuente

Figura 16. Funcionamiento del codificador de fuente

Figura 17. Comprobacin del codificador de fuente pulsando el smbolo So