Practica 5
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD CULHUACÁN
INGENIERÍA EN COMPUTACIÓN
PRACTICA CINCO
CODIFICACIÓN DE AUDIO POR ALGORITMO DE SHANNONINTEGRANTES
ALVA VICENTE IVAN
DE ANDA ARGÜELLES O. ADRIAN
REVELO MEDINA E. JOSIMAR
TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN
PROFESOR: DRA. CRUZ RAMOS CLARA
Grupo: 7CX01
FECHA: 08 DE OCTUBRE DE 2014OBJETIVO
Elaborar un programa que lea un archivo de audio y obtenga su información. A partir de la información
agrupar las secuencias de bit iguales y sacar su probabilidad para posteriormente aplicar elalgoritmo de
Shannon y sacar el código para poder codificar la cadena del archivo de audio y comparar el tamaño de
este sin codificar y ya codificado.
DESARROLLO
Carga de canción y recodificación abinario:
clear all;
clc;
close all;
[y,Fs]=audioread('Escape.mp3');
izquierdo=y(:,1);
derecho=y(:,2);
m = float2bin(derecho);
n = float2bin(izquierdo);
out = fopen('entradader.txt','wt');
fprintf(out,'%s', m);
fclose(out);
out2 = fopen('entradaizq.txt','wt');
fprintf(out2, '%s', m);
fclose(out2);
Aplicación del Algoritmo:
clear all;
clc;
close all;
[y,Fs]=audioread('Escape.mp3');
derecho=y(:,1);izquierdo=y(:,2);
vecto=[derecho;izquierdo];
vecto=sort(vecto,'descend');
vecto1=unique(vecto,'stable');
vecto_1=sort(vecto_1,'descend');
conta=zeros(length(vector_1),1);
j=1;
a=0;
for i=1 :length(vecto_1)
cont=0;
while (vecto_1(i)== vecto(j))
cont=cont+1;
j=j+1;
if(j==(length(vecto)+1))
j=1;
end
end
conta(i)=cont;
a=a+conta(i);
end
prob=zeros(length(vecto_1),1);
for j=1 : length(vecto_1)prob(j,1)=conta(j)/a;
end
prob=sort(prob,'descend');
m=length(prob);
z=[];
h=0;l=0;
for i=1:m
p(i)=prob(i);
end
a(1)=0;
for j=2:m;
a(j)=a(j-1)+p(j-1);
end
for i=1:m
n(i)= ceil(-1*(log2(p(i))));
endcodigo=zeros(m,length(n));
sale = fopen('out.txt','wt');
for i=1:m
int=a(i);
for j=1:n(i)
frac=int*2;
c=floor(frac);
frac=frac-c;
sal=[sal c];
int=frac;
end
fprintf(fi, '%d', sal);
fprintf(fi,' ');
sal=[];...
Regístrate para leer el documento completo.