Implementaciones de hardware para un proyecto de matriz ADC de bajo costo

0

Me pregunto cuál sería la mejor plataforma o arquitectura de hardware para implementar y construir un sistema de bajo costo para muestrear la captura de audio en una gran variedad de micrófonos o sensores. por ejemplo, 300 o 500 canales de audio simultáneamente, y poder transmitir la información a través de USB o Ethernet

    
pregunta lurscher

2 respuestas

1

No existe un "sistema de bajo costo" cuando se habla de la adquisición de datos de 300 a 500 señales de ancho de banda de audio. Esto está fuera del alcance de un Arduino o incluso de un Beaglebone. Es probable que tenga que empezar a buscar hardware serio con un FPGA (por ejemplo, una placa Zynq).

Para empezar, el ancho de banda de transferencia de datos es un problema. Con una frecuencia nyquist mínima para una señal de ancho de banda de < 10KHz, tiene 300 canales * 16 bits * 20000 S / s = 96Mb / s. Eso requerirá Gb ethernet y saturará los puertos USB de la PC sin un controlador de software dedicado (olvídese de los controladores seriales utilizados por las placas Arduino, por ejemplo, saturé aquellos con solo 2Mb / s).

Entonces, mientras está considerando una aplicación de formación de haz, debería considerar seriamente el muestreo simultáneo. Es decir, todos sus canales ADC se sincronizaron y muestrearán al mismo tiempo, de lo contrario, necesitaría un procesamiento de señal adicional. Eso hace que sea más difícil encontrar los ADC adecuados y dividir el problema en múltiples módulos de conteo de canales bajos (por ejemplo, 10 placas BeagleBone de 30 canales cada una).

A continuación, se encuentra el front-end de adquisición de datos y el acondicionamiento de la señal. Puede encontrar ADCs de muestreo de 8 canales simultáneamente con algún acondicionamiento de señal específico con relativa facilidad, pero si necesita agregar circuitos de acondicionamiento a cada canal individual, está hablando de muchos pasivos. Además, sería difícil presionar a dos de estos ADC fuera de un solo puerto serie simple como SPI, necesitaría interfaces más rápidas y, muy probablemente, múltiples canales de comunicación individuales.

Y por último, pero no menos importante, viene el software para manejar todos esos canales en tiempo real. Las PC modernas pueden hacerlo, pero tendrán dificultades (olvídate de Matlab, Python u otros lenguajes similares, necesitas C # / C ++ / Swift u otros lenguajes que se compilen lo más cerca posible del metal).

Mi consejo, divida el problema en módulos de conteo de canales bajos separados (por ejemplo, de 16 a 64) que se puedan replicar fácilmente. Diseñe una placa controladora que pueda manejar múltiples módulos al mismo tiempo. Use Ethernet, la arquitectura maestro-esclavo del USB lo hace problemático, los controladores de Ethernet están diseñados para la velocidad.

    
respondido por el Edgar Brown
1

Creo que el costo más bajo que vas a lograr será con algún tipo de adc basado en i2s. Por ejemplo, Knowles tiene un módulo de "micrófono digital" con un micrófono, amplificador y i2s ADC todo en uno.

La única forma de manejar cientos de canales de i2s (que yo sepa) será alimentarlos a un FPGA o banco de FPGA. Dependiendo de lo que esté haciendo, es posible que pueda procesar al menos parcialmente los datos en el FPGA para reducir el malvado que sale del FPGA. De lo contrario, puede encontrarse con un límite de ancho de banda para cualquier procesador o DSP al que le pase los datos. Si desea conservar todos los canales para poder retroceder en el tiempo y enviar datos en forma de datos después del hecho, ¡deberá almacenar una gran cantidad de datos!

Creo que ya existen matrices como esta. Estoy bastante seguro de haber visto algo así en un estadio de baloncesto. Tenían una gran variedad de micrófonos en medio del estadio en el techo con cámaras. La conformación del rayo funcionó en conjunto con la cámara para que pudieran acercarse a cualquiera en el estadio y la forma del rayo para también escuchar su conversación. Creepy!

    
respondido por el mkeith

Lea otras preguntas en las etiquetas