1P by neo 5일전 | favorite | 댓글 1개
  • 위상 배열 마이크

    • 192채널 위상 배열 마이크로, FPGA 데이터 수집 및 GPU에서의 빔포밍/시각화 기능을 제공함. 위상 배열은 전통적인 방향성 마이크로는 불가능한 응용을 가능하게 하며, 녹음 후 방향성을 즉시 변경하거나 수십만 개의 지점에 동시에 초점을 맞출 수 있음.
    • 모든 설계는 오픈 소스로 제공됨:
      • 호스트 소프트웨어
      • FPGA 게이트웨어
      • PCB 레이아웃 및 회로도, 기계적 구성 요소
  • 하드웨어

    • 위상 배열 마이크를 만들기 위해 많은 수의 마이크를 넓은 간격으로 배열해야 함. 선형 배열의 경우, 마이크 간의 지수 간격이 광대역 신호에 최적임.
    • 총 비용은 약 $700임.

    • 각 팔의 길이는 PCB 제조 및 조립의 한계에 의해 결정됨. JLCPCB에서 제조되었으며, 4층 PCB의 최대 길이는 570mm임.
    • 선택된 마이크는 가장 저렴한 디지털 출력 MEMS 마이크로, 성능 특성에 큰 차이가 없음.
    • PDM을 사용하여 데이터를 출력하며, DDR을 지원하여 두 개의 마이크를 하나의 와이어에 다중화할 수 있음.
    • 각 팔에는 8개의 마이크가 4개의 출력 라인을 공유하며, 클럭 입력 라인에 출력 버퍼가 포함됨.
    • PCB의 수율이 좋지 않으며, 클럭 라인이 3V3 또는 접지로 단락되는 것이 가장 흔한 문제임.

    허브

    • FPGA는 많은 수의 저지연 IO를 수집하고 고속 인터페이스로 통신할 수 있어 데이터 수집에 사용됨.
    • Colorlight i5 카드가 사용되며, 충분한 IO와 저렴한 가격, 두 개의 이더넷 PHY가 통합되어 있음.
    • 허브에는 간단한 전력 관리 회로와 팔 보드 및 이더넷 커넥터가 포함됨.

    기계적 설계

    • 팔은 M3 나사를 사용하여 허브에 부착되며, PCB 장착 스탠드오프/너트를 사용하여 조립됨.
    • 초기 설계는 팔 PCB에 슬롯이 있어 구조적 PCB와 맞물리도록 되어 있었으나, 최종 설계는 MDF로 외곽을 감싸고 케이블 타이로 부착됨.
    • 벽에 장착된 마이크 배열은 반사에 민감하므로, 반사를 줄이기 위해 음향 폼을 사용함.
  • 게이트웨어

    • 게이트웨어의 주요 목표는 원시 데이터를 손실 없이 컴퓨터로 전송하는 것임.
    • FPGA에서 디시메이션 및 필터링을 수행하면 데이터 전송 속도가 줄어들지만, 원시 PDM 데이터를 전송하는 것이 가능함.

    PDM 인터페이스

    • PDM 입력 모듈은 50MHz 시스템 클럭을 16으로 나누어 3.125MHz PDM 클럭을 출력하고, 각 클럭 엣지 후 96개의 입력 핀을 래치함.
    • 데이터 속도는 600Mbps이며, 헤더를 포함하면 700Mbps임.

    패킷화

    • 패킷화는 FIFO 버퍼로, 큐에 충분한 데이터가 있을 때만 패킷을 시작하여 일정한 크기의 패킷을 보장함.
    • 48개의 PDM 출력 블록이 각 패킷에 포함되어 있으며, 715 Mbps의 전송 속도를 가짐.

    UDP 스트리머

    • LiteEth 프로젝트 덕분에 UDP 및 IP 캡슐화의 복잡성을 추상화하여 FIFO를 UDP 스트림에 연결하는 것이 간단함.
  • 소프트웨어

    CIC 필터

    • 각 마이크는 3.125MHz에서 1비트 신호를 생성하며, 이를 더 합리적인 샘플 속도와 비트 깊이로 줄여야 함.
    • 4단계, 16배 디시메이션 CIC 필터를 사용하여 샘플 속도를 195kHz로 줄임.

    보정

    • 배열 보정을 위해 스피커가 화이트 노이즈를 재생하며 배열 앞에서 이동함.
    • FFT 기반의 상호 상관을 사용하여 마이크 간 상대 지연을 계산함.
    • 소스 위치와 마이크 위치를 최적화하여 시스템의 최적 모델을 얻음.

    빔포밍

    • 빔포밍은 원시 마이크 입력을 처리하여 방향성 응답을 생성하는 방법임.
    • 주파수 도메인에서 지연을 구현하여 신호를 처리함.
    • 3D 근거리 빔포머와 2D 원거리 빔포머를 구현함.
    근거리 3D 빔포밍
    • 5cm 보셀 그리드에서 수행되며, RTX 4090에서 12Hz의 업데이트 속도를 달성함.
    • VisPy를 사용하여 시각화함.
    원거리 2D 빔포밍
    • 512x512 픽셀 그리드를 사용하며, 12Hz의 업데이트 속도를 달성함.
    방향성 오디오
    • 시간 도메인 지연 및 합산 빔포머를 구현하여 방향성 오디오 녹음을 가능하게 함.

    녹음

    • 마이크 배열의 데이터는 UDP 패킷으로, tcpdump와 같은 도구로 녹음할 수 있음.
    • 녹음 구현의 단점은 출력 데이터 속도가 매우 높다는 것임.
  • 다음 단계

    • 이 프로젝트는 본질적으로 완료되었으며, 앞으로 추가 작업을 할 계획은 없지만, 여러 가지 확장 가능성이 있음.
    • 더 발전된 빔포밍 알고리즘 사용
    • 모든 기능을 결합한 더 나은 GUI
    • 차별 가능한 빔포밍과 신경망 모델 결합
