Aplicaciones DE Matlab EN Acústica Y Sonido PDF

Title Aplicaciones DE Matlab EN Acústica Y Sonido
Author Zeff C
Course Procesamiento Digital de Señales
Institution Universidad de las Américas Ecuador
Pages 11
File Size 768.4 KB
File Type PDF
Total Downloads 41
Total Views 174

Summary

Download Aplicaciones DE Matlab EN Acústica Y Sonido PDF


Description

AP

CONTENIDO 1)

Introducción...........................................................................................................................................2

2)

Objetivos................................................................................................................................................2

3)

Desarrollo...............................................................................................................................................2 3.1) Descripción del código........................................................................................................................2 3.1.1) Marco teórico..............................................................................................................................2 3.2) Estructura del código..........................................................................................................................4 3.2.1) Filtro pasa bajos...........................................................................................................................4 3.2.2) FIltro pasa altos............................................................................................................................5 3.2.3) Filtro pasa banda.........................................................................................................................5 3.2.4) Ecualización.................................................................................................................................5 3.2.5) DIstorsión.....................................................................................................................................6 3.3) Generando la función final.................................................................................................................6

4)

Comentarios...........................................................................................................................................8

5)

Conclusiones..........................................................................................................................................8

6)

Referencias.............................................................................................................................................8

Anexos............................................................................................................................................................9

1) INTRODUCCIÓN

Como parte de la evaluación final de la materia Procesamiento Digital de Señales, se plantea un programa diseñado en Matlab que permita una aplicación para el área de acústica y/o sonido. En este caso, se plantea la realización de diferentes tipos de filtros y distorsión en un solo programa que puedan procesar una señal de audio cargada por el usuario. Se presenta a continuación el procedimiento y resultados para llegar a diseñar el programa.

2) OBJETIVOS



Diseñar un programa en Matlab con aplicación en acústica y/o sonido



Redactar un informe con el análisis de la estructura y funcionamiento del programa



Adquirir un criterio objetivo y subjetivo sobre el uso de aplicaciones en el campo de acústica y sonido diseñadas en Matlab

3) DESARROLLO 3.1) D ESCRIPCIÓN D EL CÓDIGO

Como se mencionó anteriormente, se va a realizar un programa en Matlab en el cual contenga diferentes tipos de filtros y distorsión para que puedan procesar una señal de audio cargada por el usuario. Para ello, se debe identificar qué funciones se puede usar que minimicen el código y comprobar su funcionamiento. 3.1.1) MARCO TEÓRICO

Un filtro digital es un tipo de filtro que se aplican en señales discretas y cuantizadas mediante software o un circuito digital. Con los distintos tipos de filtros digitales se puede atenuar o amplificar cierto rango de frecuencias.

Existen filtros del tipo pasa bajos, pasa altos y pasa banda. Cada uno como su nombre indica, permite enfatizar frecuencias bajas, altas y ciertas bandas respectivamente. Para el diseño de filtros de manera eficiente se va a utilizar la función fir1, la cual permite diseñarlos de manera rápida Las ventajas de utilizar filtros de duración finita son: 

Pueden tener exactamente fase lineal



Siempre son estables



El método de diseño es lineal



Pueden ser implementados eficientemente en hardware



Las transientes del filtro tienen duración finita

La sintaxis de uso en Matlab de fir1 es la siguiente:

Como no se tienen muchos argumentos, diseñar filtros con esta función será relativamente fácil. Para el caso de la distorsión, simplemente se puede llevar la señal de audio por una función trigonométrica arco tangente y multiplicarla por una constante mayor a 1. De esta manera se puede llegar a saturar la señal. Se puede usar también la función tangente hiperbólica.

3.2) E STRU CTURA DE L CÓDIGO

La finalidad del código será procesar una señal de audio cargada por el usuario y luego pasará por un filtro pasa bajo, pasa alto y pasa banda. En cada filtro se puede especificar el rango de audición y la frecuencia de corte. Al final se puede realizar un tipo de ecualización básica, multiplicando por una constante

distintos

filtros

pasa

banda

y

sumándolos,

posteriormente

reproducirlo. Para el caso de la distorsión se cargará la señal de audio y se debe seleccionar la razón con la cual se va a saturar la señal, como se mencionó anteriormente, una constante mayor a 1. El primer paso es cargar el audio en Matlab con su respectiva frecuencia de muestreo con el código y luego reproducir para escuchar la señal original: >> [y,Fs]=audioread('unintended.wav'); soundsc(y,Fs);

A continuación se presenta el código y su funcionamiento para cada filtro y distorsión: 3.2.1) FILTRO PASA BAJOS

