1 puntos por GN⁺ 2024-11-23 | 1 comentarios | Compartir por WhatsApp
  • Micrófono de arreglo en fase

    • Un micrófono de arreglo en fase de 192 canales ofrece adquisición de datos con FPGA y funciones de beamforming/visualización en GPU. Los arreglos en fase permiten aplicaciones que no son posibles con los micrófonos direccionales tradicionales, y permiten cambiar la directividad inmediatamente después de grabar o enfocar simultáneamente en cientos de miles de puntos.
    • Todos los diseños se ofrecen como open source:
      • Software host
      • Gateware de FPGA
      • Layout de PCB y esquemáticos, componentes mecánicos
  • Hardware

    • Para construir un micrófono de arreglo en fase, se necesita disponer una gran cantidad de micrófonos con un espaciamiento amplio. En el caso de un arreglo lineal, el espaciamiento exponencial entre micrófonos es óptimo para señales de banda ancha.
    • El costo total es de aproximadamente $700.

    Brazos

    • La longitud de cada brazo está determinada por los límites de fabricación y ensamblaje de PCB. Se fabricó en JLCPCB, y la longitud máxima de una PCB de 4 capas es de 570 mm.
    • El micrófono elegido es el MEMS de salida digital más barato, sin grandes diferencias en sus características de rendimiento.
    • Usa PDM para sacar los datos y soporta DDR, lo que permite multiplexar dos micrófonos en un solo cable.
    • Cada brazo tiene 8 micrófonos que comparten 4 líneas de salida, e incluye un buffer de salida en la línea de entrada de reloj.
    • El rendimiento de fabricación de la PCB no es bueno, y el problema más común es que la línea de reloj quede en corto con 3V3 o tierra.

    Hub

    • Se usa un FPGA para la adquisición de datos porque puede recolectar una gran cantidad de IO de baja latencia y comunicarse por una interfaz de alta velocidad.
    • Se usa una tarjeta Colorlight i5, que tiene suficientes IO, un precio bajo y dos PHY Ethernet integrados.
    • El hub incluye un circuito simple de administración de energía, además de las placas de los brazos y conectores Ethernet.

    Diseño mecánico

    • Los brazos se fijan al hub con tornillos M3, y se ensamblan usando standoffs/tuercas de montaje para PCB.
    • El diseño inicial tenía ranuras en la PCB de los brazos para encajar con una PCB estructural, pero el diseño final rodea el contorno con MDF y se fija con cinchos.
    • Como el arreglo de micrófonos montado en pared es sensible a las reflexiones, se usa espuma acústica para reducirlas.
  • Gateware

    • El objetivo principal del gateware es transmitir los datos sin procesar a la computadora sin pérdidas.
    • Hacer diezmado y filtrado en el FPGA reduce la velocidad de transferencia de datos, pero es posible transmitir los datos PDM crudos.

    Interfaz PDM

    • El módulo de entrada PDM divide entre 16 el reloj del sistema de 50 MHz para generar un reloj PDM de 3.125 MHz, y captura 96 pines de entrada después de cada flanco de reloj.
    • La tasa de datos es de 600 Mbps y, con encabezado, es de 700 Mbps.

    Packetización

    • La packetización es un buffer FIFO que solo inicia paquetes cuando hay suficientes datos en la cola, garantizando paquetes de tamaño constante.
    • Cada paquete incluye 48 bloques de salida PDM, con una velocidad de transmisión de 715 Mbps.

    Streamer UDP

    • Gracias al proyecto LiteEth, la complejidad del encapsulado UDP e IP se abstrae, por lo que conectar un FIFO a un stream UDP es sencillo.
  • Software

    Filtro CIC

    • Cada micrófono genera una señal de 1 bit a 3.125 MHz, y esto debe reducirse a una frecuencia de muestreo y profundidad de bits más razonables.
    • Se usa un filtro CIC de 4 etapas con diezmado de 16x para reducir la frecuencia de muestreo a 195 kHz.

    Calibración

    • Para calibrar el arreglo, un altavoz reproduce ruido blanco mientras se mueve frente al arreglo.
    • Se usa correlación cruzada basada en FFT para calcular el retardo relativo entre micrófonos.
    • Se optimizan la posición de la fuente y las posiciones de los micrófonos para obtener el mejor modelo del sistema.

    Beamforming

    • El beamforming es una forma de procesar las entradas crudas de los micrófonos para generar una respuesta direccional.
    • La señal se procesa implementando retardos en el dominio de la frecuencia.
    • Se implementan un beamformer 3D de campo cercano y un beamformer 2D de campo lejano.
    Beamforming 3D de campo cercano
    • Se ejecuta sobre una cuadrícula de vóxeles de 5 cm y alcanza una tasa de actualización de 12 Hz en una RTX 4090.
    • Se visualiza con VisPy.
    Beamforming 2D de campo lejano
    • Usa una cuadrícula de 512x512 píxeles y alcanza una tasa de actualización de 12 Hz.
    Audio direccional
    • Se implementa un beamformer de retardo y suma en el dominio del tiempo para permitir grabación de audio direccional.

    Grabación

    • Los datos del arreglo de micrófonos se envían como paquetes UDP y pueden grabarse con herramientas como tcpdump.
    • La desventaja de esta implementación de grabación es que la tasa de datos de salida es muy alta.
  • Próximos pasos

    • Este proyecto está esencialmente terminado y no hay planes de seguir trabajando en él, pero hay varias posibilidades de expansión.
    • Uso de algoritmos de beamforming más avanzados
    • Una mejor GUI que combine todas las funciones
    • Combinar beamforming diferenciable con modelos de redes neuronales

