GN⁺: 위상 배열 마이크로폰 (2023)
(benwang.dev)-
위상 배열 마이크
- 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에 배치하고 보정으로 나머지를 처리하는 것이 더 나을 것이라고 제안함
-
드론에서 이러한 기술이 점점 더 많이 사용되고 있음을 언급함
- 군사적 목적으로 드론을 탐지하거나 드론 배송 회사가 저비용으로 비행기를 탐지하는 데 사용됨