>> pbajo=fir1(500,500/22000); >> pasabajo=filter(pbajo,1,y); >> soundsc(pasabajo,Fs);

Lo que se hace con este código es generar un filtro pasabajo con frecuencia de corte 500Hz. Se selecciona un rango audible y se procede a filtrarlo con la función filter a la señal de audio. Por último se la reproduce.

3.2.2) FILTRO PASA ALTOS >> palto=fir1(500,5000/22000,'DC-0'); >> pasaalto=filter(palto,1,y); >> soundsc(pasaalto,Fs);

Lo que se hace con este código es generar un filtro pasa alto con frecuencia de corte 5000Hz. Se selecciona un rango audible y se procede a filtrarlo con la función filter a la señal de audio. Es necesario poner el comando ‘DC-0’ para que la función fir1 sepa qué tipo de filtro queremos implementar. Por último se la reproduce.

3.2.3) FILTRO PASA BAN DA >> pbanda=fir1(500,[500/22000 1000/22000],'DC-0'); >> pasabanda=filter(pbanda,1,y); >> soundsc(pasabanda,Fs);

Lo que se hace con este código es generar un filtro pasa banda con frecuencia de corte 500Hz y 1000Hz. Se selecciona un rango audible y se procede a filtrarlo con la función filter a la señal de audio. Es necesario poner el comando ‘DC-0’ para que la función fir1 sepa qué tipo de filtro queremos implementar. Por último se la reproduce.

3.2.4) ECUAL IZACIÓN >> ecualizacion = pasabajo+400*pasabanda+500*pasaalto; >> soundsc(ecualizacion,Fs);

Lo que se hace con este código es generar una suma de todos los filtros anteriores y simular un ecualizador de 3 bandas con amplificación en frecuencias medias y altas.

3.2.5) DISTORSIÓN >> distorsion=atan(25*y); >> soundsc(distorsion,Fs);

Lo que se hace en este código es tomar la señal y saturarla con una forma de una función arco tangente. En este caso se la satura con un coeficiente 25. Por último se lo reproduce.

3.3) GENE RAN DO LA FUN CIÓN FINAL

Como nuestro objetivo es un realizar un programa que realice todos los filtros y distorsiones mencionados anteriormente, vamos a unir todo el código en un archivo de extensión “m” para que solo se aplique el comando en la consola y empiecen a reproducirse los distintos filtros y distorsiones realizadas. El código final queda de la siguiente manera:

function x=filtrosydist() [y,Fs]=audioread('unintended.wav'); soundsc(y,Fs); pause; %Primero se carga y despues sonara el audio original %Se debe aplastar una tecla para continuar %Implementando filtro pasa bajo pbajo=fir1(500,500/22000); pasabajo=filter(pbajo,1,y); soundsc(pasabajo,Fs); pause; %Empieza a sonar el audio con filtro pasa bajo %Se debe aplastar una tecla para continuar %Implementando filtro pasa alto palto=fir1(500,5000/22000,'DC-0'); pasaalto=filter(palto,1,y); soundsc(pasaalto,Fs); pause; %Empieza a sonar el audio con filtro pasa alto %Se debe aplastar una tecla para continuar %Implementando filtro pasa banda

4) COMENTARIOS

Para que la función empiece a ejecutarse, solo hay que escribir “filtrosydist” en el comando de Matlab y se cargará el audio de manera automáticamente (siempre y cuando se haya copiado el archivo de audio en la carpeta de Matlab anteriormente) y después empezará a sonar cada filtro y distorsión en el orden que se presentó anteriormente. Hay que tomar en cuenta que después de que se escucha el audio original hay que aplastar una tecla para reproducir el siguiente efecto.

5) CONCLUSIONES



Matlab posee varias funciones que facilitan el proceso matemático en cuanto a procesamiento de audio



Matlab es una herramienta bastante potente y rápida para realizar filtros FIR



El código se generó exitosamente y puede ser modificado para que posteriormente se puedan realizar filtros con otras frecuencias de corte o distorsiones.

6) REFERENCIAS

Pfister, Henry. (2005). From EQ to Reverb & Distortion: DSP Audio Effects in Matlab. Estados Unidos: Durham. Duke University. Recuperado el 20 de enero de 2016 de http://pfister.ee.duke.edu/courses/ece485/dsp.pdf Mathworks. (2015). FIR, Recuperado el 20 de enero de 2016 de http://www.mathworks.com/help/signal/ref/fir1.html

ANEXOS

Ilustración 1 Captura de pantalla del programa

Ilustración 2 Descripción de la funcion fir1

Ilustración 3 Descripción de argumentos de la funcion fir...


Similar Free PDFs