Está en la página 1de 11

UNIVERSIDAD POLITÉCNICA SALESIANA

CARRERA DE TELECOMUNICA – Sede Cuenca

CODIFICACION SHANNON - FANO

Almeida Daniel; Mendez Javier


Materia: Comunicaciones Digitales Grupo: 1

Resumen Abstract

En este documento se intenta mostrar una This document attempts to show a


técnica la cual ayuda a la construcción de technique which helps in the construction of
código prefijo el cual se basa en conjunto de prefix code which is based on the set of
símbolos y sus probabilidades. En este tipo symbols and their errors. In this type of
de codificación los símbolos se ordenan del coding, the symbols are sorted from most to
mas al menos probable, donde el algoritmo least likely, where the algorithm produces
produce codificaciones de longitud variable efficient variable length encodings, when
eficientes, cuando dos subconjuntos tiene two subsets have the same probability. This
una misma probabilidad. Este tipo de type of encoding is used in the Implode
codificación se usa en el método de compression method that is part of the Zip
compresión Implode que forma parte de los format files. Shannon-Fano coding dos not
archivos de formato Zip. La codificación always produce optimal codes, so Shannon-
Shannon- Fano no produce siempre códigos Fano is one of the coding methods that is
óptimos por lo que Shannon-Fano es uno de barely used.
los métodos de codificación que apenas se
usa.

Palabras Clave: implode, entropía, Keywords: implode, entropy, symbols,


símbolos, codificación coding.

I. INTRODUCCIÓN
En el siguiente ensayo se presenta la codificación Shannon-Fano en el cual se
encuentra como hacer uso de este método de codificación, también podemos encontrar el
funcionamiento de este método, el cómo funciona cada una de sus etapas, cuáles son las
propiedades de la codificación Shannon-Fano, también se encuentra explicado de manera
detallada como realizar un árbol Shannon-Fano que es el algoritmo que se realiza para poder
obtener la codificación, para poder entender de mejor manera este método de codificación
presentamos un ejemplo en el cual procedemos a codificar una secuencia de un mensaje, en el
cual se realiza paso a paso el procedimiento que se necesita realizar para poder codificar.
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

METODO DE SHANNON - FANO


El método de codificación fue desarrollado por Claude Shannon en los laboratorios Bell
y por Robert Fano en MIT en la década del 40 casi simultáneamente, en donde la técnica fue
propuesta por Claude Elwood Shannon en 1948 y desarrollado por Roberto Mario Fano al año
siguiente. Su utilidad principal es la compresión de datos. Se basa en la probabilidad de
aparición de cada símbolo en el mensaje, para ello crea un conjunto de símbolos contenidos en
el mensaje que se utilizan como prefijo, esto garantiza que todas las longitudes de palabras
del código están a un bit de su ideal teórico.

I.1. Funcionamiento
La codificación Shannon-Fano consiste en seguir un algoritmo que se encarga de
asignar un código binario a cada carácter, en función de las probabilidades de aparición de
este. Es una técnica de codificación de entropía con su probabilidad de aparición de cada
símbolo en un mensaje. En esta codificación los códigos asignados a los símbolos son de
longitud variable.

Las propiedades tablas de código de la codificación Shannon-Fano son:

 Diferentes códigos, tienen diferentes tipos de bits.


 Los códigos para símbolos con bajas probabilidades tienen más bits.
 Los códigos para símbolos con altas probabilidades tienen menos bits.
 Códigos de longitud diferente puede ser unívocamente decodificados.

I.2. Redundancia
La información redundante presente en un mensaje, significa que hay un número de símbolos o
caracteres mayor del mínimo necesario.

I.3. Entropía
La entropía se refiere a la cantidad de bits necesarios para representar un símbolo

En un símbolo = - log2(probabilidad) ecuación (1)


En un mensaje = suma de la entropía de sus símbolos. ecuación (1)

I.4. Algoritmo Shannon – Fano


Un árbol Shannon–Fano se construye de acuerdo a una especificación diseñada para
definir una tabla de códigos efectiva, representado en la Figura 1. El algoritmo para obtener
un código de Shannon–Fano es el siguiente:

1. Ordenar los símbolos de la fuente por orden de probabilidad decreciente.


