Está en la página 1de 5

Universidad Técnica Particular de Loja

Ingeniería en Telecomunicaciones
Asignatura: Teoría de la información Fecha: 29/04/2022
Estudiante: Jean Lucas Bravo R.
Tema: Entropía de la Fuente
Prof.: Ing. Katty Rohoden
▪ Escribir un código en Matlab que calcule la entropía de una fuente de símbolos. Variar el
número de símbolos de la fuente, por lo menos 3 fuentes de símbolos diferentes.

Introducción
Sea una fuente de símbolos S, donde cada símbolo tiene una probabilidad P (memoria nula) de ocurrir
podemos hallar la cantidad media de información de cada símbolo de la fuente, conocida como
entropía.
La fuente de símbolos que se utilizara serán oraciones o palabras, donde mediante un código en Matlab,
obtendremos la entropía de dicha oración o palabra, refiriéndonos a la repetición de letras y de esa
manera extraer la probabilidad de que cada letra pueda ocurrir en dicho espacio de resultados posibles,
para ello se necesita del uso de funciones y comandos especiales en el software de Matlab que nos
permitirán obtener lo propuesto, por ejemplo al usar las funciones find o strfind en un ciclo FOR y
con la ayuda de unique podemos lograrlo.

▪ find: devuelve un vector que contiene los índices lineales de cada elemento distinto de cero
del arreglo X
▪ strfind: busca un carácter en el espacio del arreglo
▪ unique: devuelve los mismos datos de un arreglo A, pero sin repeticiones.

Formulas a simular:

𝒏
𝟏
𝑯(𝒔) = ∑ 𝑷(𝒔𝒊 ) ∗ 𝒍𝒐𝒈𝟐 ( ) → 𝑬𝒏𝒕𝒓𝒐𝒑í𝒂 𝒅𝒆 𝒍𝒂 𝒇𝒖𝒆𝒏𝒕𝒆
𝑷(𝒔𝒊 )
𝒊=𝟏

𝑯𝒎𝒂𝒙 (𝒔) = ∑ 𝒍𝒐𝒈𝟐 (𝒒) → 𝑬𝒏𝒕𝒐𝒑í𝒂 𝒎𝒂𝒙𝒊𝒎𝒂 𝒅𝒆 𝒍𝒂 𝒇𝒖𝒆𝒏𝒕𝒆


𝒊=𝟏

𝟏
𝑫𝒐𝒏𝒅𝒆 ∶ 𝒒 = → 𝒑𝒂𝒓𝒂 𝒔í𝒎𝒃𝒐𝒍𝒐𝒔 𝒆𝒒𝒖𝒊𝒑𝒓𝒐𝒃𝒂𝒃𝒍𝒆𝒔
𝑷(𝒔𝒊 )
Variables

• W = Lectura de datos por teclado (vector o matriz 1 x n columnas) (palabras)


• wl = Longitud del vector de la variable W (entero)
• wq = Vector W pero sin datos repetidos (vector o matriz 1 x n columnas) (enteros)
• suma = inicializa y presenta la sumatoria de la entropía de la fuente.
• suma1 = inicializa y presenta la sumatoria de la entropía máxima de la fuente.
• wc = contador a partir de 1 hasta la longitud del vector de la variable W.
• h = vector resultante de tamaño (1 x wl) que da como resultado las posiciones de wq donde se
repite en W (enteros).
• nr = Vector h pero sin datos repetidos (vector o matriz 1 x n columnas) (enteros)
• h1= Presenta un vector con las probabilidades de todos símbolos de fuente de longitud o
tamaño (1 x longitud (nr) ).
• h2= Presenta un vector con probabilidades iguales para todos los símbolos de fuente.\

Algoritmo
1. INICIO
2. Leer ‘W’
3. suma = 0, suma1 = 0
4. wlLongitud(‘W’)
5. wqUnico(‘W’,Ordenado)
6. PARA (wc = 1 hasta wl)
6.1 h(wc)Encontrar(wq igual a W(wc))
7. FIN
8. nrUnico(h)
9. PARA (nl = 1 hasta Longitud(nr))
9.1 h1(nl)  Longitud(Encontrar (h igual a nr(nl)))/wl
9.2 h2(nl) 1/Longitud(nr)
9.3 sumasuma + h1(nl)*Logaritmo2(1/h1(nl))
9.4 suma1suma1+ h2(nl)*Logaritmo2(1/h2(nl)
10. FIN
11. ESCRIBIR “Entropía de la fuente igual a :”, suma
12. ESCRIBIR “Entropía máxima de la fuente igual a:”,suma1
13. FIN
CODIGO en Matlab

Nota: El código elaborado en Matlab también toma en cuenta los espacios como símbolos de la
fuente y al ingresar la fuente de símbolos se lo debe hacer entre comillas (‘’).
RESULTADOS

1. Primera Fuente (Perro que ladra no muerde)

2. Segunda Fuente (‘1222333453566649800’)


3. Tercera Fuente (Teoría de la Información 123232324443321)

También podría gustarte