8 ~ 16 micrófono digital PDM + ¿qué procesamiento? = formador de haz!

4

Estoy investigando un proyecto sobre la formación de haces de fuentes de sonido.

Me gustaría crear: 8 ~ 16 micrófonos digitales en un PCB 2D (círculo) / 3D (esfera) para formar una matriz con una separación igual de cada micrófono, separados por 3 cm y 5 cm. Después de algún procesamiento y poder localizar con precisión la dirección de una fuente de sonido.

Mi cálculo en la tasa de muestreo mínima de acuerdo con la velocidad del sonido. Mics de muestreo simultáneo en la parte superior > 96 kHz y > 8 bits en una forma precisa de tiempo debe ser mandato.

Debido a que soy un tipo de software de Linux más para una persona de EE, tengo menos conocimiento + experiencia de elegir un diseño adecuado entre MPU / DSP / FPGA.

Puedo recopilar todos los datos a través de Ethernet y procesarlos en una PC o en la unidad. PERO:

Tengo algunos problemas de muestreo:

  1. Los códecs de auido existentes no podrán reproducir micrófonos digitales PDM de 8 a 16 canales en un solo chip.
  2. La introducción de más de un códecs de audio con varios buses I2S puede introducir retrasos de audio no uniformes, lo que genera un gran error en el cálculo final.
  3. No sé cómo otro dispositivo puede medir con precisión el PDM que no sea un códec de audio.

Cualquier persona puede discutir algunas ideas de diseño y las analizaré e implementaré lo antes posible.

Los micrófonos PDM que usaré: Dispositivo analógico ADMP521 65dB SNR

    
pregunta c2h2

1 respuesta

1

Si necesita una sincronización / hora muy ajustada, creo que me gustaría un FPGA con microcontrolador (ya sea con ARM + FPGA en un chip, núcleo blando o externo) y USB (o Ethernet si lo desea)

Un FPGA de tamaño mediano debería poder manejar fácilmente 16 canales en paralelo, procesar a un bus de 8 o 16 bits, almacenar en búfer y enviar a la micro usando un puerto paralelo (o quizás SPI de alta velocidad)
Puede usar un protocolo simple entre el FGPA y el micro (si es externo), que se envía, por ejemplo. 8 palabras de 16 bits a la vez que se capturaron simultáneamente. También puede agregar marcas de tiempo al final de cada fragmento.
Luego, envíelo todo a la PC a través de USB / Ethernet para su procesamiento.

Me gustaría ver qué lugares como Digilent tienen para ofrecer en la forma de tablas de desarrollo, tal vez una tabla Spartan-6 con un ARM Cortex-M3 o algo así.

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas