Está en la página 1de 13

Procesamiento

Digital de Señales
LABORATORIO N°4 : CONVOLUCIÓN

Pastor Gómez Manuel Martin 15190123


Julca Sanchez Edward Benito Martin 14190125
FIEE-UNMSM | 2019-II
I. OBJETIVOS
a) Analizar y comprobar las diversas propiedades y utilidad de la
convolución.

II. EQUIPOS Y MATERIALES


 Computador con Matlab

III. MARCO TEORICO

Convolución

Intuitivamente podemos mirar a la convolución de dos funciones y como la


función resultante que aparece despues de efectuar los siguientes pasos: a) girar
respecto del origen los valores de una de ellas, es decir = para todo z
desde a , b) ir trasladando la función girada sobre la otra , y c)
en cada punto x calculamos el valor que resulta de sumar los productos obtenidos de
multiplicar para todos los z los correspondiente valores de las funciones y
. En esencia estamos calculando para cada valor de x una especie de valor
ponderado de una de las funciones con los valores de la otra . En el caso de
que el área encerrada por la curva de fuese igual 1 entonces estaríamos
calculando para x una media ponderada. Matematicamente la expresión para esta
operación es

De la expresión anterior puede verse como para un valor fijo de x los origines de las
funciones f y g estan desplazados justamente en ese valor x. Los valores de f para z
crecientes van siendo multiplicados por valores de g para decrecientes. En el
caso discreto que veremos más adelante esta visión intuitiva de la convolución
quedará aún más clara. La figura
ilustra el efecto de esta operación. La gran importancia de esta operación rádica en el
hecho de que la TF de un producto de convolución de dos funciones es igual al
producto de las TFs de dichas funciones, es decir

Este resultado denominado Teorema de Convolución implica que podemos calcular


un producto de convolución de dos funciones multiplicando sus correspondientes TF y
al resultado aplicarle la TF inversa. En el caso de señales discretas las distintas
longitudes que pudieran tener las sucesiones de puntos de cada una de las funciones
son posibles causas de errores en el cálculo final de la convolución, es por ello que
ambas funciones han de definirse en una misma cantidad de puntos por cada eje.

Para lograr esto consideremos que la función ha sido muestreada sobre un


conjunto de puntos de longitud A y la función lo ha sido sobre un conjunto de
longitud B, entonces ambas funciones se rellenarán con ceros hasta que cada una de
ellas quede definida en M = A + B - 1 valores. La fórmula de rellenar con ceros los
valores que faltan no es la única manera que existe de fijar dichos valores aunque si es
la más comúnmente usada. Una vez que las dos funciones tienen el mismo rango de
definición la convolución se puede calcular por

para . Puede demostrarse que al igual que las funciones y


la función resultante de la convolución discreta es también una función periódica
discreta de periodo M. La figura

muestra una comparación entre los resultados del caso discreto y el caso continuo.
Las expresiones que aparecen en el caso bidimensional (imágenes) son las siguientes:

Caso continuo:

Caso discreto:

Para e .

Al igual que en el caso unidimensional el cálculo de la convolución de funciones


bidimensionales puede ser efectuado a través de los productos de sus correspondientes
transformadas de Fourier aplicándole al resultado la TF inversa.

IV. PROCEDIMIENTO
1. Se tienen dos salas. La primera con reverberación y la segunda
con reverberación y eco. Si se conoce la respuesta al impulso para
ambos casos, hallar como sonaría cierto mensaje pronunciado en
cada sala.

Código usado:

