Vous êtes sur la page 1sur 5

LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES EXPERIENCIA 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA

EXPERIENCIA 4
CONVOLUCION Y CORRELACION

I. OBJETIVOS
a) Analizar y comprobar las diversas propiedades y utilidad de la convolución y de la correlación
y experimentar con diversas señales.

II. EQUIPOS Y MATERIALES


Computador con Matlab

III. MARCO TEORICO/INFORME PREVIO


Presentar los conceptos fundamentales del tema.

VI. PROCEDIMIENTO

REVERBERACION
a) Es la suma total de reflexiones del sonido que recibe y escucha un oyente en diferentes
momentos de tiempo.
b) Auditivamente se caracteriza por una “cola” o prolongación del sonido original
c) En realidad, son ecos, pero tan próximos que el oyente no los distingue por separado.
d) Para que los ecos no sean distinguibles del sonido original, el retardo debe ser menor a 0.1s.

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.
Analizar línea a línea y comprender el siguiente código.

disp('Cargando Mensaje (ADS.wav)...');


[mensaje, fs1] = wavread('ADS.wav'); fs1
length(mensaje)
disp('Cargando respuesta al impulso en sala con reverberación (golpe.wav)...');
[golpe, fs2] = wavread('golpe.wav'); fs2
length(golpe)
disp('Cargando rpta al impulso en sala con reverberación y eco (golpe_eco.wav)...');
[golpe_eco, fs3] = wavread('golpe_eco.wav'); fs3
length(golpe_eco)
ts1 = inv(fs1); ts2 = inv(fs2); ts3 = inv(fs3);

t_mensaje = 0:ts1:ts1*(length(mensaje)-1);
t_golpe = 0:ts2:ts2*(length(golpe)-1);
t_golpe_eco = 0:ts3:ts3*(length(golpe_eco)-1);

disp('Calculando convolución de voz en sala con reverberación...');


LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES EXPERIENCIA 4

y_golpe = conv(mensaje,golpe);
length(y_golpe)

disp('Calculando convolución de voz en sala con reverberación y eco...');


y_golpe_eco = conv(mensaje,golpe_eco);
length(y_golpe_eco)

figure(1);
subplot(311); plot(t_golpe,golpe);
title('Sonido de respuesta impulsional de estancia con reverberación');
subplot(312); plot(t_golpe_eco,golpe_eco);
title('Sonido de respuesta impulsional de estancia con reverberación y eco');
subplot(313); plot(t_mensaje,mensaje); title('Sonido de voz hablada');

disp('Preparese a escuchar los sonidos simulados de la sala...');


disp('Sonido rpta impulso de sala con reverberación. Pulsar tecla para oirlo...');
pause; sound(golpe,fs2);

disp('Sonido rpta impulso de sala con reverberación/eco. Pulsar tecla para oirlo...');
pause; sound(golpe_eco,fs3);

disp('Mensaje/voz original. Pulsar tecla para oírlo...');


pause; sound(mensaje,fs1);

disp('Voz en sala con reverberación. Pulsar tecla para oírlo...');


pause; sound(y_golpe,fs1);

2. Agregue código al programa anterior para visualizar las señales del mensaje escuchadas con
reverberación y con reverberación y eco.

3. Se tiene información, en una grabación WAV, de la respuesta al impulso de la Basílica de


Foligno, en Italia. Realice un script para simular como se escucharían otros sonidos en dicho
ambiente.

Pruebe con los siguientes sonidos:


WEBWER22.WAV Melodía
Mi_Voz.WAV Una grabación suya

FOLIP-12.WAV Respuesta al impulso de la basílica


LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES EXPERIENCIA 4

Grafique todas las ondas de interés:


- Respuesta al impulso de la Basílica
- Sonidos originales
- Sonidos reproducidos en la basílica

SEÑALES BASICAS
04. Genere las señales básicas.
%Escalón
n = 1:100;
u = [zeros(1,50), ones(1,50)];
figure (2)
stem(n, u)
title('Función Escalón');

%Rampa
n = 1:25 ;
ramp = n;
figure(3)
stem(n, ramp)
title('Función Rampa');