Hacker News 의견
  • 소리 속도를 최적화하여 시스템의 최적 모델을 얻는 과정이 매우 복잡한 온도계처럼 작동함을 언급함

    • 모든 센서는 온도 센서이며, 일부는 다른 것도 측정함을 상기시킴
  • 4개의 마이크로폰을 사용하여 박쥐의 위치를 찾고 종을 식별하는 프로젝트를 수행했음

    • 풍력 터빈 설치의 환경적 영향을 연구하기 위해 사용되었음
  • TDM I2S 마이크로폰 대신 PDM을 사용한 이유에 대한 질문을 받음

    • ICS-52000이 저렴하고 여러 마이크로폰을 연결할 수 있는 보드가 있음
    • Jetson과 같은 I2S 하드웨어를 사용하면 16개의 마이크로폰을 연결할 수 있음
  • 초음파 스피커 배열과 결합하여 의료 응용에 사용하고 싶다는 의견을 제시함

    • 고강도 집속 초음파(HIFU)와 실시간 피드백을 결합한 형태를 상상함
  • 유튜브에서 음향 카메라의 인상적인 데모를 볼 수 있다고 언급함

    • FLIR과 같은 대기업들이 이 분야에 진입하고 있음을 지적함
    • 공공장소에서 대화를 녹음하고 나중에 '확대'하는 기능이 흥미롭고 소름 끼친다고 함
  • 모바일 기기에 고품질 방향성 오디오 기능이 도입되기를 바람

    • 소음 감소와 방향 감지가 보조기기와 번역기에 큰 도움이 될 것이라고 생각함
    • 주변의 모든 전화기가 협력하여 고품질 오디오를 제공할 수 있다면 좋겠다고 제안함
  • Boeing이 787 프로토타입에 사용한 구형 음향 시스템을 언급함

    • 비행기와 같은 시끄러운 상황에서 소리가 다른 위치에서 오는 것처럼 들릴 수 있음을 설명함
  • 위치 기반으로 소리를 분리하는 프로젝트가 멋질 것이라고 생각함

    • 이미지의 초점을 편집할 수 있는 라이트필드 카메라와 유사한 개념임
  • 긴 '팔' 형태의 PCB에 놀라움을 표함

    • 각 센서를 개별 PCB에 배치하고 보정으로 나머지를 처리하는 것이 더 나을 것이라고 제안함
  • 드론에서 이러한 기술이 점점 더 많이 사용되고 있음을 언급함

    • 군사적 목적으로 드론을 탐지하거나 드론 배송 회사가 저비용으로 비행기를 탐지하는 데 사용됨