disp('Cargando Mensaje...');
[Mensaje, fs1]=audioread('Mensaje.wav');
disp('Cargando respuesta al impulso de la sala con reverberacion');
[rpta_impulso_reverb,fs2]=audioread('Rpta_Imp_Sala_Reverb.wav');
disp('Cargando respuesta al impulso de la sala con reverberacion y
eco');
[rpta_impulso_reverb_eco,fs3]=audioread('Rpta_Imp_Sala_Reverb_Eco.wav'
);
Ts1=inv(fs1);
Ts2=inv(fs2);
Ts3=inv(fs3);
t_mensaje=0:Ts1:Ts1*(length(Mensaje)-1);
t_rpta_mensaje_reverb=0:Ts2:Ts2*(length(rpta_impulso_reverb)-1);
t_rpta_mensaje_reverb_eco=0:Ts3:Ts3*(length(rpta_impulso_reverb_eco)-
1);
disp('Respuesta de sala con reverb al mensaje...');
rpta_msj_sala_reverb=conv(Mensaje,t_rpta_mensaje_reverb);
disp('Respuesta de sala con reverb y eco al mensaje...');
rpta_msj_sala_reverb_eco=conv(Mensaje,t_rpta_mensaje_reverb_eco);
figure(1);
%subplot(5,1,1);
%plot(t_rpta_mensaje_reverb,rpta_impulso_reverb);
%title('Respuest al impulso de la sala con reverberacion');
%subplot(5,1,2);
%plot(t_rpta_mensaje_reverb_eco,rpta_impulso_reverb_eco);
%title('Respuest al impulso de la sala con reverberacion y eco');
subplot(3,1,1);
plot(t_mensaje,Mensaje);
title('Mensaje');
subplot(3,1,2);
plot(rpta_msj_sala_reverb);
title('Respuesta al mensaje de sala con reverb');
subplot(3,1,3);
plot(rpta_msj_sala_reverb_eco);
title('Respuesta al mensaje de sala con reverb y eco');
disp('Mensaje, presionar tecla para oirlo');
pause;
sound(Mensaje,fs1);
disp('Respuesta al mensaje de sala con reverb, presionar tecla para
oirlo');
pause;
sound(rpta_msj_sala_reverb,fs1);
disp('Respuesta al mensaje de sala con reverb y eco, presionar tecla
para oirlo');
pause;
sound(rpta_msj_sala_reverb_eco,fs1);
La gráfica obtenida es:

V. PROBLEMAS PROPUESTOS
01. Se tiene información de la respuesta al impulso de
tres ambientes.

✓ The Great Hall, a multipurpose hall that can hold


approximately 800 seats.

✓ The Octagon, a Victorian building completed in 1888 and


originally designed to be a library. It is currently used
as a conference venue
✓ A Classroom in the School of Electronic Engineering and
Computer Science, University of London

Los archivos de sonido, e información adicional, los puede


descargar a partir del siguiente enlace:

http://isophonics.net/content/room-impulse-response-data-
set

a) Analice la información y archivos de la página.


Seleccione dos de los tres ambientes.

b) Realice dos grabaciones de su voz, con mensajes cortos,


de unos pocos segundos, en un ambiente lo más libre
posible de eco, reverberación y ruido.

c) Determine cómo se escucharían esos dos mensajes


grabados en los dos ambientes seleccionados. Grafique y
reproduzca todas las señales de interés.

d) Cuál de los dos ambientes presenta mayor reverberación


o ecos. Sustente.
Great Hall
1° grabación

