-
Phased Array Microphone
- 192-चैनल phased array microphone, जो FPGA data acquisition और GPU पर beamforming/visualization सुविधाएँ प्रदान करता है। Phased array ऐसे application संभव बनाता है जो पारंपरिक directional microphone से संभव नहीं हैं, और रिकॉर्डिंग के बाद directionality को तुरंत बदला जा सकता है या एक साथ सैकड़ों हज़ार बिंदुओं पर focus किया जा सकता है.
- सभी डिज़ाइन open source के रूप में उपलब्ध हैं:
- host software
- FPGA gateware
- PCB layout और schematics, mechanical components
-
Hardware
- Phased array microphone बनाने के लिए बड़ी संख्या में microphones को चौड़े अंतराल पर व्यवस्थित करना पड़ता है। Linear array के मामले में, microphones के बीच exponential spacing broadband signals के लिए optimal है.
- कुल लागत लगभग $700 है.
Arm
- प्रत्येक arm की लंबाई PCB manufacturing और assembly की सीमाओं से निर्धारित होती है। इसे JLCPCB में निर्मित किया गया, और 4-layer PCB की अधिकतम लंबाई 570mm है.
- चुना गया microphone सबसे सस्ता digital-output MEMS microphone है, और प्रदर्शन गुणों में बड़ा अंतर नहीं है.
- यह डेटा output के लिए PDM का उपयोग करता है, और DDR को support करता है, जिससे दो microphones को एक wire पर multiplex किया जा सकता है.
- प्रत्येक arm में 8 microphones हैं जो 4 output lines साझा करते हैं, और clock input line में output buffer शामिल है.
- PCB yield अच्छी नहीं है, और सबसे आम समस्या clock line का 3V3 या ground से short हो जाना है.
Hub
- FPGA बड़ी संख्या में low-latency IO इकट्ठा कर सकता है और high-speed interface के साथ communicate कर सकता है, इसलिए इसका उपयोग data acquisition के लिए किया गया है.
- Colorlight i5 card का उपयोग किया गया है, क्योंकि इसमें पर्याप्त IO, कम कीमत, और दो integrated Ethernet PHY हैं.
- Hub में simple power management circuitry के साथ arm boards और Ethernet connectors शामिल हैं.
Mechanical Design
- Arms को M3 screws का उपयोग करके hub से जोड़ा जाता है, और PCB mounting standoffs/nuts के साथ assemble किया जाता है.
- शुरुआती डिज़ाइन में arm PCB में slots थे ताकि वे structural PCB के साथ interlock हो सकें, लेकिन अंतिम डिज़ाइन में बाहरी हिस्से को MDF से घेरा गया है और cable ties से जोड़ा गया है.
- दीवार पर लगे microphone array reflections के प्रति संवेदनशील होते हैं, इसलिए reflections कम करने के लिए acoustic foam का उपयोग किया जाता है.
-
Gateware
- Gateware का मुख्य लक्ष्य raw data को बिना loss के computer तक transmit करना है.
- FPGA पर decimation और filtering करने से data transfer rate कम हो जाती है, लेकिन raw PDM data transmit करना संभव है.
PDM Interface
- PDM input module 50MHz system clock को 16 से divide करके 3.125MHz PDM clock output करता है, और हर clock edge के बाद 96 input pins को latch करता है.
- Data rate 600Mbps है, और header सहित 700Mbps है.
Packetization
- Packetization FIFO buffer के रूप में काम करता है, और तभी packet शुरू करता है जब queue में पर्याप्त data हो, जिससे निश्चित आकार के packets सुनिश्चित होते हैं.
- 48 PDM output blocks प्रत्येक packet में शामिल होते हैं, और transmission rate 715 Mbps है.
UDP Streamer
- LiteEth project की बदौलत UDP और IP encapsulation की जटिलता abstract हो जाती है, जिससे FIFO को UDP stream से जोड़ना सरल हो जाता है.
-
Software
CIC Filter
- प्रत्येक microphone 3.125MHz पर 1-bit signal उत्पन्न करता है, जिसे अधिक व्यावहारिक sample rate और bit depth तक कम करना पड़ता है.
- 4-stage, 16x decimation CIC filter का उपयोग करके sample rate को 195kHz तक घटाया जाता है.
Calibration
- Array calibration के लिए speaker white noise चलाता है और array के सामने move करता है.
- FFT-आधारित cross-correlation का उपयोग करके microphones के बीच relative delay की गणना की जाती है.
- Source position और microphone position को optimize करके system का optimal model प्राप्त किया जाता है.
Beamforming
- Beamforming वह तरीका है जिसमें raw microphone input को process करके directional response बनाया जाता है.
- Signals को frequency domain में delay लागू करके process किया जाता है.
- 3D near-field beamformer और 2D far-field beamformer लागू किए गए हैं.
Near-field 3D Beamforming
- यह 5cm voxel grid पर किया जाता है, और RTX 4090 पर 12Hz update rate हासिल करता है.
- Visualization के लिए VisPy का उपयोग किया जाता है.
Far-field 2D Beamforming
- 512x512 pixel grid का उपयोग किया जाता है, और 12Hz update rate हासिल किया जाता है.
Directional Audio
- Time-domain delay-and-sum beamformer लागू किया गया है, जिससे directional audio recording संभव होती है.
Recording
- Microphone array का data UDP packets के रूप में होता है, जिसे
tcpdump जैसे tools से record किया जा सकता है.
- Recording implementation की कमी यह है कि output data rate बहुत अधिक है.
-
Next Steps
- यह project मूल रूप से पूरा हो चुका है, और आगे अतिरिक्त काम की कोई योजना नहीं है, लेकिन कई संभावित विस्तार मौजूद हैं.
- अधिक उन्नत beamforming algorithms का उपयोग
- सभी features को जोड़ने वाला बेहतर GUI
- differentiable beamforming और neural network models का संयोजन
1 टिप्पणियां
Hacker News राय
यह उल्लेख किया गया कि ध्वनि की गति को optimize करके सिस्टम का optimal model प्राप्त करने की प्रक्रिया एक बहुत जटिल thermometer की तरह काम करती है
4 microphones का उपयोग करके चमगादड़ों की स्थिति पता करने और उनकी species पहचानने वाला एक project किया गया था
TDM I2S microphones की बजाय PDM का उपयोग करने के कारण के बारे में पूछा गया
ultrasonic speaker array के साथ जोड़कर इसे medical applications में उपयोग करने की इच्छा व्यक्त की गई
यह उल्लेख किया गया कि YouTube पर acoustic cameras के प्रभावशाली demos देखे जा सकते हैं
mobile devices में high-quality directional audio feature आने की इच्छा जताई गई
Boeing द्वारा 787 prototype में उपयोग किए गए spherical acoustic system का उल्लेख किया गया
यह सोचा गया कि location-based sound separation वाला project शानदार होगा
लंबे 'arm' आकार के PCB पर आश्चर्य व्यक्त किया गया
यह उल्लेख किया गया कि drones में इस तकनीक का उपयोग बढ़ता जा रहा है