1. Instituto Politécnico Nacional
Introducción a los Sistemas de Comunicación Seguros
Unidad MISTI Culhuacan
Presentado a: Dr. Gualberto Aguilar Torres
Tarea
Comprensión
10
Por: Yango Alexander Colmenares
Fecha
Octubre de 2013
%% INSTITUTO POLITECNICO NACIONAL-MISTI CULHUACAN --- MÉXICO DF 2013
%%Desarrollado por:Yango Colmenares
%Presentado a : Dr. Gualberto Aguilar Torres
%Programación en Matlab
%Codigo Compresión
clc;
clear all;
format long;
%%%%TABLA DE PROBABILIDAD CON CINCO LETRAS
% alf = 'abcde';
% prob = [0.4 0.3 0.15 0.1 0.05];
%%%%MANEJO ALFABETICO CON PROBABILIDAD PARA CADA UNO
alf = 'abcdefghijklmnñopqrstuvwxyz';
prob = [0.1253, 0.0142, 0.0468, 0.0586, 0.1368, 0.0069, 0.0101, 0.0070,
0.0625, 0.0044, 0.0001, 0.0497, 0.0315, 0.0671, 0.0031, 0.0868, 0.0251,
0.0088, 0.0687, 0.0798, 0.0463, 0.0393, 0.0090, 0.0002, 0.0022, 0.0090,
0.0052];
prob = prob(:)';
%%%%MANEJO ALFABETICO CON CUATRO LETRAS
% alf = 'abcd';
% prob = [0.4 0.3 0.15 0.1];
prob = [0 prob];
probCum = cumsum(prob);
tmp = probCum;
%%%%MENSAJE ENVIADO A COMPRIMIR
M = 'hola';
Mlen = length(M);
%ALGORITMO DE COMPRENSIÓN
for i=1:length(M)
k = strfind(alf, M(i));
intervalo = [probCum(k) probCum(k+1)];
if i ~= length(M)
probCum = compresion(intervalo, prob);
2. end
end
codComp = (intervalo(1)+intervalo(2))/2;
disp(codComp);
%ALGORITMO DE DESCOMPRENSIÓN
probCum = tmp;
out = '';
for i=1:Mlen
ind = find(probCum>codComp,1);
ind = ind - 1;
out = strcat(out,alf(ind));
intervalo = [probCum(ind) probCum(ind+1)];
if i ~= length(M)
probCum = compresion(intervalo, prob);
end
end
disp(out);