disp('Cargando audio...');
[Pds, fs1]=audioread('pds.wav');
disp('Cargando respuesta al impulso del gran salon');
[rpta_impulso_salon,fs2]=audioread('x00y07.wav');
Ts1=inv(fs1);
Ts2=inv(fs2);
t_pds=0:Ts1:Ts1*(length(Pds)-1);
t_rpta_mensaje_salon=0:Ts2:Ts2*(length(rpta_impulso_salon)-1);
t_conv=0:Ts2:Ts2*(max([length(Pds)+length(rpta_impulso_salon)-
1,length(Pds),length(rpta_impulso_salon)])-1);
disp('Respuesta de gran salon al mensaje...');
rpta_msj_sala_salon=conv(Pds,rpta_impulso_salon);
figure(1);
subplot(3,1,1);
plot(t_pds,Pds);
title('Audio de Prueba');
xlim([0,5]);
subplot(3,1,2);
plot(t_rpta_mensaje_salon,rpta_impulso_salon);
title('Muestra de Gran salon')
xlim([0,5]);
subplot(3,1,3);
plot(t_conv,rpta_msj_sala_salon);
title('Respuesta al audio en gran salon');
xlim([0,5]);
disp('Mensaje, presionar tecla para oirlo');
pause;
sound(Pds,fs1);
disp('Respuesta al mensaje de sala con reverb, presionar tecla para
oirlo');
pause;
sound(rpta_msj_sala_salon,fs1);
2° grabación
disp('Cargando audio...');
[Pds, fs1]=audioread('pds.wav');
disp('Cargando respuesta al impulso del gran salon');
[rpta_impulso_salon,fs2]=audioread('x12y12.wav');
Ts1=inv(fs1);
Ts2=inv(fs2);
t_pds=0:Ts1:Ts1*(length(Pds)-1);
t_rpta_mensaje_salon=0:Ts2:Ts2*(length(rpta_impulso_salon)-1);
t_conv=0:Ts2:Ts2*(max([length(Pds)+length(rpta_impulso_salon)-
1,length(Pds),length(rpta_impulso_salon)])-1);
disp('Respuesta de gran salon al mensaje...');
rpta_msj_sala_salon=conv(Pds,rpta_impulso_salon);
figure(1);
subplot(3,1,1);
plot(t_pds,Pds);
title('Audio de Prueba');
subplot(3,1,2);
plot(t_rpta_mensaje_salon,rpta_impulso_salon);
title('Muestra de Gran salon')
subplot(3,1,3);
plot(t_conv,rpta_msj_sala_salon);
title('Respuesta al audio en gran salon');
disp('Mensaje, presionar tecla para oirlo');
pause;
sound(Pds,fs1);
disp('Respuesta al mensaje de sala con reverb, presionar tecla para
oirlo');
pause;
sound(rpta_msj_sala_salon,fs1);
Octagon
disp('Cargando Mensaje...');
[Lab_Pds, fs1]=audioread('lab_pds.wav');
disp('Cargando respuesta al impulso salon octogono');
[rpta_impulso_oct,fs2]=audioread('x02y06.wav');
Ts1=inv(fs1);
Ts2=inv(fs2);
t_pds=0:Ts1:Ts1*(length(Lab_Pds)-1);
t_rpta_mensaje_oct=0:Ts2:Ts2*(length(rpta_impulso_oct)-1);
t_conv=0:Ts2:Ts2*(max([length(Lab_Pds)+length(rpta_impulso_oct)-
1,length(Lab_Pds),length(rpta_impulso_oct)])-1);
disp('Respuesta de salon octagono al mensaje...');
rpta_msj_sala_oct=conv(Lab_Pds,rpta_impulso_oct);
figure(1);
subplot(3,1,1);
plot(t_pds,Lab_Pds);
title('Mensaje');
subplot(3,1,2);
plot(t_rpta_mensaje_oct,rpta_impulso_oct);
title('Muestra de Salon Octogonal')
subplot(3,1,3);
plot(t_conv,rpta_msj_sala_oct);
title('Respuesta al mensaje de sala con reverb');
disp('Mensaje, presionar tecla para oirlo');
pause;
sound(Lab_Pds,fs1);
disp('Respuesta al mensaje de sala octogono con reverb, presionar
tecla para oirlo');
pause;
sound(rpta_msj_sala_oct,fs1);
2° grabación
disp('Cargando Mensaje...');
[Lab_Pds, fs1]=audioread('lab_pds.wav');
disp('Cargando respuesta al impulso salon octogono');
[rpta_impulso_oct,fs2]=audioread('x12y12.wav');
Ts1=inv(fs1);
Ts2=inv(fs2);
t_pds=0:Ts1:Ts1*(length(Lab_Pds)-1);
t_rpta_mensaje_oct=0:Ts2:Ts2*(length(rpta_impulso_oct)-1);
t_conv=0:Ts2:Ts2*(max([length(Lab_Pds)+length(rpta_impulso_oct)-
1,length(Lab_Pds),length(rpta_impulso_oct)])-1);
disp('Respuesta de salon octagono al mensaje...');
rpta_msj_sala_oct=conv(Lab_Pds,rpta_impulso_oct);
figure(1);
subplot(3,1,1);
plot(t_pds,Lab_Pds);
title('Mensaje');
subplot(3,1,2);
plot(t_rpta_mensaje_oct,rpta_impulso_oct);
title('Muestra de Salon Octogonal')
subplot(3,1,3);
plot(t_conv,rpta_msj_sala_oct);
title('Respuesta al mensaje de sala con reverb');
disp('Mensaje, presionar tecla para oirlo');
pause;
sound(Lab_Pds,fs1);
disp('Respuesta al mensaje de sala octogono con reverb, presionar
tecla para oirlo');
pause;
sound(rpta_msj_sala_oct,fs1);
Después de comparar las gráficas y los audios, se puede determinar que los
sonidos emitidos en Great Hall causan una reverberación mayor a la
producida en Octogon.

VI. CONCLUSIONES
 Se analizó y comprobó las diversas propiedades de la convolución.
 Se vio la utilidad de la convolución, en la aplicación de reverberación
y eco.

También podría gustarte