Habiendo trabajado mucho en la formación de haces adaptativos, realmente me gustaría evitar hackear algo por esto hasta que tuviera algo de experiencia. (Nota: las soluciones profesionales con aproximadamente 60 canales cuestan alrededor de 100k €. Con muchos canales, su resolución espacial se vuelve mucho mejor, pero solo obtiene una cantidad limitada de información a través de un puerto USB ...)
Para una conformación de haz confiable, es esencial que todos los micrófonos usen la misma base de tiempo. La forma más fácil de lograrlo es con una tarjeta de sonido USB externa con múltiples canales de entrada. Sin embargo, esos no son realmente baratos. ¿Ha echado un vistazo a lo que se puede encontrar en eBay?
Una alternativa es sacrificar la base de tiempo común mediante el uso de varias tarjetas de sonido USB, por ejemplo. dos canales cada uno. Sin embargo, necesitará 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 crack / clap / 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 aplauso / crack / etc. En los diferentes canales. Esto le dará una lista de las compensaciones de tiempo que necesita aplicar a sus canales para alinearlos antes de enviar los datos a su algoritmo de formación de haz.
Para explorar la formación de haces adaptativa, este es probablemente el camino a seguir, a menos que pueda negociar una tarjeta de sonido multicanal.
Editar 1
Esta edición es para responder a las preguntas planteadas en los comentarios.
La idea básica de la formación de haz de retardo y suma es aplicar retardos a diferentes canales de adquisición de modo que los sonidos que se originan desde un punto en el espacio se alineen y "amplifiquen" cuando se agrega 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 están "amplificados".
El punto en el espacio para el cual los sonidos se alinean usando un determinado conjunto de demoras se denomina foco de la matriz del micrófono (o punto focal). Sin embargo, en realidad, el enfoque no es un punto ideal, sino una región pequeña (ish) (dependiendo de la matriz) 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, espaciado del micrófono, contenido de frecuencia de las señales de interés. Ver 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 señales desde un determinado punto en el espacio) o en la emisión (para crear un punto "alto" en una habitación). Los principios son idénticos: simplemente reemplaza "micrófono" por "altavoz" en tu forma de pensar.
En cuanto al procedimiento de calibración: estás en lo correcto. El procedimiento que describí es demasiado simplista. Solo funciona bien si puede crear el aplauso de calibración desde una distancia mucho más larga que la región del espacio que le interesa (por ejemplo, para garantizar una onda plana).
Si esto no es posible, debes tener en cuenta la posición de la palmada. En este caso, el procedimiento más simple es corregir los retrasos mediante la correlación cruzada como se describe, pero luego agregar la curvatura del frente de onda nuevamente a la señal aplicando un conjunto de retardos de "formación de haz inverso" calculados con la posición del origen del aplaudir. (Es decir, si usa una variable de profundidad + t0 (o + z0) en su algoritmo de conformación de haz "normal", necesita usar -t0 (o -z0) para el algoritmo de conformació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 a grabar en momentos ligeramente diferentes. Esto normalmente evitaría que las señales se alineen correctamente incluso con los retrasos correctos y, por lo tanto, evitaría el efecto de amplificación que está buscando.