He estado aprendiendo mucho sobre la formación de haces adaptativos y he estado jugando con varios sims en MATLAB, etc.
Pero, ¿qué mejor manera de entender algo, de entenderlo de verdad, que jugar con todo el sistema?
Con este fin, me gustaría encontrar (¿construir?) una matriz de micrófonos conectados por USB, con, digamos, 5 micrófonos más o menos. Podrían adquirir señales del entorno (es decir, donde sea que esté mi computadora portátil), y luego podría tomar esas señales y procesarlas en MATLAB o lo que sea.
Realmente preferiría no construir todo, así que espero que alguien ya haya usado arreglos de micrófonos conectados por USB en el pasado y pueda apuntar en la dirección correcta.
Los micrófonos no necesitan ser nada sofisticados cuando se trata de resoluciones de bits de su A/D, etc. Los micrófonos KISS de calidad respetable funcionarán bien.
La cámara de video Playstation Eye tiene una matriz de micrófono lineal de 4 elementos. Proporciona muestras de 16 bits a 48 KHz con una SNR de 90 dB. Es fácil de usar: se enumera como un dispositivo de audio USB estándar con cuatro canales separados.
Para ver un ejemplo de cómo usarlo de esta manera, consulte: Pruebas de audio de 4 canales de PS3 Eye en Ubuntu Karmic
Después de haber trabajado extensamente en la formación de haces adaptativos, realmente evitaría piratear algo para esto hasta que tuviera algo de experiencia. (Nota: Las soluciones profesionales con alrededor de 60 canales cuestan alrededor de 100k€. Con muchos canales tu resolución espacial mejora mucho, pero solo obtienes una cantidad limitada de información a través de un puerto USB...)
Para una formación de haces fiable, es esencial que todos los micrófonos utilicen la misma base de tiempo. La forma más fácil de lograr esto es con una tarjeta de sonido USB externa con múltiples canales de entrada. Aunque esos no son realmente baratos. ¿Has echado un vistazo a lo que se puede encontrar en eBay?
Una alternativa es sacrificar la base de tiempo común utilizando varias tarjetas de sonido USB con, por ejemplo, dos canales cada una. Sin embargo, deberá calibrar su sistema de adquisición. Esto realmente no es tan difícil como parece:
Para calibrar, configura su matriz y produce un sonido corto (por ejemplo, un crujido/aplauso/etc.) a una distancia de su matriz que es del orden de la extensión de su matriz. Luego graba este sonido y usa Matlab o similar para calcular la correlación cruzada entre el clap/crack/etc. en los diferentes canales. Esto le dará una lista de compensaciones de tiempo que necesita aplicar a sus canales para alinearlos antes de enviar los datos a su algoritmo de formación de haces.
Para explorar la formación de haces adaptable, este es probablemente el camino a seguir, a menos que pueda hacer una ganga en una tarjeta de sonido multicanal.
Esta edición es para responder a las preguntas planteadas en los comentarios.
La idea básica de la formación de haces de demora y suma es aplicar demoras a diferentes canales de adquisición de modo que los sonidos que se originan en un punto en el espacio se alineen y se "amplifiquen" cuando se agregue la señal de los diferentes canales. Los sonidos que se originan en otras regiones del espacio no se alinean y, por lo tanto, no se "amplifican".
El punto en el espacio para el cual los sonidos se alinean utilizando un determinado conjunto de retrasos se denomina foco de la matriz de micrófonos (o punto focal). En realidad, sin embargo, el foco no es un punto ideal, sino más bien una pequeña (más o menos) (dependiendo de la matriz) región del espacio para la cual los sonidos se alinean bien. El tamaño de esta región se denomina tamaño del punto focal.
La geometría (tamaño, forma, etc.) depende de los detalles exactos de la matriz: número de micrófonos, espacio entre micrófonos, contenido de frecuencia de las señales de interés. Véase, por ejemplo , este artículo .
Para obtener más información, busque textos sobre el enfoque de "matrices en fase" o "matrices lineales" en ultrasonidos. La formación de haces se puede utilizar en la recepción (para amplificar las señales de un determinado punto del espacio) o en la emisión (para crear un punto "fuerte" en una habitación). Los principios son idénticos: simplemente reemplace "micrófono" por "altavoz" en su forma de pensar.
En cuanto al procedimiento de calibración: tienes razón. El procedimiento que describí es demasiado simplista. Solo funciona bien si puede crear el aplauso de calibración desde una distancia mucho mayor que la región del espacio que le interesa (es decir, para garantizar una onda simple).
Si esto no es posible, hay que tener en cuenta la posición del aplauso. En este caso, el procedimiento más simple es corregir los retrasos por correlación cruzada como se describe, pero luego agregar la curvatura del frente de onda nuevamente a la señal aplicando un conjunto de retrasos de "formación de haz inverso" calculado con la posición del origen del aplaudir. (Es decir, si usa una variable de profundidad +t0 (o +z0) en su algoritmo de formación de haz "normal", necesita usar -t0 (o -z0) para el algoritmo de formación de haz inverso).
¿Cuál es el punto de esta calibración? Elimina cualquier error debido a que las diferentes tarjetas de sonido comienzan su grabación en momentos ligeramente diferentes. Esto normalmente evitaría que las señales se alinearan correctamente incluso con los retrasos correctos y, por lo tanto, evitaría el efecto de amplificación que está buscando.
FRA
espacial