Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe Previo1tele3 2017-2 PDF
Informe Previo1tele3 2017-2 PDF
Teorema de Kraft
1
Laboratorio de Telecomunicaciones III FIEE-UNI 2017-2
.
2.- Encontrar el código binario de Huffman para Según Kraft, se debe cumplir lo siguiente:
los símbolos fuente ∑ 𝑞 −𝐿𝑘 ≤ 1
{𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 , 𝑎5 }
Con probabilidades: Entonces:
1/3, 1/5, 1/5, 2/15, 2/15 1 1 1 1 1 1 1 1 1
+ + + + + + + +
Deducir razonadamente que el código obtenido 21 22 22 23 23 23 23 24 24
también es óptimo para la distribución de 13
= ≥1
probabilidades: 8
1/5, 1/5, 1/5, 1/5, 1/5 Por lo tanto, no existe ninguna codificación
binaria instantánea con dichas longitudes
Solución: 4.- Se considera la fuente {𝑎1 , … , 𝑎5 } con
probabilidades 0.4, 0.3, 0.1, 0.1. Encontrar un
Procedemos a calcular el código de Huffman: código óptimo con alfabeto ternario.
Solución:
2
Laboratorio de Telecomunicaciones III FIEE-UNI 2017-2
.
Solución: 𝐿(𝐶) = ∑ 𝑝𝑘 𝐿𝑘
𝐿(𝐶) = 0.15 × 3 + 0.04 × 4 + 0.26 × 2 + 0.05
× 4 + 0.5 × 1
𝐿(𝐶) = 1.83
%% Experiencia Nª 1
Para calcular la entropía usamos la fórmula:
𝑛 𝑛
1
𝐻(𝑠) = ∑ 𝑝𝑘 log = − ∑ 𝑝𝑘 log 𝑝𝑘
𝑝𝑘 clc;
𝑘=1 𝑘=1
Reemplazando, tenemos: clear; close all;
𝐻(𝑠) = −0.15 × log(0.15) − 0.04 × log(0.04)
− 0.26 × log(0.26) − 0.05
× log(0.05) − 0.50 % Código Binario Huffman
× log(0.50)
𝐻(𝑠) = 0.5471
n=input('Ingresar número de símbolos: ')
b) Encontrar un código de Huffman.
for i=1:n
Solución: Symbols(i)=i;
word_s=huffmandict(Symbols,P);
3
Laboratorio de Telecomunicaciones III FIEE-UNI 2017-2
.
%% Experiencia Nª 1
n=3;
for k=1:n
for m=1:n
a=num2str(Symbols(k));
b=num2str(Symbols(m));
Symbol_e(k,m)=str2num(strcat(a,b));
end
end
4
Laboratorio de Telecomunicaciones III FIEE-UNI 2017-2
.
Sym_extent=Matrix_Vector(Symbol_e,n);
P_extent=Matrix_Vector(Pe,n);
word=huffmandict(Sym_extent,P_extent);
mesage=[11 12 21 31 13];
Si digitamos ahora el mensaje que se desea
codmesage=huffmanenco(mesage,word);
transmitir, esto es:
decomesage=huffmandeco(codmesage,word); mesage={11 12 21 31 33}
Obtenemos la codificación:
Función Matrix_Vector.- Esta función se encarga de
convertir una matriz cuadrada de 𝑛𝑥𝑛 a un vector Codmesage={010100010101111011}
fila de 1𝑥𝑛2 .
IV. REFERENCIAS
[1]http://www.cubawiki.com.ar/index.php?title=Apunte
_de_tipos_de_codigos_(Teor%C3%ADa_de_las_Co
municaciones)#C.C3.B3digo_instant.C3.A1neo
[2] Tema 2, “Códigos instantáneos, algoritmo de
Huffman”.
[3] Tema 3, “Teoría de la información”.
[4] Software Matlab.
Resultados: