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.