%Escalón desplazado en el tiempo (pulso rectangular)


n = 1:1:200;
u1 = [zeros(1,50),ones(1,150)];
u2 = [zeros(1,150),ones(1,50)];
un = u1 - u2;
figure(4)
stem(n, un)
title('Función Pulso Rectangular');

05. Modifique para iniciar las secuencias en n = 0.

06. Genere las señales básicas (segunda forma).


n = -50:1:50;
impulse = n == 0;
unitstep = n >= 0;
ramp = n.*unitstep;
quad = n.^2.*unitstep;
%stem(n,[impulse unitstep ramp quad])
subplot(411)
stem(n, impulse)
subplot(412)
stem(n,unitstep)
subplot(413)
stem(n,ramp)
subplot(414)
stem(n,quad)

06. Genere las señales básicas (tercera forma – ESCALON UNITARIO DESPLAZADO).
Grabe el siguiente script con el nombre stepseq.m.

function [x,n] = stepseq(n0,n1,n2)


% Generates x(n) = u(n-n0); n1 <= n,n0 <= n2
% [x,n] = stepseq(n0,n1,n2)
if ((n0 < n1) | (n0 > n2) | (n1 > n2))
error('arguments must satisfy n1 <= n0 <= n2')
end
n = [n1:n2];
%x = [zeros(1,(n0-n1)), ones(1,(n2-n0+1))];
x = [(n-n0) >= 0];
stem(n, x)
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES EXPERIENCIA 4

07. Se presentan dos scripts para convolucionar señales.


SCRIPT 1
a = [zeros(1, 200) 1 zeros(1, 200)]
b = [zeros(1, 175) ones(1, 51) zeros(1, 175)]
c = conv(a, b)
figure(2)
subplot(311)
stem(a)
subplot(312)
stem(b)
subplot(313)
stem(c)

SCRIPT 2
Ts = 0.01;
t = -2:Ts:2;
f = (t>-0.5) - (t>0.5);
g = [zeros(1, 200) 1 zeros(1, 200)]
cnv = conv(g,f);

subplot(3,1,1),plot(t,f), ylim([0 1.5]),title('f(t)'),grid on


subplot(3,1,2),plot(t,g,'r'), ylim([0 1.5]),title('g(t)'),grid on

t_conv = [-4:Ts:4];
subplot(3,1,3);
plot(t_conv, cnv,'g'), ylim([0 1.5]),title('conv(f(t),g(t))');
grid on

a) Indique las diferencias y parecidos entre ambas formas


b) Dados el dominio de las dos señales a convolucionar,
determine una expresión para el dominio resultante.
Verifique.
c) ¿Es conmutativa la convolución?
d) Convolucione:

e) La respuesta al impulso de un sistema discreto lineal e invariante en el tiempo


es h[n]. ¿Qué respuesta tendrá este sistema si se le aplica la señal x[n] definida a
continuación?

CORRELACION
08. Analizar el siguiente código y comente los resultados.
load sensorData

t1 = (0:length(s1)-1)/Fs;
t2 = (0:length(s2)-1)/Fs;

subplot(3,1,1)
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES EXPERIENCIA 4

plot(s1)
title('s_1')

subplot(3,1,2)
plot(s2)
title('s_2')
xlabel('Time (s)')

subplot(3,1,3)
[acor,lag] = xcorr(s2,s1);
plot(lag, acor)

09. Defina las señales:


Señal 1
Señal de duración “larga” (unos 10s o más) en la cual exista una sección o pulso con forma triangular de
duración breve (alrededor de 1s).

Señal 2
Señal de ruido (pruebe las instrucciones awgn y rand).

Señal 3
Señal pulso triangular

a) La señal 2 debe sumarse a la señal 1 y afectarla de tal forma que el pulso triangular sea
alterado u ocultado. Probar con distintas amplitudes de ruido.
b) Buscar el pulso triangular (señal 3) en la señal 1 contaminada con ruido.
c) ¿Cómo afecta el nivel de ruido al resultado de la correlación?