El documento describe un experimento en Matlab para comparar las funciones de convolución y correlación entre diferentes señales de audio. Se grabaron dos muestras de audio idénticas y diferentes y se compararon los resultados de la convolución y correlación entre ellas. Con señales idénticas, la convolución y correlación mostraron picos altos, mientras que con señales diferentes la convolución no mostró un patrón claro y la correlación no mostró picos altos.
UTPL-ET: Convolución y correlación de señales de audio en Matlab
1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
ELECTRÓNICA Y TELECOMUNICACIONES
SEÑALES
Nombre: Cristian Aguirre
Paralelo: B
En Matlab, comprobar las funciones de convolución con señales de audio reales.
Con dos muestras de audio diferentes observar el resultado de la convolución y correlación.
Con dos muestras de audio idénticas observar el resultado de la convolución y correlación.
CÓDIGO EN MATLAB
%Nombre: Cristian Aguirre
%Paralelo: B
Fm = 2000; % Frecuencia de muestreo
audiofm = 4; % tiempo señal de audio
audio = wavrecord(audiofm*Fm,Fm,1); %Graba primer audio
pause(2)
audio2=wavrecord(audiofm*Fm,Fm,1); %Graba segundo audio
wavwrite(audio,'audio.wav'); %Se almacena primer audio
wavwrite(audio2,'audio2.wav'); %Se almacena segundo audio
tm =1/Fm; t=0:tm:grab-tm; %Periodo y tiempo de muestreo
soundsc(audio,Fm);soundsc(audio2,Fm);
%%
figure(1)
subplot(2,1,1)
plot(audio);
title('SEÑAL DE AUDIO 1');
xlabel('TIEMPO');
ylabel('AMPLITUD');
subplot(2,1,2)
plot(audio2);
title('SEÑAL DE AUDIO 2');
xlabel('TIEMPO');
ylabel('AMPLITUD');
%%
%Con dos muestras de audio idénticas observar el resultado de la
convolución y correlación.
%CONVOLUCION
c1=conv(audio,audio);
soundsc(c1,Fm);
2. figure(2)
stem(c1);
title('CONVOLUCION SEÑALES IGUALES');
xlabel('TIEMPO');
ylabel('AMPLITUD');
grid on
hold on
%CORRELACION
rxx = xcorr(audio);
soundsc(rxx,Fm);
figure(3)
stem(rxx);
title('CORRELACION DE SEÑALES IGUALES');
xlabel('TIEMPO');
ylabel('AMPLITUD');
grid on
hold on
%%
%Con dos muestras de audio diferentes observar el resultado de la
convolución y correlación.
% CONVULUCION
c3=conv(audio,audio2);
soundsc(c3,Fm);
figure(4)
stem(c3);
title('CONVULUCION SEÑALES DISTINTAS');
xlabel('TIEMPO');
ylabel('AMPLITUD');
grid on
hold on
%CORRELACION
rxy = xcorr(audio,audio2);
soundsc(rxy,Fm);
figure(5)
hold on
stem(rxy);
title('CORRELACION DE SEÑALES DISTINTAS');
xlabel('TIEMPO');
ylabel('AMPLITUD');
grid on