Download resumen simulacion acustica - Departamento de Tecnología

Document related concepts
no text concepts found
Transcript
ESCUELA DE INGENIERÍAS INDUSTRIALES
UNIVERSIDAD DE VALLADOLID
INGENIERO TÉCNICO DE TELECOMUNICACIONES,
ESPECIALIDAD EN SISTEMAS ELECTRÓNICOS
PROYECTO FIN DE CARRERA
SIMULACIÓN ACÚSTICA
DE RECINTOS
BASADA EN DSP
Autor:
Andrés Lozano, Miguel
Tutoras:
Quintano Pastor, Carmen
del Valle González, María Isabel
Tecnología Electrónica
Tecnología Electrónica
SEPTIEMBRE – 2010
1. Introducción y objetivos
El Proyecto Fin de Carrera se denomina “Simulación Acústica de Recintos,
basada en DSP”, y se desarrolla en el Dpto. de Tecnología Electrónica de la
Universidad de Valladolid, para la obtención del título de Ingeniero Técnico de
Telecomunicaciones, especialidad en Sistemas Electrónicos, en la Escuela de
Ingenierías Industriales.
El proyecto realiza un estudio del tratamiento de señales de audio enfocado,
fundamentalmente, a la simulación acústica de recintos, y se implementan, también, los
efectos de eco y de coro.
La implantación física se realiza sobre la placa de desarrollo dsPICDEM 1.1,
disponible en el Dpto. de Tecnología Electrónica.
Los objetivos que se pretenden alcanzar, son los siguientes:
-
Realizar un estudio del procesador digital de señal dsPIC30F6014 y de los
periféricos que incorpora la placa de desarrollo dsPICDEM 1.1 sobre la que
se va a hacer el proyecto.
-
Hacer un análisis de las posibilidades y limitaciones del hardware disponible
respecto del tratamiento de señales sonoras.
-
Hacer un estudio de los efectos sonoros necesarios para la recreación
artificial de “ambientes sonoros”.
-
Desarrollar los algoritmos necesarios, en lenguaje ensamblador del dsPIC,
para la aplicación de los efectos indicados.
-
Implantación física en la placa de desarrollo disponible, capturando la señal
de un reproductor mp3 y sacando el sonido tratado por altavoces.
-
Desarrollar un entorno de usuario que permita escuchar los distintos sonidos
nativos y modificados, facilitando su comparación, e informando de la
posible presencia de distorsión en la señal tratada.
2. Soporte físico y herramientas disponibles. Limitaciones
El proyecto se realiza sobre la placa de desarrollo dsPICDEM 1.1. Sus
elementos más destacados desde el punto de vista de este proyecto son:
-
Procesador dsPIC30F6014, a 40 MHz.
-
Códec Si3000.
-
Entrada de línea de audio y salida de altavoces.
-
Cuatro pulsadores y cuatro diodos LED.
-
Display LCD de 4 líneas de 20 caracteres.
En el proyecto se analizan los diferentes elementos. Las principales limitaciones
que introducen son:
-
El códec soporta una frecuencia máxima de muestreo de 12 Ksps, apta para
señales que no tengan armónicos de frecuencia superior a 6 KHz, con una
resolución de 16 bits.
-
Se dispone de un único canal de entrada de audio, no pudiendo tratar señales
estereofónicas.
-
Se dispone, solamente, de una memoria, para almacenar las muestras de
audio, de 4055 words, que muestreando a 12 Ksps, permiten almacenar 338
ms de sonido.
Como herramienta de desarrollo y programación del dsPIC30F6014, se ha
empleado el emulador ICD2, dentro del entorno MPLAB, de Microchip.
3. Modelos de los efectos implementados
Los efectos sonoros que se van a recrear de forma artificial son los de eco, coro
y simulación de recintos.
3.1. Eco
Cuando una onda sonora choca con una superficie, parte de su energía es
absorbida por ella y otra parte se refleja. La mayor o menor proporción de energía
reflejada depende del material de la superficie.
Se considera que se produce eco cuando el receptor percibe la señal directa y la
señal reflejada como dos señales diferentes y no como una “señal compuesta”.
3.2. Coro
Generar un efecto de coro pretende que el sonido generado por un único
instrumento o intérprete se perciba como si hubiera sido generado por varios.
El efecto de coro se consigue, superponiendo a la señal directa una señal
retrasada (eco), pero un eco con un retraso variable, de forma periódica.
Valores típicos de retraso asociado al eco son de 40 a 60 ms, con una variación
periódica, entre estos valores, con un periodo de 0,25 Hz.
3.3. Caracterización y simulación de recintos
Cuando se emite un sonido en un recinto cerrado, lo que recibe el oyente es una
“composición” de la señal directa y los diferentes ecos. (Fig. 1).
Señal directa
Ecos primarios
Ecos secundarios
Fig. 1 – Distintos recorridos del sonido. Señal directa, ecos primarios y secundarios.
Lo que se percibe se denomina reverberación y, aunque está formada por ecos,
no es el mismo efecto y se considera reverberación cuando se oye todo el conjunto
como un único sonido, no siendo posible diferenciar sus componentes.
Los recintos se pueden simular mediante dos métodos:
-
Reverberación artificial mediante convolución: Se basa en que, si se conoce
la respuesta de un sistema al impulso unitario, h[n], se puede, mediante
convolución, conocer la respuesta de dicho sistema a cualquier estímulo.
y[n] = x[n] * h[n]
Este sistema se ha descartado por no disponer de información suficiente.
-
Reverberación artificial basada en redes de retraso: Consiste en generar la
señal tratada como la composición de la señal discreta y las señales
reflejadas, afectadas por sus correspondientes atenuaciones. (Fig. 1).
En el modelo que se ha generado para este proyecto se han considerado,
solamente, los eco primarios, y se han despreciado los secundarios.
La expresión de la señal de salida, será:
y[n] = x[n] + at1 · x[n – n1] + at2 · x[n – n2] + at3 · x[n – n3] + at4 · x[n – n4]
El modelo se basa en 8 parámetros (4 retrasos y 4 atenuaciones asociadas a
ellos), y se ha particularizado para dos recintos, a los que se ha denominado “club” e
“iglesia”.
Los parámetros que se han asociado a cada uno de los recintos, han sido los
siguientes:
-
Club:
n1 = 50 ms
n2 = 80 ms
n3 = 140 ms
at1 = at2 = at3 = at4 = 0,6
n4 = 200 ms
-
Iglesia:
n1 = 50 ms
n2 = 140 ms n3 = 230 ms
at1 = at2 = at3 = at4 = 0,9
n4 = 320 ms
Valores, que traducidos a muestras, muestreando a una tasa de muestreo de 12
ksps, quedarían de la siguiente forma:
-
Club:
n1 = 240
n2 = 960
n3 = 1.680
n4= 2.400 (muestras)
-
Iglesia:
n1 = 600
n2 = 1.680
n3 = 2760
n4= 3.200 (muestras)
El parámetro n1 se correspondería con el ITD (Interaural Time Difference) del
recinto, que es el tiempo que tarda en llegar el primer eco y el parámetro n4 con el tr
(tiempo de reverberación, o tiempo que tarda en alcanzar una atenuación de la señal
sonora de 60dB).
Los modelos no son totalmente realistas, debido a la limitación en memoria del
hardware de soporte, que permite almacenar solamente 4055 muestras que ,
muestreando a una tasa de 12 Ksps, se corresponden con un tiempo de 338 ms.
4. Entorno de usuario
El sistema dispone de siete modos de funcionamiento: Eco corto y largo, coro
corto y largo, recintos club e iglesia, y modo de funcionamiento normal.
Se ha desarrollado un entorno de usuario, en el que la selección entre los
distintos modos se hace mediante los cuatro pulsadores, y la información del modo
actual y las opciones disponibles se sacan con los diodos LED y el display LCD.
Para que el usuario pueda comparar los distintos efectos, lo que se debe hacer
“escuchando” la señal tratada, se ha incluido la posibilidad de conmutar de forma
inmediata entre la señal tratada y el modo de funcionamiento normal. En la Fig. 2, se
presenta el estado de los diodos y el display en una determinada situación
Fig.2 – Foto del display y los diodos correspondiente a un estado concreto.
5. Desarrollo del código
Se ha estudiado, en primer lugar, el hardware disponible para analizar sus
posibilidades y limitaciones. Se ha dedicado la mayor parte de la memoria de datos para
almacenar la señal de audio, reservando la imprescindible para la pila y variables
auxiliares. La memoria de datos se ha organizado como un buffer circular.
La primera parte del código se dedica a inicialización, debiendo de ser muy
cuidadoso en la parte relativa al módulo DCI del dsPIC30F6014, que se configura a
través de cinco registros y al códec Si3000 que se configura a través de ocho registros.
También se inicializan el módulo SPI, el controlador de display y las líneas de puerto de
Entrada/Salida.
La estructura general del código se presenta, de forma extremadamente
esquemática, en la Fig. 3
NO
Arranque
Lectura
muestra códec
Inicialización
Escritura del valor
procesado al códec
Lectura bit
Interrupción DCI
Cálculo nuevo valor
Lectura pulsadores
Realización acciones
¿DIIF=1?
SI
Borrar bit
interrupción DCI
Fig. 3 – Diagrama de flujo de la estructura general. (Fig. 4.6)
Esta estructura valdría para todos los modos de funcionamiento, diferenciándose
unos de otros en el procedimiento de cálculo de la señal tratada, que será diferente para
los efectos de eco, coro y recinto, como se ha indicado en el apartado 3. En la memoria
están detallados los algoritmos, y cómo se implementan en el lenguaje ensamblador de
dsPIC30F6014.
La evaluación de los resultados obtenidos se realiza “escuchando” la señal
tratada, a través del altavoz, y comparándola con la original. Se considera que, a pesar
de las limitaciones impuestas por el hardware disponible, se pueden apreciar
suficientemente lo efectos generados.
6. Conclusiones
-
Se ha hecho un estudio teórico de los efectos sonoros, de eco y coro y,
fundamentalmente, de la simulación de recintos.
-
Se han planteado dos alternativas en simulación de recintos:
o Reverberación artificial mediante convolución.
o Reverberación artificial basada en redes de retraso.
-
Se ha seleccionado la segunda alternativa, por ser la que dispone de más
información, y ser más fácilmente parametrizable.
-
Se ha estudiado el procesador dsPIC30F6014, haciendo énfasis en los
aspectos relacionados con la realización del presente proyecto: Capacidad de
procesamiento, organización de la memoria, puertos de entrada/salida,
módulos de comunicación con periféricos (DCI y SPI).
-
Se ha estudiado la placa de desarrollo dsPICdem 1.1, sobre la que se ha
hecho el proyecto, con énfasis en los periféricos empleados, (códec y
controlador de display), y en la configuración de los mismos y su
comunicación con el dsPIC30F6014.
-
Se han analizado las limitaciones que impone el sistem sobre el que se ha
hecho el proyecto, llegando a la conclusión de que, aunque puede ser
adecuada para señales telefónicas y módem, no está especialmente indicada
para tratamiento de sonido, por las restricciones generadas por el
dsPIC30F6014 y códec Si3000.
-
Se ha estudiado el entorno de desarrollo y programación MPLAB ICD2.
-
Se ha desarrollado, e implementado físicamente, un entorno de usuario que
permite seleccionar, de forma sencilla e informando de las opciones
disponibles, a través del display LCD, los distintos modos de reproducción.
La conmutación entre modos se puede realizar de forma muy rápida, con lo
que se facilita la comparación entre ellos.
-
Se han desarrollado, e implementado físicamente dentro de las limitaciones
impuestas por el hardware disponible, las simulaciones de dos recintos, a los
que se ha denominado “club” e “iglesia”.
-
Se han escuchado, a través de altavoz, los resultados de los efectos sonoros y
recintos simulados. Se aprecia que la calidad sonora es algo deficiente, lo
que se achaca a las limitaciones del hardware disponible, pero es suficiente
para apreciar los efectos y las diferencias entre ellos.