Cómo grabar la entrada de múltiples micrófonos para que no haya latencia entre micrófonos debido a la escritura en la memoria

Voy a estar haciendo un poco de formación de haz. Entiendo el concepto y planeo registrar todos los datos y luego analizar las señales de varios micrófonos para determinar las ubicaciones de algunos ruidos (habrá varias ubicaciones por prueba). Estoy atascado en cómo grabar los datos de varios micrófonos al mismo tiempo. Puedo usar una computadora o un microcontrolador designado para hacer esto. Planeo usar de 3 a 10 micrófonos.

Gracias de antemano.

¿Por qué no generar un archivo de audio multicanal?

Respuestas (3)

El problema que estás imaginando no existe, a menos que tú lo crees. Si usa una PC con una tarjeta de sonido con una entrada multicanal, obtendrá cuadros de datos donde se alinean las muestras de cada canal. Si usa un microcontrolador, puede hacer lo mismo usted mismo, siempre que el chip tenga suficientes canales ADC, y puede iniciar la conversión en todos ellos a la vez (o lo suficientemente cerca, no importa). Además de la capacidad de respuesta, no importa en qué orden copie los datos o cuánto tiempo lleve procesarlos; solo importa que todas las muestras con el mismo índice hayan sido muestreadas al mismo tiempo.

K.Doe quiere muestreo simultáneo con el propósito de posprocesamiento para encontrar la dirección/ubicación del origen del sonido (como los dispositivos "boomerang"/"buscador de francotiradores" que utilizan muchos militares) en el posprocesamiento. Muchas MCU y tarjetas de sonido en realidad multiplexan canales a través del mismo ADC, sesgando la temporización del "cuadro" de entrada al muestrear cada línea en un momento separado. Para obtener los mejores resultados, una unidad que realmente contenga un ADC separado para cada línea que se muestrea debería dar resultados más precisos.

Hice mi tesis de maestría sobre esto. Utilizamos un FPGA, por lo que todo el muestreo se pudo realizar en paralelo. El procesamiento se realizó en tiempo real, con solo los datos direccionales informados en cualquier lugar. Eso eliminó muchas de las preocupaciones de almacenamiento y sellado de tiempo.

Aquí hay un dispositivo que apareció en una búsqueda de Google... graba 16 canales en vivo para usted; cuesta alrededor de $ 400.

De lo contrario, si eres más del "Tipo DIY", una búsqueda de Digikey mostrará varias MCU con más de 20 entradas ADC que grabarán hasta 1 MHz más o menos. He estado considerando algunos de ellos que cuestan menos de $ 10 USD / c/u para una sincronización de altavoces de audio multicanal. proyecto delay + recorder en el que estoy trabajando.

¿Por qué no considerar el retraso entre las muestras tomadas del ADC multiplexado multicanal? Si el retraso es N*Ts, puede volver a clasificarlos en una matriz, por ejemplo. almacena la primera muestra en el índice 10, luego la segunda en el índice 9 ... así que en la muestra 10 en el índice 1. Luego, al hacer una correlación cruzada en FFT/DFT, todos están alineados.
@MarkoBuršič Personalmente, preferiría usar un dispositivo/chip de grabación con múltiples circuitos ADC para grabar con el menor retraso de muxing posible. Hace que los cálculos de fase sean mucho más simples; especialmente si puede usar la velocidad de muestreo ADC de ~ 1 MHz completa para maximizar la precisión de tiempo y así aprovechar. precisión direccional y agrega la posibilidad de determinar la distancia a partir de la curvatura del frente de onda, si la constelación de micrófonos de OP es adecuada.
Sin duda, es más determinista, pero antes de que pueda procesar todos los datos con un muestreo de 1M, necesita una transferencia de RAM rápida (probablemente DMA), RAM grande y una gran potencia de CPU para hacer todos los cálculos. Ahora, quién sabe si OP realmente necesita lo mejor al principio, primero tiene que implementar todas las matemáticas detrás de esta matriz en fase.
Muy cierto. Al final, cualquier método podría funcionar; dependiendo de los requisitos reales 'en uso' que aún no hemos recibido. Mi intención era ofrecer una solución con potencial/flexibilidad para grabar en cualquier nivel necesario; luego permita que las matemáticas se ejecuten como posprocesamiento 'en el laboratorio' más tarde, ya que OP ya preguntó acerca de hacer un posprocesamiento basado en el laboratorio en su primera pregunta: ¿Cuándo procesar los algoritmos de formación de haces? electronics.stackexchange.com/questions/217176/…