Está en la página 1de 2

Ejemplo de convolucin: reverberacin y eco De ISAwiki Saltar a navegacin, bsqueda

[editar]Descripcin del experimento A travs de este ejemplo se ilustra el concepto de convolucin. En el ejemplo se emu la el efecto de reverberacin y eco que se produce cuando una persona habla en est ancias con acsticas tpicas. La estancia es un sistema dinmico que transforma la voz original, tal como sale d el hablante, produciendo una distorsin (eco, reverberacin, etc.) como resultado de la geometra y naturaleza de las superficies. Esta dinmica es muy compleja, pero e s fcilmente reproducible si registramos una respuesta impulsional de la estancia. La respuesta impulsional puede verse como la firma o el "ADN" del sistema: tien e toda la informacin sobre su comportamiento dinmico. Si el sistema es considerado lineal e invariante (sistema LTI), entonces puede demostrarse que su respuesta ante una seal cualquiera puede hallarse mediante convolucin con la respuesta impul sional En este caso: u(t) = voz del hablante h(t) = respuesta impulsional de la estancia. Por ejemplo, puede obtenerse median te la grabacin de una regla dando un golpe seco en una mesa y(t) = sonido resultante de la distorsin producida por la estancia. [editar]Bibliografa En el Franklin, seccin 3.1.1, pp. 74-75, puede encontrarse la base terica (superpo sicin y respuesta por convolucin) en la que se apoya este ejemplo. [editar]Ejemplo de Matlab Descrgate los siguientes archivos en el directorio de trabajo de matlab, o en uno accesible desde el path de matlab: archivo WAV de voz hablada archivo WAV de un golpe seco en una estancia con reverberacin archivo WAV de un golpe seco en una estancia con reverberacin y eco Copia y pega el siguiente cdigo directamente en la lnea de comandos, o en un scrip t. Puedes jugar creando otros efectos especiales. Por ejemplo: Registrando t mismo una respuesta impulsional en otra estancia Creando una respuesta impulsional de forma artificial con cualquier programa de edicin de audio o con el mismo matlab, modificando directamente el vector de la s eal de impulso (vectores golpe y golpe_eco en el ejemplo).

% % % % % % %

EJEMPLO DE CONVOLUCIN: SIMULACIN DE LOS EFECTOS DE REVERBERACIN Y ECO Anlisis Dinmico de Sistemas (Teleco) EPS de Ingeniera de Gijn rea de Ingeniera de Sistemas y Automtica Universidad de Oviedo

clear; close all; clc;

disp('Cargando ADS.wav...'); [u,fs] = wavread('ADS.wav'); disp('Cargando golpe.wav...'); [golpe,fs] = wavread('golpe.wav'); disp('Cargando golpe_eco.wav...'); [golpe_eco,fs] = wavread('golpe_eco.wav'); ts = inv(fs); t_u = 0:ts:ts*(length(u)-1); t_golpe = 0:ts:ts*(length(golpe)-1); t_golpe_eco = 0:ts:ts*(length(golpe_eco)-1); disp('Calculando convolucin de voz con golpe ...'); y_golpe = conv(u,golpe); disp('Calculando convolucin de voz con golpe_eco ...'); y_golpe_eco = conv(u,golpe_eco); figure(1); subplot(311); plot(t_golpe,golpe); title('Sonido de respuesta impulsional de estancia con reve rberacin'); subplot(312); plot(t_golpe_eco,golpe_eco); title('Sonido de respuesta impulsional de estancia con reverberacin y eco'); subplot(313); plot(t_u,u); title('Sonido de voz hablada'); disp('Listo...'); disp('Sonido del impulso. Pulsar tecla para oirlo...'); pause; soundsc(golpe,fs); disp('sonido del impulso con eco. Pulsar tecla para oirlo...'); pause; soundsc(golpe_eco,fs); disp('voz original. Pulsar tecla para oirlo...'); pause; soundsc(u,fs); disp('voz despues de convolucin con impulso. Pulsar tecla para oirlo...'); pause; soundsc(y_golpe,fs); disp('voz despues de convolucin con impulso de eco. Pulsar tecla para oirlo...'); pause; soundsc(y_golpe_eco,fs);

También podría gustarte