1 comentarios

 
GN⁺ 2024-11-23
Comentarios de Hacker News
  • Se menciona que el proceso de optimizar la velocidad del sonido para obtener el modelo óptimo del sistema funciona como un termómetro muy complejo.

    • Recuerda que todos los sensores son sensores de temperatura, y que algunos además miden otras cosas.
  • Hizo un proyecto con 4 micrófonos para localizar murciélagos e identificar la especie.

    • Se usó para estudiar el impacto ambiental de la instalación de turbinas eólicas.
  • Le preguntaron por qué usó PDM en lugar de micrófonos TDM I2S.

    • El ICS-52000 es barato y hay una placa que permite conectar varios micrófonos.
    • Si se usa hardware I2S como el de Jetson, se pueden conectar 16 micrófonos.
  • Plantea que le gustaría usarlo en aplicaciones médicas combinado con un arreglo de altavoces ultrasónicos.

    • Imagina una forma de combinar ultrasonido focalizado de alta intensidad (HIFU) con retroalimentación en tiempo real.
  • Menciona que en YouTube se pueden ver demos impresionantes de cámaras acústicas.

    • Señala que grandes empresas como FLIR están entrando en este campo.
    • Dice que la función de grabar conversaciones en lugares públicos y luego “hacer zoom” le parece interesante y escalofriante.
  • Espera que se incorporen funciones de audio direccional de alta calidad en dispositivos móviles.

    • Cree que la reducción de ruido y la detección de dirección serían de gran ayuda para dispositivos de asistencia y traductores.
    • Sugiere que sería bueno si todos los teléfonos a su alrededor pudieran cooperar para ofrecer audio de alta calidad.
  • Menciona el sistema acústico esférico que Boeing usó en el prototipo del 787.

    • Explica que en situaciones ruidosas como un avión, el sonido puede parecer venir de distintas ubicaciones.
  • Cree que sería genial un proyecto que separe sonidos según la ubicación.

    • Es un concepto similar al de una cámara de campo de luz, donde se puede editar el enfoque de la imagen.
  • Expresa sorpresa por la PCB larga en forma de “brazo”.

    • Sugiere que sería mejor colocar cada sensor en una PCB individual y dejar que la calibración resuelva el resto.
  • Menciona que esta tecnología se está usando cada vez más en drones.

    • Se usa con fines militares para detectar drones o para que empresas de reparto con drones detecten aeronaves a bajo costo.