2. Dibujar una línea que divida los símbolos en dos grupos, de forma que las
probabilidades queden lo mejor repartidas posibles.
3. Asignar un cero a cada símbolo que esté por encima de la línea y un uno a los
que estén por debajo.
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

4. Dividir cada grupo resultante en dos subgrupos y asignar ceros y unos de


acuerdo al paso 3. Cuando un grupo contenga un único símbolo, y no es posible
efectuar más divisiones y el código para dicho símbolo ya está completo.
5. Cuando todos los símbolos se han reducido a un único símbolo, todos los códigos
están completos y se obtienen leyendo los bits de izquierda a derecha.

Figura 1. Árbol binario

𝑚𝑖𝑛 ∑ 𝑋𝑖,𝑗 . 𝑑𝑖,𝑗 (1)


𝑖,𝑗∈𝑆
Sujeto a:
∑ Xi,j = 𝑁 − 1 (2)
𝑖,𝑗∈𝑆

II. REALIZACION DEL EJERCICIO


Secuencia de símbolos inicial:

“La universidad Politécnica Salesiana les desea una feliz navidad y un próspero año
nuevo a todos”

1. Calculamos la frecuencia de los símbolos que aparen en el mensaje.


«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

2. Ordenamos los símbolos según la frecuencia en orden decreciente de mayor a


menor y obtenemos la probabilidad de cada uno. La celda en rojo es un espacio.
P(símbolo)=Frecuencia de símbolo/total.

3. Dibujar una línea que divida los símbolos en dos grupos, de forma que las
probabilidades queden lo mejor repartidas posible.
4. Asignar un cero a cada símbolo que esté por encima de la línea y un uno a los que
estén por debajo.
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

5. Dividir cada grupo resultante en dos subgrupos y asignar ceros y unos de acuerdo
al paso 3. Cuando un grupo contenga un único símbolo, y no es posible efectuar más
divisiones y el código para dicho símbolo ya está completo.

6. Cada una de las mitades, se subdivide en grupos y se agregan bits a los códigos
hasta que cada grupo conste de un único símbolo.

7. Sacamos el código de Shannon – Fano


«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

Cálculo de la entropía ecuación 1


Entropía en el mensaje ecuación 2
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

8. Calculamos la entropía de la ecuación (3) y la longitud media del código en bits por
símbolo de la ecuación (4) :
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

N=4.573 bit/símbolo

9. Calculo de los bits de código a transmitir:

bits a Transmitir= #bits de códigos * frecSímbolo

En total se transmiten 439 bits. Si codificamos con 8 bits se transmiten 96*8=768 bits
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

10. Longitud media del código en bits por símbolo:


«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

11. Calculamos la eficiencia de la ecuación (6) y redundancia de la ecuación (7) :

II.1. Sobre el uso de algoritmos

III. ANÁLISIS DE RESULTADOS


Use la sección de análisis de resultados en el caso de que el trabajo de que la tarea no
es únicamente de carácter teórico.

IV.CONCLUSIONES
En la codificación Fano del ejemplo usado, se obtuvo una redundancia, indicando que
la codificación Fano se puede mejorar, para obtener una redundancia de 0 en la que usamos
la menor cantidad de bits por símbolo, que es lo que buscamos para la mejor compresión de
información
«Trabajo desarrollado para la asignatura de Comunicaciones Digitales,
2019»

REFERENCIAS
[1] https://esimioscu.blogspot.com/2015/10/codificacion-shannon-fano.html
[2] sistemas-de-comunicaciones-1era-edicioacuten-2001-marcos-fauacutendez-zanuypdf.pdf
[3] paginas 266 269
[4] https://es.wikipedia.org/wiki/Entrop%C3%ADa_(informaci%C3%B3n)
[5] https://studylib.es/doc/85938/codificaci%C3%B3n-shannon-fano
[6] https://www.youtube.com/watch?v=g2UlDNamG84
[7] https://www.slideshare.net/andysarangoveliz/compresion-de-datos-telecomunicaciones-
iii?fbclid=IwAR3B932R3Xc-rdSgrWTP7lrg9i9O7hCWvsZhNRLOAhcl3aXZ5opvqP3whlI

También podría gustarte